Http Daten empfangen und senden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
maddin2020
Beiträge: 30
Registriert: 29. Sep 2019 11:21
Answers: 0

Http Daten empfangen und senden

Beitrag von maddin2020 »

Hallo,

ich bin aktuell dabei mein Openhab von 2.5 auf 3 umzsutellen und komme beim Http Binding nicht weiter. Ich habe ein Heizungscontroller der über ein XML Datei gesteuert werden kann.

Im alten Openhab sieht meine Config so aus und lief immer gut

in der alten http1.cfg Stand der Pfad

Code: Alles auswählen

HeizungUG.url=http://192.168.178.xxx/data/static.xml
HeizungUG.updateInterval=100000
in der items Datei konnte ich direkt über den Befehl XPATH hinter dem Item die Daten auslesen auslesen

Code: Alles auswählen

Number		IstTempDiele	" Isttemperatur Diele [%.1f °C]"		{http="<[HeizungUG:11000:XPATH(/Devices/Device/HEATAREA[@nr='6']/T_ACTUAL/text())]"}
Setzen konnte ich die Temperatur über folgende Rule

Code: Alles auswählen

rule "Solltemperatur Diele"
    when
    Item WunschSollTempDiele changed
    then
    val String strXML1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> <Devices> <Device> <ID>Erdgeschoss</ID> <HEATAREA nr=\"6\"> <T_TARGET>"
    val String strXML2 = "</T_TARGET> </HEATAREA> </Device> </Devices>"
    sendHttpPostRequest("http://192.168.178.xxx/data/changes.xml", "application/xml", strXML1 + WunschSollTempDiele.state.toString + strXML2)
end

In Openhab 3 habe ich nun mal angefangen und folgendes vorgesehen

Heizung.things

Code: Alles auswählen

Bridge http:url:Heizung_UG "Heizungscontroller UG" @ "Diele" [
	baseURL="http://192.168.178.xxx/data/static.xml",
	  refresh=10000,
	  commandMethod="GET",
	  timeout=3000,
	  bufferSize=2048
	] {
		Channels:
			Type Number : IstTempDiele	"Isttemperatur Diele [%.1f °C]"	[ stateTransformation="XPATH(/Devices/Device/HEATAREA[@nr='6']/T_ACTUAL/text())]"]
		}
Damit sollte ich doch schon mal die Daten auslesen können oder ?

Wie könnte die Regel nun in Openhab 3 aussehen um die Solltemperatur zu schreiben.

Danke vorab allen für eure Hilfe.

Gruß Martin

Antworten