Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Litt skripting hjelp.


Beerpal

Anbefalte innlegg

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 av Beerpal
Lenke til kommentar
Del på andre sider

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 av Beerpal
Lenke til kommentar
Del på andre sider

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 av Beerpal
Lenke til kommentar
Del på andre sider

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 av Beerpal
Lenke til kommentar
Del på andre sider

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! :P 

Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.