Topic-icon PHC-Anbindung an OpenHAB

Mehr
09 Jun 2015 08:24 - 15 Jun 2015 18:06 #1 von Andreas
PHC-Anbindung an OpenHAB wurde erstellt von Andreas
Hallo Jürgen,

die STM V3 über Action-URL in OpenHAB einzubinden sollte kein Problem sein.
OpenHAB hat ein HTTP-Binding , mit dem man für die einzelnen Aktionen eines Items (also z.B. für Ein+Aus eines Switch) verschiedene HTTP-Befehle abschicken kann.

Eine Item-Definition in OpenHAB eines einfachen Ein-/Ausschalters wäre dann z.B.:
Switch	Schlafzimmer	"Licht OG Schlafzimmer" 	{http=">[ON:POST:http://<IP-Adresse>:<Port>/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=2] >[OFF:POST:http://<IP-Adresse>:<Port>/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=3]"}
(Ich habe jetzt mal angenommen, dass der Einschaltbefehl=2 und der Ausschaltbefehl=3 ist...)

Es gibt auch die Möglichkeit, Statusänderungen/Zustände über HTTP abzufragen. Allerdings muss man in der Antwort dann die gewünschte Information parsen.
http:"<[<url>:<refreshintervalinmilliseconds>:<transformationrule>]"
Transformationrule kann hierbei über XSLT, JavaScript oder ein einfaches Mapppingfile gehen.
Damit dieselbe URL nicht unnötig oft für verschiedene Items abgefragt werden muss, wird ein Caching unterstützt.

Ich würde sagen: einfach mal ausprobieren..


Gruß
Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Letzte Änderung: 15 Jun 2015 18:06 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
09 Jun 2015 09:23 - 15 Jun 2015 18:06 #2 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Hallo Andreas,

Das hört sich echt interessant an. Ich werde mich mal auf der OpenHAB-Seite einlesen, damit ich die Struktur und Denkweise besser verstehe. Dann werden anschließende Fragen von mir nicht so unqualifiziert sein :)

Auch die Einbindung von Nicht-PHC-Komponenten klingt gut. (Notiz an mich selbst: Geburtstagswunschliste um eine LAN-Wetterstation ergänzen).

Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Letzte Änderung: 15 Jun 2015 18:06 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
09 Jun 2015 21:33 - 15 Jun 2015 18:06 #3 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB

Andreas schrieb: Eine Item-Definition in OpenHAB eines einfachen Ein-/Ausschalters wäre dann z.B.:

Switch	Schlafzimmer	"Licht OG Schlafzimmer" 	{http=">[ON:POST:http://<IP-Adresse>:<Port>/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=2] >[OFF:POST:http://<IP-Adresse>:<Port>/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=3]"}
(Ich habe jetzt mal angenommen, dass der Einschaltbefehl=2 und der Ausschaltbefehl=3 ist...)


Achja: Das wollte ich noch ergänzen. Ich habe normale Taster für das Licht. Das heißt ich habe immer das gleiche Signal für Ein- und auch Ausschalten. Also EVT=2 ...

Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Letzte Änderung: 15 Jun 2015 18:06 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
09 Jun 2015 22:12 - 15 Jun 2015 18:06 #4 von Andreas
Andreas antwortete auf PHC-Anbindung an OpenHAB
Ok, sorry mein Fehler...
Du schaltest ja nicht den Ausgang direkt, sondern emulierst den Tastendruck über ein Eingangsmodul.
2 sollte bei EMDs bedeuten "Ein > 0 Sek". Somit toggelst Du.

Die Empfehlung von der PEHA Hotline ist auch, die EMD-Funktion von außen zu emulieren.
Ich schalte über OpenHAB meistens die Ausgänge direkt.
Wenn Du nur toggeln willst, sieht die Item-Definition so aus:
Switch	Schlafzimmer	"Licht OG Schlafzimmer" 	{http=">[*:POST:http://<IP-Adresse>:<Port>/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=2]"}

Wo sind denn die Nummern für die Events bzw für die Action-URL dokumentiert?

Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Letzte Änderung: 15 Jun 2015 18:06 von Jürgen.
Folgende Benutzer bedankten sich: Jürgen

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Jun 2015 16:44 - 15 Jun 2015 18:07 #5 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Ich bin jetzt mit OpenHAB schon mal in der Konfiguration.
  • OpenHAB läuft
  • Eigene Konfigurationsdateien *.item / *.sitemap / usw. wurden angelegt
  • Minimal-Konfiguration wurde angepasst
  • Zugriff über Browser sowie iOS-App funktioniert

Mein Test ist das "Licht Esszimmer" (hier sitze ich ja auch gerade B) )

Die PHC-Action-URL sieht folgendermaßen aus:
http://192.168.178.199:80/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=2

Wenn ich diese Zeile im Browser eingebe, wird der Schalt-Befehl von der STM ausgeführt - der Browser gibt zwar ein "Fehler: Verbindung unterbrochen" zurück - aber das Licht geht an bzw. aus. (siehe Anhang)

Leider funktioniert OpenHAB in Richtung STM V3 noch nicht.

Meine *.item-Datei (Auszug):
Switch Licht_EG_Esszimmer	"Esszimmer"   (EG_Esszimmer, Lichter)   { http=">[*:POST:http://192.168.178.199:80/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=2]" }
Das entspricht auch dem Vorschlag von Andreas.


In den OpenHAB-Logs steht folgendes:
==> 2015_06_13.request.log <==
192.168.178.30 -  -  [13/Jun/2015:14:20:49 +0000] "GET /CMD?Licht_EG_Esszimmer=TOGGLE&__async=true&__source=waEG_Esszimmer HTTP/1.1" 200 13
192.168.178.30 -  -  [13/Jun/2015:14:20:38 +0000] "GET /openhab.app?sitemap=altheim&sitemap=altheim&w=EG_Esszimmer&poll=true&__async=true&__source=waEG_Esszimmer HTTP/1.1" 200 92

==> events.log <==
2015-06-13 16:20:49 - Licht_EG_Esszimmer received command ON

==> openhab.log <==
2015-06-13 16:20:49.042 [WARN ] [g.openhab.io.net.http.HttpUtil] - Method failed: HTTP/1.1 403 Forbidden

Ich verstehe das folgendermaßen:
"request.log": Über Oberfläche wird Schalt-Befehl angewählt
"event.log": Befehl erfolgreich empfangen
"openhab.log": Befehl über HTTP-Binding abgesetzt - bekomme aber ein "403" zurück (ist ja vergleichbar mit der Rückmeldung des Browsers

Mit dem 403-Fehler könnte ich ja leben - aber das Licht geht nicht an.

Frage: Wie kann ich prüfen, ob der HTTP-Befehl tatsächlich abgesetzt wurde?
Auf dem Steuermodul habe ich ja keine Möglichkeit.
In den Logdateien steht nichts.
Bleibt mir nur noch mit einem Netzwerk-Sniffer (z. B. Wireshark) das zu analysieren - oder gibts noch andere Vorschläge?

Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Anhänge:
Letzte Änderung: 15 Jun 2015 18:07 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Jun 2015 20:45 - 15 Jun 2015 18:07 #6 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Ich glaube ich hab die Lösung:

Nachdem ich mir den Netzwerk-Traffic mittels Wireshark angeschaut habe, bin ich auf den entscheidenden Unterschied gestoßen: Die PHC-Steuereinheit verträgt kein HTTP-POST - sondern es muss ein HTTP-GET sein.

Das HTTP-Binding müsste also eigentlich folgendermaßen lauten:
Switch Licht_EG_Esszimmer	"Esszimmer"   (EG_Esszimmer, Lichter)
{ http=">[*:GET:http://192.168.178.199:80/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=2]" }

ABER jetzt kommts: Die Schaltbefehle werden nur manchmal (so ca. jeder 10. Schaltvorgang) akzeptiert und ausgeführt. Keine Ahnung woran das liegen mag.

Ich bin jetzt einen ganz anderen Weg gegangen über das EXEC-Binding:
Switch Licht_EG_Esszimmer	"Esszimmer"   (EG_Esszimmer, Lichter)
{ exec=">[*:lynx http://192.168.178.199/postEvent.html?action=input&STM=0&MOD=1&CHA=6&EVT=2]" }

Ich rufe mittels "LYNX" (uralter textbasierter Web-Browser) die entsprechende URL auf. Und siehe da: es funktioniert tadellos.
Ich werde jetzt das Ganze mal so aufbauen und noch ein paar Tests fahren.

Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Letzte Änderung: 15 Jun 2015 18:07 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
13 Jun 2015 21:52 - 15 Jun 2015 18:07 #7 von Andreas
Andreas antwortete auf PHC-Anbindung an OpenHAB
Hallo Jürgen,


schön, dass Du einen Workaround gefunden hast, aber komisch ist das schon...
Was sagt denn Wireshark zu den 10 Versuchen, wo nur einer klappt?
Siehst du die HTTP-Gets nur die Steuerung reagier nicht darauf? Oder siehst du schon im Wireshark den Netzwerkverkehr nicht? Und was sagt das OpenHAB-Log?

Auf was für einer Hardware/OS testet Du das jetzt?
Weißt Du, ob die Steuerung V3 noch das alte binäre Protokoll unterstützt?

Gruß
Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Letzte Änderung: 15 Jun 2015 18:07 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jun 2015 11:09 - 15 Jun 2015 18:07 #8 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Hallo Andreas,

ich habe die Fehlversuche mit HTTP-GET nicht mehr mit Wireshark analysiert. Werde das aber noch nachholen.

Im Moment verstehe ich die Welt gerade nicht mehr, weil auf einmal die iOS-App nicht mehr auf OpenHAB zugreifen kann (Fehler 500 - .../rest/bindings not found). Der Zugriff über den Browser funktioniert aber. Ich bin jetzt schon seit 2 Stunden am googeln, kann aber den Fehler nicht finden.

Nicht mal der alte IT-Spezial-Trick hat geholfen: Reboot tut gut :dry:

Laut Wireshark wird seitens der App folgende URL aufgerufen (xxxx = meine Sitemap - wobei auch "demo" nicht funktioniert):

http://192.168.178.190:8080/openhab.app?sitemap=xxxx/rest/bindings

Selbst wenn ich die URL entsprechend dem Browserzugriff (also ohne "/rest/bindings") vorgebe, wird diese um das ergänzt.

Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Letzte Änderung: 15 Jun 2015 18:07 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jun 2015 17:37 - 15 Jun 2015 18:07 #9 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Also - die iOS-App tut wieder. Keine Ahnung, warum der Link "http://192.168.178.190:8080/openhab.app?sitemap=xxxx" auf einmal nicht mehr funktionierte.

Mit folgendem Eintrag funktioniert es wieder: "http://192.168.178.190:8080" - oder wer es lieber verschlüsselt mag: "https://192.168.178.190:8443/openhab.app?sitemap=xxxx"

Nun zu Deinen Fragen Andreas:

Beim HTTP-GET gehen tatsächlich Befehle raus - aber dummerweise 3 Befehle - oder 4 Befehle. Und zwar in kurzer Folge hintereinander. Wenn 4 Befehle gesendet werden, flackert das Licht zwar, aber bleibt logischerweise im gleichen Zustand (an oder aus). Bei 3 Befehlen in Folge ändert sich der Schaltzustand.
Das ist für die Steuereinheit auf Dauer sicherlich nicht gut :ohmy:

Ich lass jetzt mal bei dem LYNX-Befehl.

Das Ganze läuft jetzt auf meinem Debian-7-Server (da läuft außerdem noch Icinga (ein Nagios-Fork) zur Netzwerk-Überwachung.

Auf die Frage nach dem "alten binären Protokoll" kann ich Dir glaube ich nicht weiterhelfen. LAN-seitig sicherlich nicht. Und der PHC-Bus zwischen den Modulen ist ja unverändert. Wenn ich Deine Frage jetzt dahingehend interpretiere, ob das Protokoll auf dem Bus unverändert ist, dann kann ich das bejahen - ich habe schließlich nur das V1-Steuermodul gegen das V3 getauscht - ansonsten habe ich gar nichts gemacht. Oder bin ich jetzt ganz auf dem Holzweg?

Gruß
Jürgen

... der sich jetzt mal dranmacht die Rolladensteuerung zu verstehen (hast Du da auch ein Beispiel für Heben/Senken/Stop??)

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Letzte Änderung: 15 Jun 2015 18:07 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jun 2015 21:07 - 15 Jun 2015 18:08 #10 von Andreas
Andreas antwortete auf PHC-Anbindung an OpenHAB
Hallo Jürgen,

schön, dass es wieder klappt.
Komisch, dass der HTTP-Get so oft wiederholt wird.
Vielleicht gibt es da eine Setting dafür. Keine Ahnung...

Mich interessiert der Bus zwischen Steuerung und PC. Hat die V3 noch einen seriellen oder USB-Anschluss?
Ich denke, über USB kommuniziert sie nach wie vor nach dem alten Protokoll. Aber das ist reine Vermutung...
Mein PHC-Gateway kann halt leider die neue XML-RPC-Schnittstelle nicht...

Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Letzte Änderung: 15 Jun 2015 18:08 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jun 2015 21:39 - 15 Jun 2015 18:08 #11 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Hallo Andreas,

ja - das V3-Modul hat auch einen USB-Anschluss:



Die Beschreibung sagt hierzu:

7.3 USB-Anschluss (Service-Schnittstelle)
Der USB-Anschluss (USB 2.0) wird zum schnellen und direkten Anschluss eines PCs an das Steuermodul
eingesetzt. Mit der PHC-Systemsoftware ab Version 2.54 kann dann eine direkte Programmierung
des PHC-Systems und die Verwendung von Service-Funktionen erfolgen.


Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Anhänge:
Letzte Änderung: 15 Jun 2015 18:08 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jun 2015 22:44 - 15 Jun 2015 18:08 #12 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Ich bin gerade irgendwie in einer Sackgasse beim Thema Rolladen.

Ich habe verschiedene HTTP-Befehle für die Funktionen "Heben", "Senken" und "Stop"
Was mir fehlt ist die Syntax in der ITEMS-Datei. Wie ordne ich die drei verschiedenen Befehle den Knöpfen zu? :dry:

Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Letzte Änderung: 15 Jun 2015 18:08 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Jun 2015 07:46 - 15 Jun 2015 18:08 #13 von Andreas
Andreas antwortete auf PHC-Anbindung an OpenHAB

Jürgen schrieb: 7.3 USB-Anschluss (Service-Schnittstelle)
Der USB-Anschluss (USB 2.0) wird zum schnellen und direkten Anschluss eines PCs an das Steuermodul
eingesetzt. Mit der PHC-Systemsoftware ab Version 2.54 kann dann eine direkte Programmierung
des PHC-Systems und die Verwendung von Service-Funktionen erfolgen.


Ok, wenn die PHC-Software ab 2.54 funktioniert, sollte das über das alte binäre Protokoll funktionieren.
Schon mal gut zu wissen.

Danke für die Info.

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Letzte Änderung: 15 Jun 2015 18:08 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Jun 2015 08:36 - 15 Jun 2015 18:09 #14 von Andreas
Andreas antwortete auf PHC-Anbindung an OpenHAB
Hallo Jürgen,

lt. Doku ist die Syntax eines OUT-Befehls beim EXEC-Binding:
out: exec=">[<openHAB-command>:<commandLine to execute>] (>[<openHAB-command>:<commandLine to execute>]) (>[...])"
Die Commands für Rolläden sind STOP,UP,DOWN

Dein Item müsste dann wohl so aussehen:
Rollershutter "Rolladen" {exec=">[STOP:lynx http://192.168.178.199/postEvent.html?action=input&STM=0&MOD=??&CHA=??&EVT=??] >[UP:lynx http://192.168.178.199/postEvent.html?action=input&STM=0&MOD=??&CHA=??&EVT=??] >[DOWN:lynx http://192.168.178.199/postEvent.html?action=input&STM=0&MOD=??&CHA=??&EVT=??]"} 

Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Letzte Änderung: 15 Jun 2015 18:09 von Jürgen.
Folgende Benutzer bedankten sich: Jürgen

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Jun 2015 18:05 #15 von Jürgen
Jürgen antwortete auf PHC-Anbindung an OpenHAB
Hallo Andreas,

habe das jetzt gerade ausprobiert: Du hast vollkommen Recht. Genauso funnktioniert es. Vielen Dank!

Jetzt kann ich das ganze Haus mal umsetzen und anschließend kommt dann die Herausforderung bezüglich Rückmeldung vom Steuermodul > OpenHAB durch Auslesen der Modul-Homepage.

Gruß
Jürgen

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum