Moskus Skrevet 27. mars 2017 Del Skrevet 27. mars 2017 Et script jeg bruker til å sjekke om hvilke dører eller vinduer som er åpne, og sender en email/push-melding med den beskjeden på egnede tidspunkter (som f.eks. når alarmen blir skrudd på eller huset går over i natt-modus). Du må endre (minst) tre linjer, og det er hhv. "Dim rfxcom() as Integer..." og "Dim zwave() as integer..." og nederst "hs.SendEmail...". Jeg sender push-meldinger til Pushalot og/eller PushSafer (hvor sistnevnte snart får en plugin). CheckDoorsAndWindows.vb Sub Main(ByVal input As Object) Dim lst As New System.Collections.Generic.List(Of String) Dim closedStatus As Integer = 100 'RFXCOM devices Dim rfxcom() As Integer = {41, 1188, DINE RFXCOM-SENSORER HER KOMMASEPARERT} closedStatus = 2 For Each d As Integer In rfxcom If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next 'Zwave devices Dim zwave() As Integer = {450, 545, DINE Z-WAVE-SENSORER HER KOMMASEPARERT} closedStatus = 255 For Each d As Integer In zwave If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next If lst.Count > 0 Then Dim msg As String = "Følgende vinduer er åpne: " & vbNewLine msg &= String.Join(vbNewLine, lst) hs.SendEmail("TIL_HVEM@epost.com", "FRA_HS#@epost.com", "", "", "HS3: Åpne vinduer/dører!", msg, "") Else hs.WriteLog("Vindu/dører", "Alle er lukket") End If End Sub 1 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
gullfrode Skrevet 3. mai 2017 Del Skrevet 3. mai 2017 Sub Main(ByVal input As Object) Dim lst As New System.Collections.Generic.List(Of String) Dim closedStatus As Integer = 100 'RFXCOM devices Dim rfxcom() As Integer = {} closedStatus = 2 For Each d As Integer In rfxcom If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next 'Zwave devices Dim zwave() As Integer = {454,878,885,896} closedStatus = 255 For Each d As Integer In zwave If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next If lst.Count > 0 Then Dim msg As String = "Følgende vinduer er åpne: " & vbNewLine msg &= String.Join(vbNewLine, lst) hs.plugin("Pushover (3P)").PushMessage("HS3: Åpne vinduer/dører!", msg, "") Else hs.WriteLog("Vindu/dører", "Alle er lukket") End If End Sub Får feilmelding Running script C:\Program Files (x86)\HomeSeer HS3\scripts\CheckDoorsAndWindows.vb :Målet forårsaket et unntak under aktivering.Finner ikke "Public"-medlem plugin på typen hsapplication. ved kjøring av script. Lagt inn Pushover-plugin og sjekket at den fungerer ved å lage en event. Skjønner at det er feil i pushover-kommandoen, bare ikke hva jeg skal gjøre:) Snervei til Pushover 3P-Tråd, call-kommando i første post.https://forums.homeseer.com/showthread.php?t=160996 Alle har 0 Off-Closed-No Motion og 255 On-Open-Motion Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
ZoRaC Skrevet 3. mai 2017 Del Skrevet 3. mai 2017 Jeg bruker Pushover fra script slik: Sitat Dim pushArr(7) As Object pushArr(0) = identifier pushArr(1) = message pushArr(2) = "HomeSeer" pushArr(3) = pri pushArr(4) = Nothing pushArr(5) = Nothing pushArr(6) = Nothing pushArr(7) = Nothing hs.PluginFunction("Pushover 3P", "", "Pushscript", pushArr) Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
gullfrode Skrevet 3. mai 2017 Del Skrevet 3. mai 2017 Skjønner ikke bæra(men setter stor pris på hjelpen så langt), teskjemetoden må til her. mai-04 00.17.05 Error 1 Running script C:\Program Files (x86)\HomeSeer HS3\scripts\CheckDoorsAndWindows.vb :Målet forårsaket et unntak under aktivering.Overbelastningsoppløsning mislyktes fordi ingen tilgjengelig PluginFunction godtar dette antallet argumenter. Sub Main(ByVal input As Object) Dim lst As New System.Collections.Generic.List(Of String) Dim closedStatus As Integer = 100 'RFXCOM devices Dim rfxcom() As Integer = {} closedStatus = 2 For Each d As Integer In rfxcom If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next 'Zwave devices Dim zwave() As Integer = {454,878,885,896} closedStatus = 255 For Each d As Integer In zwave If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next If lst.Count > 0 Then Dim msg As String = "Følgende vinduer er åpne: " & vbNewLine msg &= String.Join(vbNewLine, lst) hs.PluginFunction("Pushover 3P", "", "HS3: Åpne vinduer/dører!", msg, "") Else hs.WriteLog("Vindu/dører", "Alle er lukket") End If End Sub Prøve å sette inn Dim pushArr... delen her og der og, men fikk bare flere feilmeldinger. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Moskus Skrevet 4. mai 2017 Forfatter Del Skrevet 4. mai 2017 Hvor har du dette fra: hs.plugin("Pushover (3P)").PushMessage("HS3: Åpne vinduer/dører!", msg, "") Det fungerer ikke slik i HS3. Dette er HS2 Prøv å erstatt denne linjen: hs.PluginFunction("Pushover 3P", "", "HS3: Åpne vinduer/dører!", msg, "") Med dette: Dim pushArr(7) As Object pushArr(0) = identifier DENNE MÅ DU FINNE UT AV pushArr(1) = msg pushArr(2) = "HomeSeer" pushArr(3) = pri DENNE MÅ DU FINNE UT AV pushArr(4) = Nothing pushArr(5) = Nothing pushArr(6) = Nothing pushArr(7) = Nothing hs.PluginFunction("Pushover 3P", "", "Pushscript", pushArr) Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
ZoRaC Skrevet 4. mai 2017 Del Skrevet 4. mai 2017 Ser jeg var litt kjapp til å poste, så ikke at det var et par variabler der... identifier = enheten som skal motta varslet pri = low, normal, high, emergency (og et par til) msg = meldingen Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
gullfrode Skrevet 4. mai 2017 Del Skrevet 4. mai 2017 Takk for hjelpen! Da ble det slik(endre closed-status til 0 siden alle dør/vindussensorene mine har 0 Off-Closed-No Motion) Sub Main(ByVal input As Object) Dim lst As New System.Collections.Generic.List(Of String) Dim closedStatus As Integer = 100 'RFXCOM devices Dim rfxcom() As Integer = {} closedStatus = 2 For Each d As Integer In rfxcom If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next 'Zwave devices Dim zwave() As Integer = {454,878,885,896,903} closedStatus = 0 For Each d As Integer In zwave If hs.DeviceValue(d) <> closedStatus Then Dim dev As Scheduler.Classes.DeviceClass = hs.GetDeviceByRef(d) lst.Add(dev.Location2(hs) & " " & dev.Location(hs) & " " & dev.Name(hs)) End If Next If lst.Count > 0 Then Dim msg As String = "Følgende vinduer er åpne: " & vbNewLine msg &= String.Join(vbNewLine, lst) Dim pushArr(7) As Object pushArr(0) = "All Clients" pushArr(1) = msg pushArr(2) = "HomeSeer" pushArr(3) = Nothing pushArr(4) = Nothing pushArr(5) = Nothing pushArr(6) = Nothing pushArr(7) = Nothing hs.PluginFunction("Pushover 3P", "", "Pushscript", pushArr) Else hs.WriteLog("Vindu/dører", "Alle er lukket") End If End Sub Poster senere omskrevet for vann/røyksensorene jeg har, hovedsakelig pga. vannsensorene jeg begynte med galskapen her:P Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
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.