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

Sector alarmstatus i Homeseer


Christoffer

Anbefalte innlegg

Hei

 

Etter disse postene 

Og hjelp av @Perri til å få hvilke data som blir sendt til og fra Sector så har jeg laget et lite script som jeg bruker. Det har vært lagt ut i overstående tråd også men da med litt rester etter kjapp testing ;) Har rensket det for undøvendig og feilnavngiving nå og tenkte å dele det med andre.

 

 ' Henter status fra Sector alarm
Public Sub Main(Parm As Object)

dim devicenumber as integer = 160 'Devicen som skal kontrolleres

dim debug as integer = 0 'Sett denne til 1 for å få data fra scriptet i loggen

    Dim sourcecode As String

    Dim sourceString As String = New System.Net.WebClient().DownloadString("https://panelapi.sectoralarm.net/MobileAppWS.svc/PanelStatus?userName=<BRUKERNAVN>&password=<PASSORD>&panel=<PANELID>")


        sourceString = replace(sourceString, "{", "")
        sourceString = replace(sourceString, "}", "")
        
        Dim arr1 As String() = sourceString.Split(New Char() {","c})
        Dim arr2 As String() = arr1(0).Split(New Char() {":"c})


        arr2(1) = Replace(arr2(1), chr(34), "")

        If arr2(1) = "disarmed" Then
if debug = 1 then

            hs.WriteLog("Alarmstatus", "Alarm av")
end if
            hs.SetDeviceValueByRef(devicenumber, 0, True)

        ElseIf arr2(1) = "armed" Then
if debug = 1 then

            hs.WriteLog("Alarmstatus", "Alarm på")
end if
            hs.SetDeviceValueByRef(devicenumber, 2, True)

        ElseIf arr2(1) = "partialarmed" Then
if debug = 1 then
            hs.WriteLog("Alarmstatus", "Skallsikring")
end if
            hs.SetDeviceValueByRef(devicenumber, 1, True)

        End If


End Sub

 

 

alarm.PNG

Endret av christofferraa
  • Like 5
Lenke til kommentar
Del på andre sider

  • 1 år senere...

Hei, 

Første-reis med hensyn på script, så "bare with me" :)

 

Kjører jeg https adressen i nettleseren min, med brukernavn, passord og panelID så fungerer det fint.
Men det ser ikke ut til at HS klarer å få inn info, så et eller annet sted gjør jeg feil.

Dette har jeg gjort:
1: Lagt "sector.txt" i /script-mappen. (Direkte kopi fra tråden her, kun endret device ID, brukernavn, passord og panelID

2: Laget en device i HS jeg har gitt navnet "alarm status", denne har device ID 126.

3: Lagt inn Value 0, 1 og 2 på Status Graphics

 

Så "noe" har jeg ikke fått til :) Noen som kan hjelpe meg videre? Mistenker det er noe innenfor "events" jeg ikke har/har gjort riktig?

5b267bda30bda_ScreenHunter124.thumb.png.801d53ef1fc83de05e7ddc9471f79d52.png

ScreenHunter-125.thumb.jpg.f4dd1d698a3c283fd83b8ffc50db816e.jpg

ScreenHunter-126.thumb.jpg.3e98d4282611b78d433d68ba0b5ef4f9.jpg

 

Testet med skallsikring, siden vi er hjemme :)

 

 

Lenke til kommentar
Del på andre sider

31 minutter siden, ZoRaC skrev:

Sier loggen noe?

Hvilket OS kjører serveren?

 

Kjører windows 7.

Fant dette i loggen, men skal lete om jeg finner noe mer.
Tror det var der jeg prøvde å kjøre en event manuelt, ut i fra en beskrivelse jeg fant et annet sted, men som ikke hjalp :)

5b26a1f685c6a_Skjermbilde2018-06-17kl_19_56_43.thumb.png.4c1e3435fd981e029e3a203d40819b23.png

Lenke til kommentar
Del på andre sider

Her er scriptet.

Tatt ut konto, passerd og panelID

Spoiler

' Henter status fra Sector alarm
Public Sub Main(Parm As Object)

dim devicenumber as integer = 126 'Devicen som skal kontrolleres

dim debug as integer = 0 'Sett denne til 1 for � f� data fra scriptet i loggen

    Dim sourcecode As String

    Dim sourceString As String = New System.Net.WebClient().DownloadString("https://panelapi.sectoralarm.net/MobileAppWS.svc/PanelStatus?userName=MIN-KONTO&password=MITT-PASSORD&panel=MIN-PANEL-ID")


        sourceString = replace(sourceString, "{", "")
        sourceString = replace(sourceString, "}", "")
        
        Dim arr1 As String() = sourceString.Split(New Char() {","c})
        Dim arr2 As String() = arr1(0).Split(New Char() {":"c})


        arr2(1) = Replace(arr2(1), chr(34), "")

        If arr2(1) = "disarmed" Then
if debug = 1 then

            hs.WriteLog("Alarmstatus", "Alarm av")
end if
            hs.SetDeviceValueByRef(devicenumber, 0, True)

        ElseIf arr2(1) = "armed" Then
if debug = 1 then

            hs.WriteLog("Alarmstatus", "Alarm på")
end if
            hs.SetDeviceValueByRef(devicenumber, 2, True)

        ElseIf arr2(1) = "partialarmed" Then
if debug = 1 then
            hs.WriteLog("Alarmstatus", "Skallsikring")
end if
            hs.SetDeviceValueByRef(devicenumber, 1, True)

        End If


End Sub

 

Lenke til kommentar
Del på andre sider

Mulig :)

Endret nå. Her er ny logg.

image.png.8502ea1265a1075628ddfbffe20f595d.png

 

Men tror fortsatt event-biten er feil. Vet egentlig ikke hva jeg skal gjøre der.. bare prøvd meg litt frem. Tenkte at det burde være noe der som leste av status :)

Så om noen som har dette oppe å kjører deler sin event-side blir jeg glad :) Her er min, ikke-fungerende..

 

image.png.befc3d6e5dff6672a4976316c240ab2b.png

 

Lenke til kommentar
Del på andre sider

Ok. Hvordan? Jeg beklager, men er helt grønn. 
Skal lage en "how-to" for neste grønne bruker når min fungerer :) 

Trykker jeg på pila for å kjøre scriptet manuelt, så står det i logg at den gjør det, men jeg får ikke opp noen ny dato/tid på device, så da antar jeg at den ikke har klart å oppdatere den?

 

Lenke til kommentar
Del på andre sider

Akkurat nå, Andreaz skrev:

Ok. Hvordan? Jeg beklager, men er helt grønn. 

 

Mener det heter «a recurring trigger» (en av de øverste). De kan du sette «run every 2 min». 

 

1 minutt siden, Andreaz skrev:

Trykker jeg på pila for å kjøre scriptet manuelt, så står det i logg at den gjør det, men jeg får ikke opp noen ny dato/tid på device, så da antar jeg at den ikke har klart å oppdatere den?

 

Det skyldes den nederste haken her :) 

3 timer siden, Andreaz skrev:

 

5b267bda30bda_ScreenHunter124.thumb.png.801d53ef1fc83de05e7ddc9471f79d52.png

 

Prøv å endre alarmen (slå av eller på skallsikring) og så bruk «run-knappen». Da skal devicen endre seg. :) 

Lenke til kommentar
Del på andre sider

Jaggu :) Nå ser det ut til å fungere bedre :)
Satt den på 2 minutter. Aner jo ikke hva sector har for trigger på for mange requests :)

 

MEN, det kan jo være en Sector "feature".. Slå på skallsikring (folk er hjemme her :) ) og slo av å ventet minst 2 minutter.
Sector appen oppdaterte seg, men ikke den direkte linken som scriptet bruker... den linken er ellers super-rask sammenlignet med hvor lang tid appen oppdaterer seg...

Ventet å ventet, men ikke før jeg låste opp døra inneifra fikk kona melding om at skallsikring var frakoblet og HST oppdaterte seg samtidig...

 

Tusen takk for hjelpen!

 

Så for viderekommende: Hvordan får jeg til å trykke på iconet i HST, få en popup som kjører "arm" og "disarm" :) 
Skjønner i teorien hva som må gjøres, at den knappen får en "ActionWhenReleased" "Screen: Show another screen on top..." for så å legge inn en ny "Alarm på/Alarm av" screen :)
 

Og for mer gøy, kanskje @Perri har klart å sniffe ut status-adressen til Yale Doorman for de som har Sector også? Den viser jo status i Sector appen :)

Endret av Andreaz
Lenke til kommentar
Del på andre sider

Prøvd følgende for å slå av alarm:

Knapp i HST som kjører denne kommandoen:

image.png.b3e72c076f5c654a05cd95b83671c267.png

 

og sector - AV.vb ser slik ut:

Spoiler

sub main()

dim page

page = hs.GetURL("https://panelapi.sectoralarm.net/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX","/",TRUE,80)
msgbox page

end sub

Etter å ha fulgt oppskrift på Homeseer.com

 

Får følgende feil i logg:

image.png.03e334c20dfe8ca082d8c4bc676f689d.png

 

Lenke til kommentar
Del på andre sider

6 minutter siden, Andreaz skrev:

og sector - AV.vb ser slik ut:

  Vis skjult innhold

sub main()

dim page

page = hs.GetURL("https://panelapi.sectoralarm.net/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX","/",TRUE,80)
msgbox page

end sub

Etter å ha fulgt oppskrift på Homeseer.com

 

Det bør nok bli noe slikt:

hs.GetURL("panelapi.sectoralarm.net", "/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX",TRUE,443)

 

eller

hs.URLAction("https://panelapi.sectoralarm.net/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX", "GET", "", "")
Lenke til kommentar
Del på andre sider

4 minutter siden, ZoRaC skrev:

 

Det bør nok bli noe slikt:

hs.GetURL("panelapi.sectoralarm.net", "/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX",TRUE,443)

 

eller


hs.URLAction("https://panelapi.sectoralarm.net/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX", "GET", "", "")

Kun den hs.GetURL linja, eller inne i det eksempel-scriptet jeg hadde med?

Lenke til kommentar
Del på andre sider

Akkurat nå, Andreaz skrev:

Kun den hs.GetURL linja, eller inne i det eksempel-scriptet jeg hadde med?

 

Sub Main()

hs.URLAction("https://panelapi.sectoralarm.net/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX", "GET", "", "")

End Sub

 

Tror jeg. :) 

Lenke til kommentar
Del på andre sider

3 minutter siden, ZoRaC skrev:

 

Sub Main()


hs.URLAction("https://panelapi.sectoralarm.net/MobileAppWS.svc/disarm?userName=XXXX&password=XXXX&panel=XXXX&disarmCode=XXXX", "GET", "", "")

End Sub

 

Tror jeg. :) 

Supert at du pøser på med forsøk :)
Får fortsatt feilmelding, men en ny. Kanskje det kan gi hint til løsning:

image.png.d6931aa7ef260548b644424239d6ee8f.png

Lenke til kommentar
Del på andre sider

1 minutt siden, Andreaz skrev:

Supert at du pøser på med forsøk :)
Får fortsatt feilmelding, men en ny. Kanskje det kan gi hint til løsning:

image.png.d6931aa7ef260548b644424239d6ee8f.png

 

Ser ut til at «page» fortsatt er nevnt i scriptet? Scriptet skal bare bestå av de 3 linjene jeg skrev over. :) 

Lenke til kommentar
Del på andre sider

10 minutter siden, ZoRaC skrev:

 

Ser ut til at «page» fortsatt er nevnt i scriptet? Scriptet skal bare bestå av de 3 linjene jeg skrev over. :) 

(Hvor er facepalm emojien ... :) )
Fjernet, tett etterfulgt av en ny feilmelding:

image.png.05c67d377567c0b761fb5fc76d63b163.png

Her er screenshot av scriptet, for å unngå flere skrivefeil....

image.thumb.png.f40ace2d39665ac0490659f08dd60bac.png

XXXX lagt inn for screenshot så klart :D:D 

 

Tror kanskje jeg må vente på at noen andre med sector sjekker linken.. for prøver jeg å legge den inn i nettleseren, fra https til og med disarmcode så får jeg feilmelding om "Failed to disarm"...  må kanskje klare meg med kun status inntil videre :) 

image.png.f0d6e0652faa89a94bab2d76346e5e86.png

Endret av Andreaz
Lenke til kommentar
Del på andre sider

  • 3 måneder senere...
On 5/18/2017 at 12:25, Christoffer said:

Hei

 

Etter disse postene 

Og hjelp av @Perri til å få hvilke data som blir sendt til og fra Sector så har jeg laget et lite script som jeg bruker. Det har vært lagt ut i overstående tråd også men da med litt rester etter kjapp testing ;) Har rensket det for undøvendig og feilnavngiving nå og tenkte å dele det med andre.

 


 ' Henter status fra Sector alarm
Public Sub Main(Parm As Object)

dim devicenumber as integer = 160 'Devicen som skal kontrolleres

dim debug as integer = 0 'Sett denne til 1 for å få data fra scriptet i loggen

    Dim sourcecode As String

    Dim sourceString As String = New System.Net.WebClient().DownloadString("https://panelapi.sectoralarm.net/MobileAppWS.svc/PanelStatus?userName=<BRUKERNAVN>&password=<PASSORD>&panel=<PANELID>")


        sourceString = replace(sourceString, "{", "")
        sourceString = replace(sourceString, "}", "")
        
        Dim arr1 As String() = sourceString.Split(New Char() {","c})
        Dim arr2 As String() = arr1(0).Split(New Char() {":"c})


        arr2(1) = Replace(arr2(1), chr(34), "")

        If arr2(1) = "disarmed" Then
if debug = 1 then

            hs.WriteLog("Alarmstatus", "Alarm av")
end if
            hs.SetDeviceValueByRef(devicenumber, 0, True)

        ElseIf arr2(1) = "armed" Then
if debug = 1 then

            hs.WriteLog("Alarmstatus", "Alarm på")
end if
            hs.SetDeviceValueByRef(devicenumber, 2, True)

        ElseIf arr2(1) = "partialarmed" Then
if debug = 1 then
            hs.WriteLog("Alarmstatus", "Skallsikring")
end if
            hs.SetDeviceValueByRef(devicenumber, 1, True)

        End If


End Sub

 

 

alarm.PNG

 

Hvordan finner man sin PANELID? Eller devicenr? 

 

Rune

 

 

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.