+ Antworten
Seite 2 von 4 ErsteErste 1 2 3 4 LetzteLetzte
Ergebnis 11 bis 20 von 34
  1. #11
    Registriert seit
    May 2010
    Ort
    Munich
    Beiträge
    85

    Zitat Zitat von hrahlers Beitrag anzeigen
    Naja Schnittstelle. .. Ich versuche nur ein paar Sachen auszulesen, die ich in IPS weiter verwenden kann wie die Tür- und Fensterkontakte der Lupusec. Nun auch ohne ständig zu pollen, sondern nur bei Statusänderung in der AA, wenn z.B. jemand die Tür aufmacht wird das an IPS gesendet und dort der Status aktualisiert. Ist zwar eher eine Krückenlösung (via Contact-ID und Automations-Regeln auf der Lupusec), aber diese funktioniert und meine Zwecke sind (vorläufig) erfüllt. Klappt mit ein paar Sekunden Verzögerung ganz gut.
    Wie hast du hinbekommen mittels contact id Nachrichten an ips zu senden?


    Gesendet von iPhone mit Tapatalk
    HUE+, KNX++, Symbox, (Homematic), Netatmo

  2. #12
    Registriert seit
    Aug 2009
    Ort
    Meißen
    Beiträge
    292

    Hallo,

    ich habe auch eine Lupusec XT1 Alarmanlage und möchte gern die Contact-ID Nachrichten mit IPS auswerten! Der Empfang mittels eines Serversocket in IPS klappt auch nur leider kann ich die Bestätigung zur Anlage nicht senden.

    Woher weiß IPS wenn ich den Befehl
    PHP-Code:
    SSCK_SendText($ID,$Text); 
    ausführe wohin (Ziel-IP) die Daten gesendet werden?

    MfG Tommy
    Irren ist menschlich. Aber wenn man richtig Mist bauen will, braucht man einen Computer. (Dan Rather, CBS-Fernsehreporter)

  3. #13
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    629

    Moin,

    Wie hast du hinbekommen mittels contact id Nachrichten an ips zu senden?
    in Kurzform:

    • in der AA unter Einstellungen -> Contact-ID eine Reporting-URL eingetragen , z.B. ip://1234@192.168.10.20:4711/CID (die 1234 ist egal, Haupsache vierstellig)
    • habe bei mir alle Ereignisse ausgewählt
    • im IPS einen Server-Socket erstellen mit Port 4711 (den aus der AA)
    • ein Script erstellen (s.u.)
    • eine Reg-Var anlegen für den Socket und mit dem Script verbinden



    RegVar-Script (String-Variable anlegen -> hier 39290)

    PHP-Code:
    <?
    $id_satz 
    39290 /*[Alarmanlage\Contact_ID\Datensatz]*/;

    $datensatz $_IPS['VALUE'];
    $datensatz str_replace('['''$datensatz);
    $datensatz str_replace(' '''$datensatz);

    $satz substr($datensatz015);
    SetValue($id_satz$satz);

    ?>
    Damit wird der ankommende Satz aufbereitet, so dass nur nur Ziffern enthalten sind. Durch weitere Zerlegung kann man dann weitere Infos daraus gewinnen, wie den auslösenden Benutzer, das Event, die Area.

    Beispiel 1: 123418160200000
    • 1234 - ist immer gleich, entspricht bei Aufschaltung bei einem Wachdienst der Kundennummer
    • 18 - Nachrichtentyp ist Contact-ID
    • 1602 - zyklische Alive-Statusmeldung (AA lebt noch)
    • 00 - Area (hier keine spezielle)
    • 000 - Benutzer System


    Beispiel 2: 123418340701002
    • 1234 - ist immer gleich, entspricht bei Aufschaltung bei einem Wachdienst der Kundennummer
    • 18 - Nachrichtentyp ist Contact-ID
    • 3407 - Scharfschaltung
    • 01 - Area 1
    • 002 - Benutzer 2 (in der AA unter Home -> Pin-Codes)


    Beispiel 3: 123418140702006
    • 1234 - ist immer gleich, entspricht bei Aufschaltung bei einem Wachdienst der Kundennummer
    • 18 - ist immer gleich, Nachrichtentyp ist Contact-ID
    • 1407 - Unscharfschaltung
    • 02 - Area 2
    • 006 - Benutzer 6 (in der AA unter Home -> Pin-Codes)


    Beispiel 4: 123418176000000
    • 1234 - ist immer gleich, entspricht bei Aufschaltung bei einem Wachdienst der Kundennummer
    • 18 - ist immer gleich, Nachrichtentyp ist Contact-ID
    • 1760 - Automationsregel wurde ausgeführt
    • 00 - Area (hier keine spezielle)
    • 000 - Benutzer System


    Als weitere Aktionen generiere ich mir Push-Nachrichten mit den gewonnenen Infos und setze eine Statusvariable im IPS für die entsprechende Area auf true/false.


    ... nur leider kann ich die Bestätigung zur Anlage nicht senden ...
    Das habe ich auch noch nicht herausgefunden. Ist für meine Zwecke auch egal, da ich nur unterbinden wollte, dass IPS zyklisch die Anlage abfragt. Mittels der obigen Lösung meldet sich die AA, wenn etwas passiert. Im Log der AA sammeln sich daher Fehlermeldungen, dass die Contact-ID-Meldungen nicht bestätigt wurden.

    Eine Übersicht als Leitfaden für die Codes im Anhang.
    Angehängte Grafiken Angehängte Grafiken
    Geändert von hrahlers (09.12.16 um 15:07 Uhr)
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.3, Windows x64, 28.11.2019, 321402ec4fe0 - virt. W2k8 R2, CCU2, HM-Funk-und Wired-Komponenten, Tasmota-Geräte, FB7390 (Telefonie), 1-wire-Temp.fühler, Pokeys, RPi, Sophos-UTM, Ubiquiti-APs

  4. #14
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    629

    Standard Benutzer und PINs sowie deren Berechtigungen einer Area auslesen

    PHP-Code:
    <?

    $username 
    GetValue(35633 /*[Alarmanlage\Basisdaten\Benutzer]*/);
    $password GetValue(46457 /*[Alarmanlage\Basisdaten\Passwort]*/);
    $url_base 'https://'.GetValue(55395 /*[Alarmanlage\Basisdaten\IP-Adresse]*/).'/';
    $area 1;

    // Login
    $ch curl_init();
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    curl_setopt($chCURLOPT_SSL_VERIFYHOSTFALSE);
    curl_setopt($chCURLOPT_URL$url_base);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_USERPWD"$username:$password");
    curl_exec ($ch);


    $ergebnis $url_base."/action/userCodeGet?area={$area}";
    curl_setopt($chCURLOPT_URL,$ergebnis);
    $result=curl_exec ($ch);
    //echo $result;
    curl_close ($ch);

    $result str_replace("\t"""$result);
    $json json_decode($resulttrue);
    //print_r($json);


    for ($i=1$i<11$i++)
        {
        
    $users[$i] = array(
        
    'code' => $json['forms']['ucform']['code_'.$i],
         
    'name' => $json['forms']['ucform']['name_'.$i],
        
    'valid' => $json['forms']['ucform']['valid_'.$i],
        
    'arm' => $json['forms']['ucform']['can_arm_'.$i],
        
    'disarm' => $json['forms']['ucform']['can_disarm_'.$i],
        
    'melden' => $json['forms']['ucform']['latch_'.$i]);
        }
        
    print_r($users);
    ?>
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.3, Windows x64, 28.11.2019, 321402ec4fe0 - virt. W2k8 R2, CCU2, HM-Funk-und Wired-Komponenten, Tasmota-Geräte, FB7390 (Telefonie), 1-wire-Temp.fühler, Pokeys, RPi, Sophos-UTM, Ubiquiti-APs

  5. #15
    Registriert seit
    Dec 2016
    Beiträge
    563

    Hi,
    kann man aus der Lupusec XT2 Plus auch die Ereignisse, Benachrichtigungen und systemlogs anzeigen lassen?
    Geändert von Stefan71 (04.02.17 um 19:37 Uhr)

  6. #16
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    629

    Geht. Im Bereich "URLs" die gewünschte Anzeige aktivieren.

    PHP-Code:
    <?

    $username     
    GetValue(35633 /*[IPS - Zentrale Angaben\Basisdaten\Alarmanlage\Benutzer]*/);
    $password     GetValue(46457 /*[IPS - Zentrale Angaben\Basisdaten\Alarmanlage\Passwort]*/);
    $ip         GetValue(55395 /*[IPS - Zentrale Angaben\Basisdaten\Alarmanlage\IP-Adresse]*/);
    $url_base     'https://'.$ip.'/';


    // -----------------------------------------------------------------------------
    // Login
    $ch curl_init();
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    curl_setopt($chCURLOPT_SSL_VERIFYHOSTFALSE);
    curl_setopt($chCURLOPT_URL$url_base);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_USERPWD"$username:$password");
    curl_exec ($ch);

    // -----------------------------------------------------------------------------
    // URLs

    //URL für Systemereignisse:
    $ereignisse $url_base."/action/loggerListGet";

    // URL für Ereignissmeldungen
    //$ereignisse = $url_base."/action/logsGet";

    // URL für gemeldete Ereignisse
    //$ereignisse = $url_base."/action/reportEventListGet";

    // -----------------------------------------------------------------------------

    curl_setopt($chCURLOPT_URL$ereignisse);
    $result curl_exec ($ch);
    //echo $result;
    curl_close ($ch);


    $result str_replace("\t"""$result);
    $json json_decode($resulttrue);
    print_r($json);

    ?>
    Geändert von hrahlers (17.04.17 um 14:45 Uhr)

  7. #17
    Registriert seit
    Nov 2016
    Beiträge
    222

    Ich habe das gestern mal bei der Secvest versucht. Sie unterstützt Contact-ID oder IP im Prinzip.

    Habe nur einen Symcon UDP Socket auf den, in der Secevst konfigurierten Port, lauschen lassen und dann geschaut ob im Debug des Sockets was ankommt. Das war leider nicht der Fall. Außerdem hat die Secvest einen Fehler angezeigt, wohl durch die ausbleibenden ACKs begründet. Wenn ich das nicht gelöst bekomme, kann ich diesen Hack leider nicht verwenden, da anstehende Fehler das Scharfschalten verhindern.

    Das mit der Register-Variable kapiere ich übrigens leider auch nicht. Habe auch schon im Forum gesucht und leider keine verständliche Anleitung gefunden wie man die anlegt. Liegt es vielleicht and er fehlenden Variable, dass ich im Debug nichts sehe?

    Bin unter Linux. Ich gehe davon aus, dass wenn ich einen Port in einer APP öffne, dieser Port auch (automatisch?) durch die Firewall erreichbar ist.


    Also zu lösende Probleme in der Zusammenfassung:
    1.) Keine Daten im Debug des Sockets
    - Fehlende Registervariable?
    - Linux Firewall?
    - Contact-ID ist nicht UDP?

    2.) Alarmanlage geht auf Error
    - Vielleicht reicht des ein Art ACK auf den Socket zu senden, nachdem Daten empfangen wurden?

    Ich hoffe jemand kann mir etwas weiterhelfen.
    Geändert von DrFrank (17.04.17 um 16:02 Uhr)

  8. #18
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,704

    Ob Daten ankommen kannst Du z.B. mit Packet Sender ausprobieren indem Du an den Raspberry mit dem UDP Socket was schickst dann sollte das auch im Debug Fenster zu sehen sein.

    Die Register Variable ist nur der Puffer der das dann weiterreicht. Siehe RegisterVariable

  9. #19
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    629

    Genau wie Fonzo sagt:
    erstmal muss was ankommen im Debug-Fenster im IPS. Und nimm mal den Server-Socket im IPS. Dafür muss die Contact-ID-URL in der Secvest natürlich auf die IP vom IPS verweisen. Den Port muss du auch angeben und in der Firewall freischalten/duchreichen.

    Wenn dem so ist, speicherst du diese Meldungen in der RegisterVariable. Diese ist quasi nur der Pförtner, der alle Meldungen annimmt und zwischenspeichert.

    Bemerkung:
    Bei der Lupusec kann ich trotz solcher Fehlermeldungen scharfschalten, daher brauche ich auch nicht zwangsweise eine Rückantwort basteln. Die Verwendung von Contact-ID over IP ist für mich eh nur eine Krücke, um dem ewigen Pollen aus dem Wege zu gehen. Allerdings geht das für die wichtigsten Dinge ganz gut. Wenn z.B. ein Fenster geöffnet wird, gibt es nur eine allgemeine Meldung ("Automationsbefehl") ohne Hinweis auf Verursachersensor. Das muss ich dann als Reaktion auf diese Meldung bewußt von IPS auslesen, welches Fenster gerade offen ist. Aber das soll mit einer Action-URL demnächst besser gehen. Muss noch die aktuelle 2.17F einspielen und testen. Bislang ging nur ein Parameter als Übergabe.
    Geändert von hrahlers (17.04.17 um 13:31 Uhr)
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.3, Windows x64, 28.11.2019, 321402ec4fe0 - virt. W2k8 R2, CCU2, HM-Funk-und Wired-Komponenten, Tasmota-Geräte, FB7390 (Telefonie), 1-wire-Temp.fühler, Pokeys, RPi, Sophos-UTM, Ubiquiti-APs

  10. #20
    Registriert seit
    Nov 2016
    Beiträge
    222

    Kleines Update:
    Register Variable habe ich dank wupperi hinbekommen. Mir war nicht klar, dass das ein Modul ist, obwohl es in der Anleitung ja so genannt wird. Was sie macht war mir klar, nur nicht wie mal sie einrichtet :-)

    Die Linux Firewall auf dem Symcon Service war sowieso aus, daran kann es also nicht liegen.

    Werde mal den Vorschlag testen den Server Socket zu verwenden, anstatt des UDP Sockets. Dann sehe ich hoffentlich mehr.

    Das doofe ist, dass die Secvest Software alles andere als Bugfrei ist und damit auch als Fehlerursache in Frage kommen kann.

Ähnliche Themen

  1. Satel Alarmanlage
    Von herta75 im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 06.11.15, 08:13
  2. Alarmanlage
    Von Stromer im Forum Skripte, PHP, SQL
    Antworten: 6
    Letzter Beitrag: 01.09.15, 18:50
  3. Auslesen von Daten über serielle Schnittstelle - Alarmanlage
    Von christianbre im Forum Skripte, PHP, SQL
    Antworten: 5
    Letzter Beitrag: 28.02.13, 19:36
  4. Alarmanlage per Funk
    Von hmpf99 im Forum Haustechnik
    Antworten: 2
    Letzter Beitrag: 27.12.12, 20:15
  5. EnOcean Alarmanlage?
    Von aag im Forum EnOcean
    Antworten: 12
    Letzter Beitrag: 08.02.12, 13:00