+ Antworten
Ergebnis 1 bis 8 von 8
  1. #1
    Registriert seit
    Aug 2009
    Ort
    Meißen
    Beiträge
    289

    Standard Lupusec XT 1 Alarmanlage

    Hallo,

    ich habe das Skript aus diesem Beitrag https://www.symcon.de/forum/threads/...552#post273552 für meine Alarmanlage angepasst.

    Vielleicht kann es ja einer brauchen. Hat jemand Interesse sich mit der Contact-ID Auswertung der XT1 zu befassen? Das möchte ich als nächstes machen.

    MfG Tommy

    PHP-Code:
    <?
    // Dieses Script liest die Sensoren und deren Daten aus einer Lupus XT1 aus und stellt die Stati in einer Tabelle im Webfront dar
    // Version für Lupus XT2 aus IP-Symcon Forum angepasst für die XT1
    // Variablen definieren
    $username     "xxxxx";
    $password     "*************";
    $ip            "x.x.x.x";
    $url             'http://'.$ip.'/setting/index.htm';
    $id_html     19074 /*[Alarmanlage Lupusec XT1\Sensoren]*/// String-Variable mit Profil "~HTML-Box" für die Anzeigen im Webfront

    // -----------------------------------------------------------------------------
    // ab hier ist nichts mehr anzupassen

    // Login
    $ch curl_init();
    curl_setopt($chCURLOPT_URL,$url);
    curl_setopt($chCURLOPT_TIMEOUT30); //timeout after 30 seconds
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
    curl_setopt($chCURLOPT_HTTPAUTHCURLAUTH_ANY);
    curl_setopt($chCURLOPT_USERPWD"$username:$password");
    //$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $result=curl_exec ($ch);

    // Sensorliste lesen 
    //$sensorliste = "http://".$ip."/setting/sensorInfo.htm";
    $sensorliste "http://".$ip."/action/sensorListGet";
    curl_setopt($chCURLOPT_URL,$sensorliste);
    $result=curl_exec ($ch);

    // gültiges Json Format herstellen
    $result str_replace("/*-secure-"""$result);
    $result str_replace("*/"""$result);
    $result str_replace("no :"'"no" :'$result);
    $result str_replace("type :"'"type" :'$result);
    $result str_replace("zone :"'"zone" :'$result);
    $result str_replace("name :"'"name" :'$result);
    $result str_replace("attr :"'"attr" :'$result);
    $result str_replace("cond :"'"cond" :'$result);
    $result str_replace("battery :"'"battery" :'$result);
    $result str_replace("tamp :"'"tamp" :'$result);
    $result str_replace("bypass :"'"bypass" :'$result);
    $result str_replace("senrows :"'"senrows" :'$result);
    $result str_replace("ü""ue"$result);
    $result str_replace("ö""oe"$result);
    $result str_replace("ä""ae"$result);
    $result str_replace("Ü""Ue"$result);
    $result str_replace("Ö""Oe"$result);
    $result str_replace("Ä""Ae"$result);
    //echo $result;
    curl_close ($ch);
    // Umwandeln von JSON in ein Array
    $json json_decode($resulttrue);
    //print_r($json);
    // neues Array $sensoren erstellen
    // bei der XT1 ist die Sensornummer gleich der Zonennummer
    foreach ($json['senrows'] as $sensor)
         {
         
    $zone $sensor['no'];
         
    $sensoren[$zone] = $sensor;
         }
    //ksort($sensoren);
    //print_r($sensoren);

    // HTML-Ausgabe erstellen
    $html "<table width='90%' align='left'>"// Farbe anpassen oder style entfernen
    $html .= "<tr><td><b>Sensornummer</b></td><td><b>Typ</b></td><td><b>Zonennummer</b></td><td><b>Name</b></td><td><b>Eigenschaft</b></td><td><b>Zustand</b></td><td><b>Batterie</b></td><td><b>Sabotage</b></td><td><b>Bypass</b></td></tr>";

    foreach (
    $sensoren as $sensor)
        {
        
    // Zeilen mit Daten befüllen
        
    $html .= "<tr>";
        
    $html .= "<td>" $sensor['no'] . "</td>";          // Sensornummer
        
    $html .= "<td>" $sensor['type'] . "</td>";        // Typ
        
    $html .= "<td>" $sensor['zone'] . "</td>";        // Zonennummer
         
    $html .= "<td>" $sensor['name'] . "</td>";        // Name
        
    $html .= "<td>" $sensor['attr'] . "</td>";        // Eigenschaft
        
    $html .= "<td>" $sensor['cond'] . "</td>";        // Zustand
        
    $html .= "<td>" $sensor['battery'] . "</td>";     // Battery
        
    $html .= "<td>" $sensor['tamp'] . "</td>";        // Sabotage
        
    $html .= "<td>" $sensor['bypass'] . "</td>";      // Bypass
         
    $html .= "</tr>";
        }

    $html .= "</table>";
    SetValue($id_html ,$html);

    ?>
    Name:  Lupusec_Status.jpg
Hits: 589
Größe:  58.0 KB
    Irren ist menschlich. Aber wenn man richtig Mist bauen will, braucht man einen Computer. (Dan Rather, CBS-Fernsehreporter)

  2. #2
    Registriert seit
    Mar 2010
    Ort
    S-H
    Beiträge
    620

    Ein paar Sachen zu Contact-ID: Alarmanlage Lupusec XT2 Plus auslesen - Seite 2
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.0, Windows x64, 16.12.2018, 93cb63bbeb2 - 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

  3. #3
    Registriert seit
    Aug 2009
    Ort
    Meißen
    Beiträge
    289

    Hallo,

    die XT1 unterscheidet sich stark von der XT2! Deine Skripte funktionieren dort nicht!

    Danke trotzdem.

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

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

    Aber die Contact-ID ist doch genormt. Der Datensatz muss trotzdem im IPS ankommen. Wie du dann daraufhin (z.B. per Script) reagierst, ist sicherlich hardwareabhängig.
    Gruß Andreas.
    -----------------------------------------------------------------
    IP-Symcon 5.0, Windows x64, 16.12.2018, 93cb63bbeb2 - 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. #5
    Registriert seit
    Jan 2018
    Beiträge
    2

    Hello Tommy,
    vielen Dank für die Bereitstellung deines PHP Skriptes. Ich habe es mit meiner Xt1 ausprobiert. Leider bekomme ich beim Ausführen folgenden Fehler:

    PHP Fatal error: Call to undefined function SetValue() in /volume1/Dokumente/lupusec.php on line 87

    Er kommt mit folgender Zeile nicht klar:
    SetValue($id_html ,$html);

    Ich habe allerdings auch deinen Wert für id_html übernommen. Wohlmöglich ist der falsch. Kannst du mir sagen, wo und wie ich den auslesen kann?

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

    Zitat Zitat von Joezi Beitrag anzeigen
    PHP Fatal error: Call to undefined function SetValue() in /volume1/Dokumente/lupusec.php on line 87

    Er kommt mit folgender Zeile nicht klar:
    SetValue($id_html ,$html);

    Ich habe allerdings auch deinen Wert für id_html übernommen.
    Hallo in der Welt von IP-Symcon. IP-Symcon nutzt zwar PHP es werden aber auch weitere Befehle benutzt, die nur mit IP-Symcon funktionieren. Das Skript schreibt den Inhalt in eine String Variable mit dem Standardbefehl SetValue dem Variablenprofil HTML-Box. Die 5 stellige Ziffer ist die ObjektID der Variable. Solltest Du das Skript ohne IP-Symcon ausführen, kommt es zu einer Fehlermeldung, dann müsstest Du aber das Skript umschreiben bzw. anpassen und aus den Werten eine HTML Seite setzen, die dann in einem Browser darstellbar ist. Wenn Du das Skript in IP-Symcon ausprobieren willst, bzw. dies dann in eine IP-Symcon Variable schreiben, findest Du hier eine Demo zum Ausprobieren von IP-Symcon.

  7. #7
    Registriert seit
    Jan 2018
    Beiträge
    2

    Standard Danke

    Vielen Dank für die schnelle Antwort!

  8. #8
    Registriert seit
    Mar 2019
    Beiträge
    1

    Hallo zusammen,

    auch ich habe die XT1 von Lupusec und wollte auch das Script integrieren, aber irgendwie kommen folgende Fehlermeldungen:


    Warning: Invalid argument supplied for foreach() in C:\IP-Symcon\scripts\13607.ips.php on line 56

    ==> foreach ($json['senrows'] as $sensor)



    Notice: Undefined variable: sensoren in C:\IP-Symcon\scripts\13607.ips.php on line 68
    Warning: Invalid argument supplied for foreach() in C:\IP-Symcon\scripts\13607.ips.php on line 68

    ==> foreach ($sensoren as $sensor)



    Warning: Variable #19074 existiert nicht in C:\IP-Symcon\scripts\13607.ips.php on line 85

    ==> SetValue($id_html ,$html);


    Was mache ich hier falsch?


    Eine andere Frage:
    Könnte man die XT1 auch mit IP-Symcon "schalten"?


    Besten Gruß
    Thomas

Ähnliche Themen

  1. Alarmanlage Lupusec XT2 Plus auslesen
    Von hrahlers im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 32
    Letzter Beitrag: 02.06.19, 10:25
  2. Alarmanlage programmieren
    Von tommy86 im Forum Skripte, PHP, SQL
    Antworten: 15
    Letzter Beitrag: 24.11.15, 17:50
  3. Satel Alarmanlage
    Von herta75 im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 06.11.15, 08:13
  4. Alarmanlage
    Von Stromer im Forum Skripte, PHP, SQL
    Antworten: 6
    Letzter Beitrag: 01.09.15, 18:50
  5. Alarmanlage via Homematic
    Von h0meboy im Forum HomeMatic
    Antworten: 3
    Letzter Beitrag: 28.04.14, 20:52