ESERA EC1 in Openhab integrieren
Verfasst: 4. Sep 2025 12:45
Hallo,
Ich versuche das ESERA EC1 Modul in Openhab zu integrieren und komme leider nur sehr langsam voran
Konnte leider keine Beispiele ergoogeln welche mir weiter geholfen hätten.
Mit etwas Hilfe vom englischen Forum hab ich die Sensordaten hinbekommen.
Wäre euch sehr verbunden wenn ihr mir hier weiter unter die Arme greifen könntet.
Binding: SmartHome/J TCP/UDP Binding https://docs.smarthomej.org/4.3.0-SNAPS ... cpudp.html
Verbindung klappt soweit dass ich folgenden String ausgelesen bekomme.
Items:
Die Sensorwerte habe ich schlussendlich über eine Rule abgedeckt da ich mit einer zuweisung mehrerer Items zum channel die division durch 100 nicht hinbekommen habe. Und für jedes "Gerät" (OWD1...3) einen Channel anzulegen hat das Problem generiert dass jeder Channel die selbe Abfrage durchführt. Soweit ich verstanden habe ist zu jedem Channel in diesem Binding zwingend ein "stateContent" zu definieren (GET,SYS,DATA)
Wenn es wesentlich Sinnvoller ist dies dennoch über die Channel/Item Definition abzudecken als über eine Rule bitte um Hilfe wie ich dies bewerkstelligen sollte.
Nun zum eigentlichen Problem einen Schaltbefehl auszuführen.
Über das Terminalprogram Hercules kann ich mit dem OFFBefehl "set,owd,out,3,1,0" und ONBefehl "set,owd,out,3,1,1" den entsprechenden Ausgang schalten. Habe mit obiger Channel Definition (Mapping) versucht es umzusetzen aber es klappt leider nicht.
Weiters beim onValue bin ich nicht sicher of * als Platzhalter funktioniert da dieses Modul 8 Ausgänge hat und der ensprechende Ausgang der letzten Stelle "1_OWD3_4|00001100" entspricht.
Vielen Lieben Dank
Christoph
Ich versuche das ESERA EC1 Modul in Openhab zu integrieren und komme leider nur sehr langsam voran

Konnte leider keine Beispiele ergoogeln welche mir weiter geholfen hätten.
Mit etwas Hilfe vom englischen Forum hab ich die Sensordaten hinbekommen.
Wäre euch sehr verbunden wenn ihr mir hier weiter unter die Arme greifen könntet.
Binding: SmartHome/J TCP/UDP Binding https://docs.smarthomej.org/4.3.0-SNAPS ... cpudp.html
Verbindung klappt soweit dass ich folgenden String ausgelesen bekomme.
Code: Alles auswählen
1_EVT|12:22:58
1_OWD1|2362
1_OWD2|2387
1_OWD3_1|255
1_OWD3_2|11111111
1_OWD3_3|12
1_OWD3_4|00001100
Code: Alles auswählen
Thing tcpudp:client:string "my ESERA Data" [ host="192.168.0.60", port="5000", protocol="TCP", timeout="15000" ] {
Channels:
Type string : TCPChannel "my ESERA TCP Channel" [ stateContent="GET,SYS,DATA" ]
Type switch : ESERA_S1 "Esera test switch 1" [ commandTransformation = "MAP:|0=set,owd,out,3,1,0 ; 1=set,owd,out,3,1,1",
onValue="1_OWD3_4|*******1" , offValue="1_OWD3_4|*******0"]}
Code: Alles auswählen
String ESERA_1Wire_String "ESERA OneWire String" { channel="tcpudp:client:string:TCPChannel"}
Switch ESERA_TestSwitch "ESERA Test Switch" { channel="tcpudp:client:string:ESERA_S1"}
Code: Alles auswählen
rule "ESERA OneWire"
when
Item ESERA_1Wire_String changed
then
var Number newValue = Integer::parseInt(transform("REGEX", ".*OWD1\\|(\\d+).*", ESERA_1Wire_String.state.toString))
newValue = newValue / 100
Temp_Solar_New.postUpdate(newValue)
end
Wenn es wesentlich Sinnvoller ist dies dennoch über die Channel/Item Definition abzudecken als über eine Rule bitte um Hilfe wie ich dies bewerkstelligen sollte.
Nun zum eigentlichen Problem einen Schaltbefehl auszuführen.
Über das Terminalprogram Hercules kann ich mit dem OFFBefehl "set,owd,out,3,1,0" und ONBefehl "set,owd,out,3,1,1" den entsprechenden Ausgang schalten. Habe mit obiger Channel Definition (Mapping) versucht es umzusetzen aber es klappt leider nicht.
Weiters beim onValue bin ich nicht sicher of * als Platzhalter funktioniert da dieses Modul 8 Ausgänge hat und der ensprechende Ausgang der letzten Stelle "1_OWD3_4|00001100" entspricht.
Vielen Lieben Dank
Christoph