Gå til innhold

Homeseer IF ELSE


Anbefalte innlegg

Prøver å lage et script som sjekker luftfuktighet og skal sette en verdi på en dimmer (motorkontroller) utifra det, men skjønner ikke helt hvordan det skal gjøres.

 

Har prøvd litt ymse, siste forsøk ser slik ut og virker ikke.

 

Den henter riktig verdi fra device 27, men logikken virker ikke (compiler feil)

Sub Main (ByVal Parms As Object)
Dim fuktighet as Double = hs.DeviceValue(27)
if fuktighet > 70 then
hs.SetDevice("T1", 100)
else if
if fuktighet < 50 & fuktighet > 79 then
hs.SetDevice("T1", 60) 
else if
if fuktighet < 40 & fuktighet > 49 then
hs.SetDevice("T1", 40)
else if
if fuktighet < 20 & fuktighet > 39 then
hs.SetDevice("T1", 30)
else if
if fuktighet < 0 & fuktighet > 19 then
hs.SetDevice("T1", 20)
end if
 
End Sub
Endret av Actibus
Lenke til kommentar
Videoannonse
Annonse

Aaaaah! Først google "vb.net if else"... ;)

 

Prøv dette istedenfor:

    Sub Main(ByVal Parms As Object)
        Dim fuktighet As Double = hs.DeviceValue(27)
        If fuktighet > 70 Then
            hs.SetDeviceValueByRef(27, 100, True)
        ElseIf fuktighet <= 50 AndAlso fuktighet > 79 Then
            hs.SetDeviceValueByRef(27, 60, True)
        ElseIf fuktighet <= 40 AndAlso fuktighet > 49 Then
            hs.SetDeviceValueByRef(27, 40, True)
        ElseIf fuktighet <= 20 AndAlso fuktighet > 39 Then
            hs.SetDeviceValueByRef(27, 30, True)
        ElseIf fuktighet <= 0 AndAlso fuktighet > 19 Then
            hs.SetDeviceValueByRef(27, 20, True)
        End If
    End Sub

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...