Beerpal Skrevet 29. desember 2022 Skrevet 29. desember 2022 (endret) Hei. Jeg sitter fast i et lite problem med skript. Først så kjøres denne. Sub Main(Parm As Object) ' Declare result, max, and min as variables Dim result As Double Dim max As Double Dim min As Double ' Get max and min values from devices 140 and 141 max = hs.DeviceValue(140) min = hs.DeviceValue(141) ' Calculate the result of the expression result = hs.DeviceValue(138) - hs.DeviceValue(104) + hs.DeviceValue(137) ' Check if the result is less than min If result < min Then ' Set the result to min if it is less than min result = min End If ' Check if the result is greater than max If result > max Then ' Set the result to max if it is greater than max result = max End If ' Set devices to the result hs.SetDeviceValue(143, result, true) End Sub Når jeg kjører dette scriptet så får jeg denne feilen: 30.12.2022 12:36:18 HomeSeer Error 0 Running script: Målet forårsaket et unntak under aktivering. 30.12.2022 12:36:18 HomeSeer Event Running script in background (Uteregluert shunt beregning): Shunt.vb Hva gjør jeg feil? 🤨 Endret 30. desember 2022 av Beerpal Siter
Beerpal Skrevet 30. desember 2022 Forfatter Skrevet 30. desember 2022 (endret) Hei. Har endret innlegget etter og ha testet litt og har endret fra hs.SetDeviceString til hs.SetDeviceValue. Men nå kommer det andre feil. etter jeg kjørte hs.SetDeviceString "" for å nulle ut. ?? Takker og bukker for all hjelp jeg kan få Endret 30. desember 2022 av Beerpal Siter
Moskus Skrevet 2. januar 2023 Skrevet 2. januar 2023 Beerpal skrev (På 30.12.2022 den 12.41): Men nå kommer det andre feil. etter jeg kjørte hs.SetDeviceString "" for å nulle ut. ?? Hvilke andre feil? Siter
Beerpal Skrevet 2. januar 2023 Forfatter Skrevet 2. januar 2023 (endret) En annen feil skulle det stå 😅 Fra log: "Error 0 Running script: Målet forårsaket et unntak under aktivering." Jeg forstår ikke hva som er feil. hs.SetDeviceValue(143, result, true) Jeg har prøvd å opprette ny annen virtual device og får samme feilen. Endret 2. januar 2023 av Beerpal Siter
Beerpal Skrevet 3. januar 2023 Forfatter Skrevet 3. januar 2023 (endret) Mere feilsøking: Sub Main(Parm As Object) On Error Resume Next ' Declare result, max, and min as variables Dim result As Double Dim max As Double Dim min As Double ' Get max and min values from devices 140 and 141 max = hs.DeviceValue(140) min = hs.DeviceValue(141) ' Calculate the result of the expression result = hs.DeviceValue(138) - hs.DeviceValue(104) + hs.DeviceValue(137) ' Check if the result is less than min If result < min Then ' Set the result to min if it is less than min result = min End If ' Check if the result is greater than max If result > max Then ' Set the result to max if it is greater than max result = max End If ' Add a debug message to the event logs hs.WriteLog("Script", "Result: " & result) ' Set devices to the result hs.SetDeviceValue(143, CStr(result), true) If Err.Number <> 0 Then ' An error occurred hs.WriteLog("Script", "Error: " & Err.Number & " - " & Err.Description) End If On Error GoTo 0 End Sub nå vises: Error: 438 - Overbelastningsoppløsning mislyktes fordi ingen tilgjengelig SetDeviceValue godtar dette antallet argumenter. Finner forsatt ikke ut hva som er feilen. Det jeg ønsker er at verdien av "result" skal skrives på device 143 Endret 3. januar 2023 av Beerpal Siter
Christoffer Skrevet 3. januar 2023 Skrevet 3. januar 2023 (endret) I følge manualen så skal du kun ha to argumenter på hs.SetDeviceValue Du vil sikkert bruke hs.SetDeviceValueByRef? http://help.homeseer.com/help/HS3/static/#.setdevicevaluebyref Endret 3. januar 2023 av Christoffer La ved link til dokumentasjon 1 Siter
Beerpal Skrevet 3. januar 2023 Forfatter Skrevet 3. januar 2023 Christoffer skrev (8 timer siden): I følge manualen så skal du kun ha to argumenter på hs.SetDeviceValue Du vil sikkert bruke hs.SetDeviceValueByRef? http://help.homeseer.com/help/HS3/static/#.setdevicevaluebyref Tusen takk for hjelpen! så enkelt var det. bruker nå hs.SetDeviceValueByRef. Siter
Moskus Skrevet 5. januar 2023 Skrevet 5. januar 2023 Beerpal skrev (På 2.1.2023 den 15.01): En annen feil skulle det stå 😅 Fra log: "Error 0 Running script: Målet forårsaket et unntak under aktivering." Jeg forstår ikke hva som er feil. hs.SetDeviceValue(143, result, true) Jeg har prøvd å opprette ny annen virtual device og får samme feilen. Funksjonen du leter etter er: hs.SetDeviceValueByRef(143, result, True) ... merk at den avslutter med ByRef. EDIT: Det lønner seg å lese hele tråden før man svarer! Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.