openHAB und Controme
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
openHAB und Controme
Guten Abend,
seit einiger Zeit läuft neben meinem Pi 4 mit openHAB auch noch Controme
und steuert unsere Fussbodenheizung.
Beides läuft soweit erst mal zufriedenstellend. Nun würde ich mich gerne in
der ein oder anderen Übersichtsseite in OH die Werte von Controme holen,
u.a. Temperatur und Luftfeuchtigkeit von mehreren Räumen, Außentemperatur
usw. und möchte dann damit "Sachen machen".
Jetzt gibts ja noch kein Binding, aber ein Script von BoBiene zum freien Download
auf Github, was das erstellen von eine .thing und .items Datei erst mal einfach macht.
Etwas nacharbeit ist noch notwendig.
Was ich jedoch feststelle ist, dass nach einiger Zeit, vermutlich 1-2 Wochen, die Werte
nicht mehr abgerufen werden. D.h. zum Beispiel verläuft dann die Temperaturve in OH
als gerader Strich und in der UI von Controme stehen andere Werte. Nache einem
Neustart von Controme geht das dann alles erst mal wieder. Fehlermeldungen in OH
kann ich keine finden.
Jemand hier der schon mal das gleiche hatte und evtl. eine Lösung dazu hat?
Grüße
KlausGünther
seit einiger Zeit läuft neben meinem Pi 4 mit openHAB auch noch Controme
und steuert unsere Fussbodenheizung.
Beides läuft soweit erst mal zufriedenstellend. Nun würde ich mich gerne in
der ein oder anderen Übersichtsseite in OH die Werte von Controme holen,
u.a. Temperatur und Luftfeuchtigkeit von mehreren Räumen, Außentemperatur
usw. und möchte dann damit "Sachen machen".
Jetzt gibts ja noch kein Binding, aber ein Script von BoBiene zum freien Download
auf Github, was das erstellen von eine .thing und .items Datei erst mal einfach macht.
Etwas nacharbeit ist noch notwendig.
Was ich jedoch feststelle ist, dass nach einiger Zeit, vermutlich 1-2 Wochen, die Werte
nicht mehr abgerufen werden. D.h. zum Beispiel verläuft dann die Temperaturve in OH
als gerader Strich und in der UI von Controme stehen andere Werte. Nache einem
Neustart von Controme geht das dann alles erst mal wieder. Fehlermeldungen in OH
kann ich keine finden.
Jemand hier der schon mal das gleiche hatte und evtl. eine Lösung dazu hat?
Grüße
KlausGünther
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: openHAB und Controme
Wie läuft die Anbindung, http? passen denn die aktuell angezeigten Werte in openHAB zu denen in Controme? Sprich: werden einfach keine Werte mehr persistiert, oder werden tatsächlich in openHAB keine Werte mehr geholt?
Wie sehen die Scripte aus? Wie sehen die Items aus? Welchen Persistence Service nutzt Du? Hast Du schon mal einen anderen Persistence Service ausprobiert?
Wie sehen die Scripte aus? Wie sehen die Items aus? Welchen Persistence Service nutzt Du? Hast Du schon mal einen anderen Persistence Service ausprobiert?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: openHAB und Controme
Eijeijei, ich hoffe ich kann alle Fragen beantworten.
Also wenn ich jetzt beide Pi´s neu Starte, läuft das alles wie geschmiert und OH holt sich alle 5min die Werte vom Controme Pi. Das läuft auch wie geschrieben eine gewisse Zeit Reibungslos, d.h. die Werte stimmen überein.
Das wäre aus einem Thread des erschaffers des Scriptes, damit man nicht alles einzeln selbst zusammenschreiben muss.
Thinks i do a litte diffrent:
I use the HTTP Binding with the cache functionality
With the JsonPath transform i select the values out of the JSON-Response
With Proxy-Item the Json-Array gets unpacked and the Set-Temperature get send to the Controme-Server
Raus kommt dabei eine .things Datei und eine .items Datei. Kann ich hier einstellen wenn Bedarf besteht.
Ich nutze den RRD4J Service, habe das einfach nicht umgestellt bisher, d.h. das was voreingestellt war, ist auch noch so.
Also wenn ich jetzt beide Pi´s neu Starte, läuft das alles wie geschmiert und OH holt sich alle 5min die Werte vom Controme Pi. Das läuft auch wie geschrieben eine gewisse Zeit Reibungslos, d.h. die Werte stimmen überein.
Das wäre aus einem Thread des erschaffers des Scriptes, damit man nicht alles einzeln selbst zusammenschreiben muss.
Thinks i do a litte diffrent:
I use the HTTP Binding with the cache functionality
With the JsonPath transform i select the values out of the JSON-Response
With Proxy-Item the Json-Array gets unpacked and the Set-Temperature get send to the Controme-Server
Raus kommt dabei eine .things Datei und eine .items Datei. Kann ich hier einstellen wenn Bedarf besteht.
Ich nutze den RRD4J Service, habe das einfach nicht umgestellt bisher, d.h. das was voreingestellt war, ist auch noch so.
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: openHAB und Controme
Also mein erster Tipp wäre rrd4j, aber nur als Schuss ins Blaue. Siehst Du im Log weiterhin eintrudelnde Werte? Das Proxy Item müsste gefüllt werden.
Wenn Du openHAB3 verwendest, brauchst Du eigentlich kein Proxy Item, der Cache ist der Channel, die Anbindung an die Items (JSONPPATH Transformation) geschieht dann im Link. Wenn Du http.things und http.items hier zeigst, kann ich Dir am Objekt selbst zeigen, was ich meine
Wenn Du openHAB3 verwendest, brauchst Du eigentlich kein Proxy Item, der Cache ist der Channel, die Anbindung an die Items (JSONPPATH Transformation) geschieht dann im Link. Wenn Du http.things und http.items hier zeigst, kann ich Dir am Objekt selbst zeigen, was ich meine
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: openHAB und Controme
Das geht, kein Problem. Wobei ich es jetzt nur auszugszweise gemacht habe, dass wiederholt sich ja alles irgendwie nur.....
.things
.items
.things
Code: Alles auswählen
Thing http:url:Controme "Controme" [ baseURL="http://111.111.111.11/", refresh=300,commandMethod="POST", contentType="application/x-www-form-urlencoded" ] {
Channels:
Type number : Erdgeschoss_Wohnraum "Wohnraum" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)].temperatur", mode="READONLY" ]
Type number : Erdgeschoss_Wohnraum_setpoint "Wohnraum soll" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)].solltemperatur", commandExtension="set/json/v1/1/soll/1/",commandTransformation="REGEX:s/(.+)/soll=$1&user=benutzername&password=passwort/g" ]
Type number : Erdgeschoss_Wohnraum_RL_1 "Wohnraum Rücklauf #1" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_81_4d_c2_0c_00_00_43')].wert", mode="READONLY" ]
Type number : Erdgeschoss_Wohnraum_RL_2 "Wohnraum Rücklauf #2" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_a6_44_c2_0c_00_00_83')].wert", mode="READONLY" ]
Type number : Erdgeschoss_Wohnraum_RL_3 "Wohnraum Rücklauf #3" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_eb_44_c0_0c_00_00_bb')].wert", mode="READONLY" ]
Type number : Erdgeschoss_Wohnraum_room "Wohnraum Raumtemperatur" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_d7_e7_58_0d_00_00_00')].wert", mode="READONLY" ]
Type number : Erdgeschoss_Wohnraum_sensor4 "RS_EG_3_b" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)]..sensoren[?(@.name=='26_07_eb_68_02_00_00_8d')].wert", mode="READONLY" ]
Type contact : Erdgeschoss_Wohnraum_Relay_1 "Wohnraum Ausgang 1" [stateExtension="get/json/v1/1/outs/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)].ausgang.['1']",openValue="1",closedValue="0", mode="READONLY" ]
Type contact : Erdgeschoss_Wohnraum_Relay_3 "Wohnraum Ausgang 3" [stateExtension="get/json/v1/1/outs/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)].ausgang.[' 3']",openValue="1",closedValue="0", mode="READONLY" ]
Type contact : Erdgeschoss_Wohnraum_Relay_2 "Wohnraum Ausgang 2" [stateExtension="get/json/v1/1/outs/", stateTransformation="JSONPATH:$..raeume[?(@.id==1)].ausgang.[' 2']",openValue="1",closedValue="0", mode="READONLY" ]
Type number : Erdgeschoss_Kueche "Küche" [stateExtension="get/json/v1/1/temps/", stateTransformation="JSONPATH:$..raeume[?(@.id==2)].temperatur", mode="READONLY" ]
.items
Code: Alles auswählen
Group gErdgeschoss_WohnraumThermostat "Wohnraum" <heating> ["RadiatorControl"] {alexa = "Endpoint.Thermostat"}
Number:Temperature Controme_Erdgeschoss_Wohnraum "Wohnraum" <temperature> (gErdgeschoss_WohnraumThermostat) ["Point","Temperature"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum",alexa="TemperatureSensor.temperature" }
Number:Temperature Controme_Erdgeschoss_Wohnraum_setpoint "Wohnraum Soll" <temperature> (gErdgeschoss_WohnraumThermostat) ["Point","Temperature"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_setpoint",alexa="TemperatureSensor.targetSetpoint" }
Number:Temperature Controme_Erdgeschoss_Wohnraum_RL_1 "Wohnraum Rücklauf #1" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_RL_1"}
Number:Temperature Controme_Erdgeschoss_Wohnraum_RL_2 "Wohnraum Rücklauf #2" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_RL_2"}
Number:Temperature Controme_Erdgeschoss_Wohnraum_RL_3 "Wohnraum Rücklauf #3" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_RL_3"}
Number:Temperature Controme_Erdgeschoss_Wohnraum_room "Wohnraum Raumtemperatur" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_room"}
Number Controme_Erdgeschoss_Wohnraum_sensor4 "RS_EG_3_b" <humidity> (gErdgeschoss_WohnraumThermostat) ["Measurement","Humidity"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_sensor4"}
Contact Controme_Erdgeschoss_Wohnraum_Relay_1 "Wohnraum Ausgang 1" <fire> (gErdgeschoss_WohnraumThermostat) ["OpenState"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_Relay_1"}
Contact Controme_Erdgeschoss_Wohnraum_Relay_3 "Wohnraum Ausgang 3" <fire> (gErdgeschoss_WohnraumThermostat) ["OpenState"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_Relay_3"}
Contact Controme_Erdgeschoss_Wohnraum_Relay_2 "Wohnraum Ausgang 2" <fire> (gErdgeschoss_WohnraumThermostat) ["OpenState"] {channel="http:url:Controme_E128E4EE:Erdgeschoss_Wohnraum_Relay_2"}
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: openHAB und Controme
Ich hatte natürlich etwas verkürzt. wie immer...
Dennoch: Ein Teil der Items lässt sich an einen Channel anbinden (und damit eben Channel einsparen):
Dies ist der Cache für alle Werte, die nur gelesen werden müssen. Leider gibt es ein paar Channel, die separat gebraucht werden, weil sie nicht readonly sind.
Abzubilden sind folgende Items:
Man kann schön sehen, dass bis auf den Path die Items quasi identisch bestückt werden. In diesem Zusammenhang möchte ich auch für kurze Item- und Channelnamen werben. Eigentlich ist es egal, dass die Items zu Controme gehören, das Wort kann also weg. Erdgeschoss ist zwar klar, EG im Zusammenhang aber genauso leicht verständlich. Ergäbe dann z.B. EG_Wohnraum_RL_1, kurz, dennoch eindeutig und verständlich.
Lange Channelnamen führen vor allem zu viel Tipparbeit
Was die Relais Rückmeldung betrifft, warum verwendest Du da contact? Schon READONLY sollte reichen, auch einen switch Channel ohne Eingabemöglichkeit zu generieren. Leider wird statt ON und OFF 0 und 1 geliefert, so dass Du nicht um on="1" und off="0" herum kommst. Deshalb lassen sich die Relais nicht so schön zu einem Channel zusammenfassen. Bei den übrigen Sensoren klappt das aber ganz gut...
Dennoch: Ein Teil der Items lässt sich an einen Channel anbinden (und damit eben Channel einsparen):
Code: Alles auswählen
Type string : cache_temp "Cache Channel Temp" [stateExtension="get/json/v1/1/temps/", mode="READONLY" ]
Abzubilden sind folgende Items:
Code: Alles auswählen
Number:Temperature Controme_Erdgeschoss_Wohnraum "Wohnraum" <temperature> (gErdgeschoss_WohnraumThermostat) ["Point","Temperature"] {channel="http:url:Controme_E128E4EE:cache_temp" [profile="transform:JOSONPATH", function="$..raeume[?(@.id==1)].temperatur"],alexa="TemperatureSensor.temperature" }
Number:Temperature Controme_Erdgeschoss_Wohnraum_RL_1 "Wohnraum Rücklauf #1" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:cache_temp" [profile="transform:JOSONPATH", function="$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_81_4d_c2_0c_00_00_43')].wert"] }
Number:Temperature Controme_Erdgeschoss_Wohnraum_RL_2 "Wohnraum Rücklauf #2" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:cache_temp" [profile="transform:JOSONPATH", function="$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_a6_44_c2_0c_00_00_83')].wert"] }
Number:Temperature Controme_Erdgeschoss_Wohnraum_RL_3 "Wohnraum Rücklauf #3" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:cache_temp" [profile="transform:JOSONPATH", function="$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_eb_44_c0_0c_00_00_bb')].wert"] }
Number:Temperature Controme_Erdgeschoss_Wohnraum_room "Wohnraum Raumtemperatur" <temperature> (gErdgeschoss_WohnraumThermostat) ["Measurement","Temperature"] {channel="http:url:Controme_E128E4EE:cache_temp" [profile="transform:JOSONPATH", function="$..raeume[?(@.id==1)]..sensoren[?(@.name=='28_d7_e7_58_0d_00_00_00')].wert"] }
Number Controme_Erdgeschoss_Wohnraum_sensor4 "RS_EG_3_b" <humidity> (gErdgeschoss_WohnraumThermostat) ["Measurement","Humidity"] {channel="http:url:Controme_E128E4EE:cache_temp" [profile="transform:JOSONPATH", function="$..raeume[?(@.id==1)]..sensoren[?(@.name=='26_07_eb_68_02_00_00_8d')].wert"] }
Lange Channelnamen führen vor allem zu viel Tipparbeit
Was die Relais Rückmeldung betrifft, warum verwendest Du da contact? Schon READONLY sollte reichen, auch einen switch Channel ohne Eingabemöglichkeit zu generieren. Leider wird statt ON und OFF 0 und 1 geliefert, so dass Du nicht um on="1" und off="0" herum kommst. Deshalb lassen sich die Relais nicht so schön zu einem Channel zusammenfassen. Bei den übrigen Sensoren klappt das aber ganz gut...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: openHAB und Controme
Ich muss ehrlich gesagt gestehen das ich keine Ahnung habe wovon Du sprichst
Ich habe es mir einfach gemacht und ein Script benutzt das jemand entwickelt hat der jetzt wohl auch dabei ist ein Binding für OH3 zu entwickeln.
Daher verstehe ich und bin auch ganz bei Dir, dass man sich Tipparbeit ersparen kann, aber die hatte ich nicht. Und Aufteilung in Ober u Erdgeschoss kommt übrigens daher, dass da zwei verschiedene Gateways laufen.
Das "Relay" wird auch so nicht funktionieren da es sich dabei um einen Wert zwischen 0-100% liegen kann, also kein klassischer Stellantrieb der Nur an oder Aus ist, da würde der Switch ja gehen.
Und dann ist es eh noch etas durcheinander, weil der Luftfeuchtigkeitssensor "RS_EG_3_b" nur als Temperatur erkannt wird. Wobei er ja auch so angelegt ist.
Ich habe es mir einfach gemacht und ein Script benutzt das jemand entwickelt hat der jetzt wohl auch dabei ist ein Binding für OH3 zu entwickeln.
Daher verstehe ich und bin auch ganz bei Dir, dass man sich Tipparbeit ersparen kann, aber die hatte ich nicht. Und Aufteilung in Ober u Erdgeschoss kommt übrigens daher, dass da zwei verschiedene Gateways laufen.
Das "Relay" wird auch so nicht funktionieren da es sich dabei um einen Wert zwischen 0-100% liegen kann, also kein klassischer Stellantrieb der Nur an oder Aus ist, da würde der Switch ja gehen.
Und dann ist es eh noch etas durcheinander, weil der Luftfeuchtigkeitssensor "RS_EG_3_b" nur als Temperatur erkannt wird. Wobei er ja auch so angelegt ist.
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: openHAB und Controme
Ja, die tollen Scripte, die so im Umlauf sind...
Ich sag mal so: Für den Entwickler des jeweiligen Scripts ist das Ergebnis ideal. Aber nicht alle Menschen sind gleich. Ich habe mir solche Dinge auch schon angeschaut, aber sie sind einfach viel zu unflexibel. Ich möchte an dieser Stelle einfließen lassen, dass ich mich beruflich viel mit Automation von Abläufen in der Steuerung beschäftige, und zwar als Anwender. Ich sitze aber mit den Entwicklern zusammen, wenn neue Automationen entwickelt werden, und das ist immer mit extrem viel Handarbeit verbunden (und wir reden von Steuersystemen, deren Einstiegspreis jenseits der 200.000 € liegt - Grenze nach oben einigermaßen offen, es gibt auch Beispielsysteme, die im siebenstelligen Bereich angesiedelt sind.
Worauf ich damit hinaus will: Es ist Handarbeit. Scripte, und seien sie noch so ausgeklügelt, werden niemals alles berücksichtigen können, was der Anwender haben mag.
Ich sag mal so: Für den Entwickler des jeweiligen Scripts ist das Ergebnis ideal. Aber nicht alle Menschen sind gleich. Ich habe mir solche Dinge auch schon angeschaut, aber sie sind einfach viel zu unflexibel. Ich möchte an dieser Stelle einfließen lassen, dass ich mich beruflich viel mit Automation von Abläufen in der Steuerung beschäftige, und zwar als Anwender. Ich sitze aber mit den Entwicklern zusammen, wenn neue Automationen entwickelt werden, und das ist immer mit extrem viel Handarbeit verbunden (und wir reden von Steuersystemen, deren Einstiegspreis jenseits der 200.000 € liegt - Grenze nach oben einigermaßen offen, es gibt auch Beispielsysteme, die im siebenstelligen Bereich angesiedelt sind.
Worauf ich damit hinaus will: Es ist Handarbeit. Scripte, und seien sie noch so ausgeklügelt, werden niemals alles berücksichtigen können, was der Anwender haben mag.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 143
- Registriert: 16. Jul 2018 08:57
- Wohnort: Werl
- Kontaktdaten:
Re: openHAB und Controme
Also ob es jetzt die Lösung ist weiß ich nicht, aber:
- Ich habe die vom Script erstellten Dateien mal aufgeräumt und z.B. die Contacts auskommentiert.
- Ich habe die Channel u Items mal etwas weniger lang benannt und überflüssiges rausgeworfen und verkürzt (z.B. aus Oberschoss wurde OG)
Nun scheint es (teu teu teu) zu laufen. Das einzige was noch nicht stimmt, ist das der Luftfeuchtigkeit keine Einheiten hinzugefügt wurden.
- Ich habe die vom Script erstellten Dateien mal aufgeräumt und z.B. die Contacts auskommentiert.
- Ich habe die Channel u Items mal etwas weniger lang benannt und überflüssiges rausgeworfen und verkürzt (z.B. aus Oberschoss wurde OG)
Nun scheint es (teu teu teu) zu laufen. Das einzige was noch nicht stimmt, ist das der Luftfeuchtigkeit keine Einheiten hinzugefügt wurden.
- udo1toni
- Beiträge: 13864
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: openHAB und Controme
Ja, da steht ja auch nur Number und nicht Number:Dimensionless (relative Luftfeuchte wird in % angegeben, sie ist dimensionslos...)KlausGünther hat geschrieben: ↑30. Jun 2022 10:36 Das einzige was noch nicht stimmt, ist das der Luftfeuchtigkeit keine Einheiten hinzugefügt wurden.
Es kann allerdings sein, dass der Wert dann um Faktor 100 zu hoch ist (also z.B. 4000 % statt 40 %), dann wäre es vermutlich das Einfachste, die Einheit in der Formatierung des Labels zu ergänzen. "RS_EG_3_b [%d %%]"
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet