Nächste Überarbeitung
|
Vorhergehende Überarbeitung
|
wiki:ems:openhab [2016/03/06 14:41] maniac103 angelegt |
wiki:ems:openhab [2020/06/15 22:48] (aktuell) ehobel [EMS in OpenHAB einbinden] |
Man kann diesen Schritt auch überspringen, aber es ist immer hilfreich, mal zu schauen, ob alles geht ;-) Um zu überprüfen, ob der installierte Collector die EMS-Daten richtig weiterleitet, installieren wir den Mosquitto-Client (Debian-Paket 'mosquitto-clients') und warten darauf, EMS-Daten zu bekommen: | Man kann diesen Schritt auch überspringen, aber es ist immer hilfreich, mal zu schauen, ob alles geht ;-) Um zu überprüfen, ob der installierte Collector die EMS-Daten richtig weiterleitet, installieren wir den Mosquitto-Client (Debian-Paket 'mosquitto-clients') und warten darauf, EMS-Daten zu bekommen: |
| |
**//"mosquitto_sub -v -t '/ems/#'"//** | **//mosquitto_sub -v -t '/ems/#'//** |
| |
Nach ein paar Sekunden sollten die Namen der Werte und die eigentlichen Werte vorbeiscrollen. | Nach ein paar Sekunden sollten die Namen der Werte und die eigentlichen Werte vorbeiscrollen. |
</file> | </file> |
| |
Der Sensor-Name (hier: /ems/sensor/hk1/targettemperature/value) kann entweder dem oben beschriebenen Test oder der hoffentlich bald entstehenden ;-) Dokumentation entnommen werden. | **Sensoren:** |
| /ems/sensor/3wayonww/value |
| /ems/sensor/burner/targetmodulation/value |
| /ems/sensor/burner/currentmodulation/value |
| /ems/sensor/errorcode/value |
| /ems/sensor/exhaust/currenttemperature/value |
| /ems/sensor/flameactive/value |
| /ems/sensor/flamecurrent/value |
| /ems/sensor/flamecurrent/value |
| /ems/sensor/heater/targettemperature/value |
| /ems/sensor/heater/currenttemperature/value |
| /ems/sensor/heater/pumpactive/value |
| /ems/sensor/heater/heaterstarts/value |
| /ems/sensor/heater/operatingminutes/value |
| /ems/sensor/heater/operatingminutes2/value |
| /ems/sensor/heater/heatingminutes/value |
| /ems/sensor/heater/currenttemperature/value |
| /ems/sensor/heateractive/value |
| /ems/sensor/heaterpump/currentmodulation/value |
| /ems/sensor/heatexchanger/currenttemperature/value |
| /ems/sensor/hk1/offoptimization/value |
| /ems/sensor/hk1/onoptimization/value |
| /ems/sensor/hk1/wwoverride/value |
| /ems/sensor/hk1/floordrying/value |
| /ems/sensor/hk1/frostprotectmodeactive/value |
| /ems/sensor/hk1/summermode/value |
| /ems/sensor/hk1/daymode/value |
| /ems/sensor/hk1/opmode/value |
| /ems/sensor/hk1/roomtargettemperature/value |
| /ems/sensor/hk1/roomcurrenttemperature/value |
| /ems/sensor/hk1/onoptimizationminutes/value |
| /ems/sensor/hk1/offoptimizationminutes/value |
| /ems/sensor/hk1/characteristic/value |
| /ems/sensor/hk1/roomtemperaturechange/value |
| /ems/sensor/hk1/requestedpower/value |
| /ems/sensor/hk1/partymode/value |
| /ems/sensor/hk1/pausemode/value |
| /ems/sensor/hk1/vacationmode/value |
| /ems/sensor/hk1/holidaymode/value |
| /ems/sensor/hk1/switchpointactive/value |
| /ems/sensor/hk1/targettemperature/value |
| /ems/sensor/ignitionactive/value |
| /ems/sensor/operatingminutes/value |
| /ems/sensor/outdoor/dampedtemperature/value |
| /ems/sensor/outdoor/currenttemperature/value |
| /ems/sensor/outdoor/currenttemperature/value |
| /ems/sensor/pressure/value |
| /ems/sensor/returnflow/currenttemperature/value |
| /ems/sensor/servicecode/value |
| /ems/sensor/systemtime/value |
| /ems/sensor/warmwaterminutes/value |
| /ems/sensor/warmwaterpreparationactive/value |
| /ems/sensor/warmwaterpreparations/value |
| /ems/sensor/warmwatersystemtype/value |
| /ems/sensor/warmwatertempok/value |
| /ems/sensor/ww/targettemperature/value |
| /ems/sensor/ww/currenttemperature/value |
| /ems/sensor/ww/daymode/value |
| /ems/sensor/ww/onetimeload/value |
| /ems/sensor/ww/desinfectionactive/value |
| /ems/sensor/ww/boostcharge/value |
| /ems/sensor/ww/sensor1failure/value |
| /ems/sensor/ww/sensor2failure/value |
| /ems/sensor/ww/failure/value |
| /ems/sensor/ww/desinfectionfailure/value |
| /ems/sensor/ww/loading/value |
| /ems/sensor/ww/flowrate/value |
| /ems/sensor/zirkpump/daymode/value |
| /ems/sensor/zirkpump/opmode/value |
| /ems/sensor/zirkpumpactive/value |
| |
| **Commands:** |
| |
| Steuerbefehle können mittel eines Commands an den EMS Bus weitergegeben werden. z.B. lautet der Befehl zum Umstellen des Heizkreises 1 der Heizung auf den Tagbetrieb: |
| * Topic: "/ems/control/hk1/mode" Message: "day" |
| |
| Ein MQTT Topic ist nach dem folgenden Pattern aufgebaut: <Präfix><Erste Ebene><Command> (ohne die jeweiligen Anführungszeichen) |
| |
| Anhand von /ems/control/hk1/mode setzt sich der Topic wie folgt zusammen: |
| |
| * Präfix: /ems/control/ |
| * Erste Ebene: hk1/ |
| * Command (hier da hk Command): mode |
| |
| |
| Präfix: "/ems/control/" |
| |
| |
| Erste Ebene |
| "hk[1|2|3|4]" |
| "ww" |
| "uba" |
| "rc" |
| "raw" (optional Flag HAVE_RAW_READWRITE_COMMAND in Makefile must be uncommented) |
| "cache" |
| "getversion" |
| "OK" |
| |
| |
| hk Commands: |
| "mode [day|night|auto]" |
| "daytemperature <temp>" |
| "nighttemperature <temp>" |
| "temperatureoverride <temp>" |
| "getholiday" |
| "holidaymode <start:YYYY-MM-DD> <end:YYYY-MM-DD>" |
| "vacationtemperature <temp>" |
| "getvacation" |
| "vacationmode <start:YYYY-MM-DD> <end:YYYY-MM-DD>" |
| "partymode <hours>" |
| "pausemode <hours>" |
| "getactiveschedule" |
| "selectschedule [family|morning|early|evening|forenoon|noon|afternoon|single|senior|custom1|custom2]" |
| "getcustomschedule [1|2]" |
| "customschedule [1|2] <index> unset" |
| "customschedule [1|2] <index> [monday|tuesday|...|sunday] HH:MM [on|off]" |
| "scheduleoptimizer [on|off]" |
| "mintemperature <temp>" |
| "maxtemperature <temp>" |
| "reductionmode [offmode|reduced|raumhalt|aussenhalt]" |
| "heatingsystem [none|heater|floorheater|convection] [outdoor|indoor]" |
| "vacationreductionmode [outdoor|indoor]" |
| "maxroomeffect <temp>" |
| "designtemperature <temp>" |
| "roomtemperatureoffset <temp>" |
| "frostprotectmode [off|byoutdoortemp|byindoortemp]" |
| "frostprotecttemperature <temp>" |
| "summerwinterthreshold <temp>" |
| "reducedmodethreshold <temp>" |
| "vacationreducedmodethreshold <temp>" |
| "cancelreducedmodethreshold <temp>" |
| "requestdata" |
| "OK" |
| |
| ww Commands: |
| "mode [on|off|auto]" |
| "temperature <temp>" |
| "limittemperature <temp>" |
| "loadonce" |
| "cancelload" |
| "getcustomschedule" |
| "customschedule <index> unset" |
| "customschedule <index> [monday|tuesday|...|sunday] HH:MM [on|off]" |
| "selectschedule [custom|hk]" |
| "showloadindicator [on|off]" |
| "thermdesinfect mode [on|off]" |
| "thermdesinfect day [monday|tuesday|...|sunday]" |
| "thermdesinfect hour <hour>" |
| "thermdesinfect temperature <temp>" |
| "zirkpump mode [on|off|auto]" |
| "zirkpump count [1|2|3|4|5|6|alwayson]" |
| "zirkpump getcustomschedule" |
| "zirkpump customschedule <index> unset" |
| "zirkpump customschedule <index> [monday|tuesday|...|sunday] HH:MM [on|off]" |
| "zirkpump selectschedule [custom|hk]" |
| "requestdata" |
| "OK" |
| |
| uba Commands |
| "antipendel <minutes>" |
| "hyst [on|off] <kelvin>" |
| "burnermodulation <minpercent> <maxpercent>" |
| "pumpmodulation <minpercent> <maxpercent>" |
| "pumpdelay <minutes>" |
| "geterrors" |
| "schedulemaintenance [off | byhour <hours / 100> | bydate YYYY-MM-DD]" |
| "checkmaintenanceneeded" |
| "testmode [on|off] <burnerpercent> <pumppercent> <3wayonww:[0|1]> <zirkpump:[0|1]>" |
| "requestdata" |
| "OK" |
| |
| rc Commands: |
| "mintemperature <temp>" |
| "buildingtype [light|medium|heavy]" |
| "outdoortempdamping [on|off]" |
| "requestdata" |
| "geterrors" |
| "getcontactinfo" |
| "setcontactinfo [1|2] <text>" |
| "settime YYYY-MM-DD HH:MM:SS" |
| "OK" |
| |
| raw Commands: |
| "read <target> <type> <offset> <len>" |
| "write <target> <type> <offset> <data>" |
| "OK" |
| |
| cache Commands: |
| "fetch <key>" |
| "OK" |
| |
| getversion commands |
| "getversion" |
===== Fertig ===== | ===== Fertig ===== |
| |
Damit haben wir die EMS-Sensorwerte in OpenHAB übernommen und können sie dort weiterverarbeiten (anzeigen, in Regeln verwenden, über die Persistenzschicht in eine Datenbank schreiben usw. usf.). | Damit haben wir die EMS-Sensorwerte in OpenHAB übernommen und können sie dort weiterverarbeiten (anzeigen, in Regeln verwenden, über die Persistenzschicht in eine Datenbank schreiben usw. usf.). |
Prinzipiell ist auch die Steuerung der Heizung über OpenHAB möglich; hiermit wird sich eine spätere Version dieser Anleitung beschäftigen. | Prinzipiell ist auch die Steuerung der Heizung über OpenHAB möglich; hiermit wird sich eine spätere Version dieser Anleitung beschäftigen. |