ETA Pelletkessel PC25 auslesen

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: ETA Pelletkessel PC25 auslesen

Beitrag von Jensemann_P »

udo1toni hat geschrieben: 9. Jun 2022 01:46 Der XPATH zum Wert heißt in diesem Fall eta/value/text()
Da fehlt mir jetzt grad echt der Zusammenhang, wo diese Info dann rein muss.

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: ETA Pelletkessel PC25 auslesen

Beitrag von Jensemann_P »

Bekomme vom Log folgende Meldung, schaut aus, als ob nur die Base-URL übermittelt wird:

Code: Alles auswählen

2022-06-09 20:19:28.447 [WARN ] [p.internal.http.HttpResponseListener] - Requesting 'http://192.168.178.148:8080/' (method='GET', content='null') failed: 404 Not Found
Aktueller Stand Thing:

Code: Alles auswählen

UID: http:url:a6c1151ee3
label: ETA PC 25
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: http://192.168.178.148:8080
  delay: 0
  stateMethod: GET
  refresh: 1
  commandMethod: GET
  contentType: text/xml
  timeout: 1000
  bufferSize: 2048
location: Heizraum Keller
channels:
  - id: ETA_Temp_Aussen
    channelTypeUID: http:number
    label: ETA Temperatur Außen
    description: null
    configuration:
      commandExtension: user/var/120/10221/0/0/12197
      stateTransformation: XSLT:eta_numeric.xsl

Benutzeravatar
udo1toni
Beiträge: 13948
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: ETA Pelletkessel PC25 auslesen

Beitrag von udo1toni »

Du setzt stateTransformation auf XPATH:eta/value/text().

Aber wie gesagt ist der Wert um den Faktor 10 verkehrt.

Die Fehlermeldung rührt daher, dass Du nur die commandExtension verwendest, Du msust aber die stateExtension verwenden.

commandExtension ist zum Senden von Befehlen an die per http angebundene Hardware, stateExtension liefert Informationen von der Hardware.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: ETA Pelletkessel PC25 auslesen

Beitrag von Jensemann_P »

DANKE!

Da hab ich dann vor lauter Bäumen den Wald nicht mehr gesehen. Kaum in state request eingetragen ging es.
Es kamen Fehlermeldungen, dass der Transformation Service nicht gefunden werden kann. Nochmal nachgeschaut und dann gerafft, dass Xpath und xslt 2 Paar Schuhe sind.

XSLT installiert, und es läuft, mit dem Script von der letzten Seite.

Was wäre hier nun der Vorteil von Xpath? Bei xpath müsste ich die Umrechnung ja später durchführen, oder geht das da dann auch "on the fly"?

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: ETA Pelletkessel PC25 auslesen

Beitrag von Jensemann_P »

Komme ich mit Xpath auch direkt an den Wert unter strval?

Code: Alles auswählen

<value uri="/user/var//120/10221/0/0/19391" strValue="Kollektortemperatur ist zu niedrig" unit="" decPlaces="0" scaleFactor="1" advTextOffset="4160">4163</value>

Benutzeravatar
udo1toni
Beiträge: 13948
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: ETA Pelletkessel PC25 auslesen

Beitrag von udo1toni »

Ja, strValue kann genauso abgefragt werden. Aber Achtung, Komma ist etwas anderes als Punkt. Ob xslt das abfängt, weiß ich nicht. XPATH ist wesentlich schlanker, was die Konfiguraiton betrifft, da es komplett ohne extra Dateien auskommt.

Wenn es ganz schlimm kommt, kann man natütlich mit dem JS Transformation Service arbeiten, dann aber wieder mit Datei, und es erscheint mir nicht sehr komfortabel, für jeden Wert eine eigene Datei anzulegen.

Hast Du mal die anderen URIs getestet?, also die drei Unterbereiche, in der Hoffnung, dass dort nicht nur ein einzelner Wert im xml landet, das hilft, um in openHAB das Einlesen der Werte per Rule komfortabel zu gestalten.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: ETA Pelletkessel PC25 auslesen

Beitrag von Jensemann_P »

Hi nochmal,

leider, leider wirft das Teil keine kompletten Kategorien zurück, ich muss mir jeden Wert einzeln holen (benötige aber zum Glück auch nur zwischen 10 und 20 davon).

Ich konnte mir jetzt schon einige Temperaturen und Füllstände bis in Items holen, numerisch funktioniert alles super.

Ein paar Eigenschaften sind auch direkt als Text hinterlegt, da würde mich der StrVal mehr interessieren als irgendein Wert, den ich dann selbst umsetzen müsste (Bspw Solarpumpe kann sein: Ein, Aus, zu kalt, Störung).

Eigentlich hätte ich es so verstanden, dass ich damit:

Code: Alles auswählen

  - id: ETA_Solarpumpe_Zustand
    channelTypeUID: http:string
    label: ETA Solarpumpe Zustand
    description: null
    configuration:
      stateExtension: user/var/120/10221/0/11139/2002
      stateTransformation: XPATH:eta/value/strValue()

das da

Code: Alles auswählen

<eta xmlns="http://www.eta.co.at/rest/v1" version="1.0">
<value uri="/user/var/120/10221/0/11139/2002" strValue="Ein" unit="" decPlaces="0" scaleFactor="1" advTextOffset="1000">1001</value>
</eta>
abfragen kann, bekomme aber NULL.

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: ETA Pelletkessel PC25 auslesen

Beitrag von Jensemann_P »

Spiele gerade (zugegeben, blindes gestocher) mit einem online Xpath-Tester rum.

Code: Alles auswählen

eta/value/strValue/text()

mag auch nicht

Benutzeravatar
udo1toni
Beiträge: 13948
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: ETA Pelletkessel PC25 auslesen

Beitrag von udo1toni »

Lass mal die Klammern weg und ergänze ein @, also eta/value/@strValue
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Jensemann_P
Beiträge: 149
Registriert: 26. Jul 2021 20:14

Re: ETA Pelletkessel PC25 auslesen

Beitrag von Jensemann_P »

Code: Alles auswählen

  - id: ETA_Solarpumpe_Zustand
    channelTypeUID: http:string
    label: ETA Solarpumpe Zustand
    description: null
    configuration:
      stateExtension: user/var/120/10221/0/11139/2002
      stateTransformation: XPATH:eta/value/@strValue
tut's leider auch nicht

Antworten