Seite 2 von 2

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 31. Dez 2020 14:41
von mcdandrew
Ich habe eine Internetseite zum Testen der XPATH Abfragen gefunden...damit funktioniert es super.

https://www.freeformatter.com/xpath-tes ... #ad-output

Code: Alles auswählen

<PCOWEB>
<PCO>
<ANALOG>
<VARIABLE>
<INDEX>1</INDEX>
<VALUE>0.0</VALUE>
</VARIABLE>
<VARIABLE>
<INDEX>2</INDEX>
<VALUE>0.0</VALUE>
</VARIABLE>
<VARIABLE>
<INDEX>3</INDEX>
<VALUE>0.0</VALUE>
</VARIABLE>
<VARIABLE>
<INDEX>4</INDEX>
<VALUE>0.0</VALUE>
</VARIABLE>
<VARIABLE>
<INDEX>5</INDEX>
<VALUE>4.7</VALUE>
</VARIABLE>
<VARIABLE>
<INDEX>6</INDEX>
<VALUE>0.0</VALUE>
</VARIABLE>
</ANALOG>
</PCO>
</PCOWEB>
Meine Testabfrage lautet:

Code: Alles auswählen

/PCOWEB/PCO/ANALOG/VARIABLE[5]/VALUE[1]/text()
Ergebnis: 4.7

Die Meldung im LOG lautet..
Transformation service XPATH for pattern /PCOWEB/PCO/ANALOG/VARIABLE[5]/VALUE[1]/text() not found!

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 1. Jan 2021 14:35
von mcdandrew
Ich kann Entwarnung geben....nach einem Neustart funktioniert nun alles wie gewünscht :roll:
Falls es jemand benötigt hier die entsprechenden Files (am Beispiel für die Aussentemperatur)

@Udo
Ich danke Dir wie immer für deine Untersützung...du bist eine echte Bereicherung für dieses Forum und für den Erfolg von Openhab.
Ohne deine zahlreichen Tipps hätte ich wohl schon lange aufgegeben :roll:

wpm.things

Code: Alles auswählen

Thing http:url:wpm_analog "Wärmepumpe Analog" [ 
    baseURL="http://192.168.10.5/usr-cgi/xml.cgi?A%%7c1%%7c207",
    refresh=60
    ] {
    Channels: 
		Type number : WPM_Aussentemp "Außentemperatur" [stateTransformation="XPATH:/PCOWEB/PCO/ANALOG/VARIABLE[27]/VALUE[1]/text()"]
		
		}
wpm.items

Code: Alles auswählen

Number wpm_aussen_temp  "Aussentemperatur [%s]" 		{channel="http:url:wpm_analog:WPM_Aussentemp2"}

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 30. Apr 2021 23:29
von joob
Ich hab meine Wärmepumpe in OH2.5, dank diesem Forum, wunderbar hin bekommen. Allerdings bei OH3 bekomme ich es auch nach vielen Stunden nicht zu laufen.

Die Wärmepumpe wird mir in der Oberfläche als Online angezeigt, im Log zeigt es keinen Fehler.

Lediglich alle 100 Minuten bekommen ich ein Datum bei welchem sich die Uhrzeit um ein paar Stunden ändert: (egal welche Variable ich abfrage, bei mir ist die Aussentemp. Variable 1 nicht 27)

Code: Alles auswählen

2021-04-30 18:45:48.137 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'wpm_aussen_temp' changed from 1970-01-01T00:00:11.000+0000 to 1970-01-01T00:00:09.000+0000 
Muss ich neben dem XPath Transformation Service noch weiter Bindings usw. installieren oder noch irgend eine Datei anlegen?

Vielen Dank im Voraus!

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 23. Dez 2021 09:50
von ALF69
Hallo,

ich habe auch Probleme mit meiner Dimplex Wärmepumpe seitdem ich auf OH 3.2 gegangen bin.
@mcdandrew: Vielleicht kannst Du uns dabei helfen, ich komme hier nicht weiter. Ich habe es mit RegEx probiert mit XPath auch.
Ich bekommen keine Ergebnisse!

Vielen Dank im Voraus!

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 25. Dez 2021 01:32
von mcdandrew
Ich habe meine Openhab Instanz nun in einem Docker Container laufen und bekomme seitdem auch keine Werte von meiner Dimplex.
Alle Items werden als "Undef" angezeigt.

Meine ConfigFiles hatte ich von meinem alten Raspberry kopiert...ich denke eine Konfigurationsfehler ist ausgeschlossen.
XPATH Addon ist installiert und auch sonst kann ich keine Fehler im LOG sehen.

Eventuell gab es eine grundlegende Umstellung beim Thema XPATH....hat da jemand eventuell weitere Infos?
Welche Möglichkeiten gibt es ansonsten noch an die XML Werte zu gelangen?

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 25. Dez 2021 07:16
von sihui
mcdandrew hat geschrieben: 25. Dez 2021 01:32 hat da jemand eventuell weitere Infos?
In den Release Notes für openHAB 3.2 sieht es nicht nach Breaking Changes für XPATH aus:

https://github.com/openhab/openhab-dist ... he-upgrade
mcdandrew hat geschrieben: 25. Dez 2021 01:32 Welche Möglichkeiten gibt es ansonsten noch an die XML Werte zu gelangen?
Hast du mal die Suche bemüht? Wir hatten das Thema gerade erst, inklusive Lösung:

viewtopic.php?p=40438#p40438

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 25. Dez 2021 08:19
von mcdandrew
Ja hatte den Beitrag gesehen...der Umweg über eine Rule an die Werte zu gelangen gefällt mir allerdings nicht.
Ich hätte es schon gern über Transformation gelöst...zumal das mit XPATH immer problemlos funktionierte.

Gibt es eventuell noch ein Abhängigkeit die ich nicht installiert habe?
Was mir außerdem auffällt ist, dass bei den Items in den Eigenschaften unter "Profile" Standard ausgewählt ist und nicht XPATH....liegt hier eventuell schon der Fehler?

Re: Dimplex Wärmepumpe in Openhab einbinden

Verfasst: 25. Dez 2021 22:07
von mcdandrew
Nachdem ich an der XML Abfrage gescheitert bin, habe ich bei der Suche nach weiteren offenen Schnittstellen einen offenen Port 502 (Modbus TCP) gefunden.

Die Daten hole ich mir nun per Modbus...klappt super.
Hier kurz als Beispiel für die Außentemperatur

wpm.things

Code: Alles auswählen

Bridge modbus:tcp:wpm [ host="192.168.10.99", port=502, id=1,timeBetweenTransactionsMillis=1200, connectMaxTries=1, reconnectAfterMillis=0, timeBetweenReconnectMillis=0, connectTimeoutMillis=10000, enableDiscovery=false ]
{
	Bridge poller analog_wpm [ start=27, length=3, refresh=10000, type="holding" ]
	{
		Thing data  WPM_Aussentemp 	[ readStart="27", readValueType="int16",readTransform="JS(divide10.js)", updateUnchangedValuesEveryMillis="5000000" ]
}
}
wpm.items

Code: Alles auswählen

Number wpm_aussen_temp		"Aussentemperatur [%.1f °C]" 	{ channel="modbus:data:wpm:analog_wpm:WPM_Aussentemp:number" } 
divide10.js (ablegen in transform)

Code: Alles auswählen

// Wrap everything in a function (no global variable pollution)
// variable "input" contains data passed by openHAB
(function(inputData) {
    // on read: the polled number as string
    // on write: openHAB command as string
    var DIVIDE_BY = 10;
    return parseFloat(inputData) / DIVIDE_BY;
})(input)


Hier noch ein Link zur Datenpunktliste

https://dimplex.atlassian.net/wiki/spac ... punktliste