Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP-Skript starten - Anbindung an KNX

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX/EIB PHP-Skript starten - Anbindung an KNX

    Hallo,

    welche (einfachen) Möglichkeiten von Schnittstellen gibt es um ein php-Skript aufgrund eines KNX-Telegramms auszulösen?

    Hintergrund:
    Ich möchte ein php-Skript, dass es auf dem web-Server eines Synology-NAS liegt über einen URL-Aufruf starten. Im Einsatz habe ich einen eibPort, finde aber dort momentan keine Lösung hierzu.
    Wahrscheinlich wäre dies für einen Homeserver kein Problem, die Anschaffung eines Homeservers ist aber für meinen Fall zu überdimensioniert.
    Gibt es eine einfache (+ preisgünstige ;-)) Lösung hierfür? Vielleicht habe ich auch beim eibPort etwas übersehen (im JobEditor)?

    Bin für alle Tipps/ Anregungen dankbar.

    Danke
    Alex

    #2
    Dann will ich mal selbst die Lösung hier nennen, vielleicht hilft es ja dem ein oder anderen. Manchmal sieht man halt den Wald vor lauter Bäumen nicht....
    Ziel: Auslösung einer Kameraaufnahme mittels Synology Surveillance Station aufgrund eines KNX-Ereignisses (z.B. Haustürklingel, Auslösung Bewegungsmelder, etc.).
    Lösung mittels eibPort! Voraussetzung ist natürlich auch ein Synology NAS mit einer laufenden SurveillanceStation, einem webserver und ein phpMyAdmin. Im "web"-Ordner habe ich dann einen zusätzlichen Ordner "SurveillanceStation" angelegt. in diesem liegt wiederum ein php-skript "Trigger_Event1.php" (siehe unten).

    1. Inhalt php-skript "Trigger_Event1.php" Dieses Skript löst das Externe Ereignis 1 auf der Surveillance Station aus. Dieses Ereignis kann dann in der Surveillance Station wiederum benutzt werden, um mit einer Aktionsregel eine Aufnahme zu triggern. Es stehen insgesamt 10 solcher externer Ereignisse zur Verfügung:
    <?php
    $httpformat="http"; //hier angeben ob http oder https
    $port="5000"; //port
    $loginname="XXX"; //Loginname an der Surveillance Station
    $passwd="XXX"; //passwort an der Surveillance Station
    $ip="XXX.XXX.XXX.XXX"; //ip adresse der Surveillance station im LAN

    //Login an der Surveillance Station:
    $json = file_get_contents($httpformat."://".$ip.":".$port."/webapi/auth.cgi?api=SYNO.API.Auth&version=3&method=Login& session=SurveillanceStation&account=".$loginname." &passwd=".$passwd."&format=sid");
    $obj = json_decode($json, true);
    $sid = $obj["data"]["sid"];

    //Event 1 auslösen (für Event 2-10 eventId entsprechend anpassen):
    $json = file_get_contents($httpformat."://".$ip.":".$port."/webapi/entry.cgi?api=SYNO.SurveillanceStation.ExternalEve nt&eventId=1&version=1&method=Trigger&_sid=".$sid) ;

    //Logout Surveillance Station:
    $out = file_get_contents($httpformat."://".$ip.":".$port."/webapi/auth.cgi?api=SYNO.API.Auth&version=3&method=Logout &session=SurveillanceStation&_sid=".$sid);
    ?>

    2. Konfiguration http-request im Job-Editor des eibPorts. Dort folgende Parameter verwenden (die restlichen Einstellungen bleiben unberührt):
    - Element-Name: Nach Belieben
    - Eingangsobjekt: Gruppenadresse im Format EIS14 eingeben. Ich habe dies mit einer Lichtszene gelöst (Ausgangsobjekt ist EIS14, Eingangsobjekt(e) können aber auch EIS1 sein.
    - Protokoll: http://
    - Basis-URL: IP-Adresse Synology/SurveillanceStation
    - Request Type: GET
    - Anzahl Ziele: 1
    - Bei Ziel 1: Wildcard-Häkchen setzen und in GET-URL/ Post-Data den Namen der php-Datei eingeben. In meinem Fall "/Trigger_Event1.php" (Wichtig ist hier den führenden "/" nicht zu vergessen!)

    Resultat:
    Über eine Lichtszene (im eibPort) kann ich nun z.B. die Haustürklingel oder den BWM einbinden. Diese löst dann den http-request aus und die Seite http://IP-Adresse Synology/SurveillanceStation/Trigger_Event1.php wird aufgerufen. Das "Externe Ereignis 1" wurde auf der SurveillanceStation ausgelöst. Über eine Aktionsregel in der Surveillance Station führt dies nun zur Aufnahme. Dort kann man natürlich auch noch die Länge der Aufnahme etc. bestimmen.
    Läuft bisher super und ich kann damit die Fehlalarme der Kameras deutlich reduzieren. Bisher lief dies über die automatische Erkennung mehr schlecht als recht (Schattenwurf/ Licht/ Nebel etc.).

    Hoffe es hilft vlt. jemand, der ähnliches im Sinn hatte oder zu neuen Anregungen.

    Alex

    Kommentar

    Lädt...
    X