Topic-icon Vorstellung: Visualisierung mit OpenHAB

Mehr
08 Jun 2015 15:52 #1 von Andreas
Vorstellung: Visualisierung mit OpenHAB wurde erstellt von Andreas
Ich möchte an dieser Stelle meine Visualisierung des PHC-Systems mit OpenHAB vorstellen.

OpenHAB ist ein offenes System, für das es über 100 Schnittstellen zu Geräten aller Art gibt.
So gibt es Schnittstellen zu verschiedenen Bus-Systemen, einfachen Funksystemen, AV-Systemen oder Fernseher, Wetterstationen, Wetterdiensten, Astrodaten (Sonnenaufgang), Alarmanlagen, Fritzbox etc.
Weiterhin gibt es sehr umfangreiche Regeln und Automatismen.
Leider gibt es keine Schnittstelle (Binding) zum PHC-System. Daher habe ich ein PHC-Gateway programmiert, das auf der einen Seite mit meiner STM V2 kommuniziert (über RS232 oder TCP/IP), und auf der anderen Seite mit einem MQTT-Broker.
OpenHAB läuft bei mir auf einem Raspberry Pi, auf dem auch der MQTT-Broker (Mosquitto) läuft. Über den Umweg MQTT habe ich mir erspart, ein PHC-Binding für OpenHAB zu schreiben, was sicherlich die bessere Lösung gewesen wäre, aber auch sehr viel aufwändiger.
Da mein PHC-Gateway auch eine Telnet-Schnittstelle hat, kann ich theoretisch auch über Telnet Befehle abschicken und Statusänderungen bekommen. Das ganze kann ich aber auch über einen beliebigen MQTT-Client machen. Außerdem bin ich gerade am herumspielen mit einem kleinen HTTP-Interface, so dass auch eine Steuerung per Browser möglich ist. Wenn man dann die Syntax der Befehle noch anpasst, könnte man sogar die Action-URLs des STM V3 verwenden...

Bei OpenHAB ist schön, dass es für Android, iOS und Windows 8 Clients gibt, aber auch ein normaler Webzugang existiert.
Außerdem muss man hier keine HTML-Seiten gestalten, sondern konfiguriert nur das System.
Die Konfiguration erfolgt mit Textdateien und ist nicht schwer.

Im Moment wird schon an OpenHAB 2 gearbeitet, was bestimmt auch optisch besser werden soll.

Ich habe mich für OpenHAB entschieden, da es die Möglichkeit bietet, unterschiedliche Systeme unter einer Oberfläche betreiben und systemübergreifend arbeiten.
Ein Button "TV-Szene" kann hierbei die optimale Beleuchtung einstellen, den Fernseher und die Settopbox einschalten, die Klimaanlage auf eine angenehme Temperatur stellen etc.
Dafür gibt es ein sehr umfangreiches Regelwerk.
Außerdem wird an OpenHAB intensiv entwickelt, so dass in Zukunft immer mehr gehen wird.

Mein OpenHAB-Gateway ist bis auf Kleinigkeiten fertig und kommuniziert über IP oder RS232 im binären Protokoll der V1 und V2. Unterstützt werden Eingangs-, Ausgangs, JRM- und Dimmermodule. Alle anderen Modultypen (Analog, Multi etc.) habe ich nicht im Einsatz, und daher auch nicht implementiert. Aber das ist bestimmt nur ein Copy+Paste...
Auch sollte das System mehrere STMs unterstützt, aber auch das konnte ich nicht testen, da ich nur eine STM habe.
Der Quellcode ist in C geschrieben und einigermaßen modular. Es gibt einen einfachen Befehlsparser, eine Telnet-Schnittstelle und Versuche mit einer einfachen HTTP-Schnittstelle.
Die Kommunikation mit OpenHAB geht über MQTT was sich als sehr stabil erwiesen hat.


Leider habe ich noch nicht alle Variationen des PHC-Protokolls verstanden und implementiert, auch nicht alle möglichen Befehle. wenn jemand hier noch weitere Dokus und Infos hat, dann kann er sie mir ja senden.
Über das Protokoll bekommt man auch die Änderung der Ausgänge mit, aber leider schaffe das nicht beim JRM-Modul. Vielleicht hat auch hier jemand Tipps.

Ich bin mir noch unschlüssig, ob ich den Code öffentlich machen soll oder nicht. Zum einen würde ich mir wünschen, dass mir einige Leute helfen, das Protokoll und die unterstützten Befehle zu erweitern, zum anderen ist es noch viel Arbeit, alles zu dokumentieren und für andere verständlich zu machen.
Weiterhin würde es mich stören, wenn jemand mit meinem Code ein kommerzielles Produkt erstellen würde.

ich habe auf meinem Android-Phone ein paar Screenshots meiner OpenHAB-Installation mit PHC-Kopplung gemacht. Schaut es euch einfach an:

















Gruß
Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Folgende Benutzer bedankten sich: Jürgen, ansgar75

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
08 Jun 2015 20:08 #2 von Jürgen
Hallo Andreas,

das klingt wirklich sehr interessant. Da hast du aber auch schon einiges umgesetzt.

Wie beurteilst Du die Möglichkeit mit OpenHAB die STM V3 über Action-URL einzubinden? Natürlich auch unter Berücksichtigung (Visualisierung) der aktuellen Schaltzustände, die meines Wissens über LAN nur mittels der Homepage des Steuermoduls abrufbar ist:


"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.

Mehr
14 Jun 2015 11:16 - 18 Jun 2015 09:15 #3 von Jürgen
Ich habe die hier folgende Beiträge mal in einen anderen Thread verschoben, da ansonsten zu viele Themen in einem Beitrag vermischt werden ;)

http://phc-forum.de/index.php/forum/visualisierung/20-phc-anbindung-an-openhap

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: 18 Jun 2015 09:15 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
18 Jun 2015 16:29 #4 von Andreas
Na mit V3 funktionieren ja die Action-URLs. Wie man die in OpenHAB einbindet hat ja Jürgen beschrieben.
Die Wetterdaten (Wind, Temperatur etc.) kommen nicht von der PHC-Steuerung, sondern über das Weather-Binding von einem Wetterdaten-Dienstleiter - sie entsprechen also nicht den tatsächlichen Werten bei Dir zu Hause, sondern sind nur hochgerechnet aus irgendwelchen Messdaten. Die Einbindung des Weather-Bindings hat Jürgen auch detailliert beschrieben.

Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • ansgar75
  • ansgar75s Avatar
  • Offline
  • PHC-Meister
  • PHC-Meister
  • Stay hungry, stay foolish! - Steve Jobs
Mehr
18 Jun 2015 21:16 #5 von ansgar75
ansgar75 antwortete auf Vorstellung: Visualisierung mit OpenHAB
Andreas,

Was mich noch interessiert ist, wie du die STM Hardwaremäßig mit deinem OpenHab-Server verbunden hast?
Nutzt du ein LAN-RS232 Modul, oder eine Direktverbindung?


Gruß
Ansgar

Peha PHC V3 seit 2017 (vorher V2) im Neubau - MCC - JRM - EMD - AMD - DIM - Module
IP-Symcon Smarthome Software auf Intel NUC mit Ubuntu 18.04LTS (Einbindung von PHC tlw. über Webinterface der V3)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
18 Jun 2015 21:19 #6 von Andreas
Ja, ich nutze einen Lantronix Deviceserver für IP<->RS232. Habe auch noch einen von W&T für IP<->RS485 mit dem ich irgendwann auch den internen PHC-Bus abgreifen will.

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • ansgar75
  • ansgar75s Avatar
  • Offline
  • PHC-Meister
  • PHC-Meister
  • Stay hungry, stay foolish! - Steve Jobs
Mehr
18 Jun 2015 21:25 #7 von ansgar75
ansgar75 antwortete auf Vorstellung: Visualisierung mit OpenHAB
Ah okay. Hab ich mir fast schon gedacht.
Ich nutz so ein Teil für die Anbindung meiner Lüftungsanlage an Symcon.

Peha PHC V3 seit 2017 (vorher V2) im Neubau - MCC - JRM - EMD - AMD - DIM - Module
IP-Symcon Smarthome Software auf Intel NUC mit Ubuntu 18.04LTS (Einbindung von PHC tlw. über Webinterface der V3)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • ansgar75
  • ansgar75s Avatar
  • Offline
  • PHC-Meister
  • PHC-Meister
  • Stay hungry, stay foolish! - Steve Jobs
Mehr
22 Jun 2015 16:38 #8 von ansgar75
ansgar75 antwortete auf Vorstellung: Visualisierung mit OpenHAB
Da die Diskussion sich hier hauptsächlich in Richtung V3 und http bewegt hat, wäre es meiner Meinung nach gut, wenn man den Forenbeitrag splitten würde in V3 und V1/V2....

Wie seht ihr das?

Peha PHC V3 seit 2017 (vorher V2) im Neubau - MCC - JRM - EMD - AMD - DIM - Module
IP-Symcon Smarthome Software auf Intel NUC mit Ubuntu 18.04LTS (Einbindung von PHC tlw. über Webinterface der V3)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
22 Jun 2015 18:45 #9 von Jürgen
Hallo Ansgar,

das Thema "Installation von OpenHAB auf einer QNAP" ist mittlerweile tatsächlich länger geworden, als erwartet. Deshalb habe ich alle Beiträge zu diesem Thema in einen eigenen Thread verschoben. Jetzt ist es hier wieder "übersichtlich" geworden :)

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)
Folgende Benutzer bedankten sich: ansgar75

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
25 Jun 2015 22:54 #10 von Jürgen
Irgendwie finde ich nichts bei Google.
Gibt es in OpenHAB eigentlich die Möglichkeit zwei Werte (z. B. Temp_Min und Temp_Max) in einer Zeile darzustellen?

Also z. B. statt
"Temperatur min 15 °C"
"Temperatur max 30 °C"

sollte das so aussehen:
"Temperatur (min/max) 15 °C / 30 °C"

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.

Mehr
26 Jun 2015 08:56 #11 von Andreas
Hallo Jürgen,


das geht wohl nur über Rules.
In der OpenHAB-Google Group wurde das hier diskutiert:
How to display 2 or 3 items on one sitemap line?
Im Prinzip machst Du eine Regel, die auf die Änderung eines der beiden Werte reagiert und anschließend ein String-Item auf den Text bestehend aus Wert 1+2 setzt.

Ich habe das bei mir mal eingebaut:
items:
  Number Weather_Temp_Max 		"Max heute [%.1f °C]"	<temperature> (Weather_Chart)
  Number Weather_Temp_Min 		"Min heute [%.1f °C]"	<temperature> (Weather_Chart)

sitemap:
  Text item=Weather_MinMax label="Min/Max heute [%s]"

rules:
  // Tägliche Min und Max Temperatur aktualisieren
  rule "Update max and min temperatures"
	when
		Item Weather_Temperature changed or
		Time cron "0 0 0 * * ?" or
		System started
	then	
		postUpdate(Weather_Temp_Max, Weather_Temperature.maximumSince(now.toDateMidnight).state)
		postUpdate(Weather_Temp_Min, Weather_Temperature.minimumSince(now.toDateMidnight).state)
	end

  // Text mit Min/Max aktualisieren
  rule "Update Min/Max"
        when
                Item Weather_Temp_Max changed or
                Item Weather_Temp_Min changed
        then
                var Number Max = Weather_Temp_Max.state
                var Number Min = Weather_Temp_Min.state
                postUpdate(Weather_MinMax, Min + "°C / " + Max + " °C")
        end

Funktioniert.

Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Folgende Benutzer bedankten sich: Jürgen

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
26 Jun 2015 11:22 #12 von Jürgen
Hallo Andreas,

ich habe das fast genau so wie du über eine Rule folgendermaßen gelöst:
rule "Temperaturvorhersage"
	when
		Time cron "0 0 0 * * ?" or
		Item Altheim_Temp_Vorschau_Min received update or
		Item Altheim_Temp_Vorschau_Max received update
	then
		Altheim_Temp_Min_Max.postUpdate(Altheim_Temp_Vorschau_Min.state.toString + " °C / " + Altheim_Temp_Vorschau_Max.state.toString + " °C")
end

Das funktioniert auch - das einzig unschöne dabei ist die Darstellung der Temperatur mit 2 Dezimalstellen (so kommt das halt aus dem Binding).

Bin gerade dabei hier einen Lösungsweg zu suchen - plage mich da aber gerade mit den Möglichkeiten und Syntax der "Rules". :S

Gruß
Jürgen

P.S.: Habe gesten meine "Netatmo"-Wetterstation geliefert bekommen. Nachdem die jetzt läuft, ist der nächste Step die OpenHAB-Einbindung :)

"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.

Mehr
26 Jun 2015 12:23 #13 von Andreas
Hallo Jürgen,


bei mir wird die Temperatur mit ohne Nachkommastellen angezeigt. Evtl. weil ich noch nicht das Weather-Binding benütze, aber evtl. auch, weil ich erst die Werte in eine "Number" Variable einlese und dann den String setze.
Probier's mal aus.


Mit einer Netatmo liebäugle ich auch. Bitte berichte dann mal deine Erfahrungen.


Andreas

PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
26 Jun 2015 15:48 #14 von Jürgen
It works.

Die Kürzung der Nachkommastellen funktioniert auch. Integration der Netatmo abgeschlossen.

Ich werde in einem separaten Beitrag über die Netatmo berichten :cheer:

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.

Mehr
26 Jun 2015 18:39 #15 von Jürgen
Noch die nachträgliche Ergänzung zum Thema: "Zwei oder mehr Werte in einer Zeile mit Feld-Formatierung"

So habe ich das jetzt (allerdings mit fremder Hilfe) umgesetzt:
rule "Temperaturvorhersage"

   when
      Time cron "0 0 */3 * * ?" or
      Item Altheim_Temp_Vorschau_Min received update or
      Item Altheim_Temp_Vorschau_Max received update or
      System started
   then
      Temp_Min_Max.postUpdate(Temp_Min.state.format("%.0f") + " °C / " + Temp_Max.state.format("%.0f") + " °C")
   end

"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