Seite 1 von 1

HTTP-Binding: Werte aus einer HTML-Seite auslesen

Verfasst: 10. Apr 2022 17:18
von Micha-SHG
Hallo zusammen,
in Sachen "Werte aus einer HTML-Seite auslesen" stehe ich gerade vor einer absoluten Anfängerfrage, nämlich: "Wie geht das?"
Leider habe ich noch kein für mich passendes Beispiel gefunden, daher die Hoffnung, dass mir hier jemand hilft.

Meine Ausgangssituation:
- openHAB 3.2.0
- Auf einer HTML-Internetseite werden mir die Leistungsdaten meines Solarstrom-Wechselrichters zur Verfügung gestellt.
- Von dieser Seite möchte ich vier Einzelwerte auslesen und in Items ablegen

Einer der mich interessierenden Werte ist z.B. der hier gelb markierte (heute erzeugte Energie):
Bild04.jpg
der gesamte XPath hierzu lautet:
"/html/body/div[2]/ul/li[3]/div/p/span"

Wie muss ich vorgehen, um an diesen Wert zu gelangen?
Ich habe bereits ein Thing und einen Channel angelegt, erhalte aber keinen Wert in mein verlinktes Item:

Code: Alles auswählen

UID: http:url:b8b15fa249
label: HTTP URL Thing Growatt
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: https://server.growatt.com/singlePage/toSinglePage/...
  delay: 0
  stateMethod: GET
  refresh: 600
  commandMethod: GET
  timeout: 3000
  bufferSize: 2048
location: Aussen
channels:
  - id: EnergieHeute
    channelTypeUID: http:number
    label: Energie heute
    description: ""
    configuration:
      stateTransformation: XPath:/html/body/div[2]/ul/li[3]/div/p/span class=\"eToday\"/text()
Ich vermute, in der letzten Zeile liegt der Hase im Pfeffer. Kann mir hier jemand einen Tipp geben?

LG Michael

Re: HTTP-Binding: Werte aus einer HTML-Seite auslesen

Verfasst: 10. Apr 2022 19:09
von udo1toni
Hast Du XPATH auch installiert? Das findest Du in
Administration -> Einstellungen -> Add-Ons -> Other Add-Ons -> Transformation Add-ons -> XPath Transformation

Weiterhin (falls das mit der Installation schon passt...) gehe ist fest davon aus, dass Du in der stateTransformation XPATH: schreiben musst (also alles in Großbuchstaben).
Ob der Path selbst so stimmt, müsste man im Zweifel mit einem Evaluator prüfen, XPath habe ich bisher nur einmal überhaupt nutzen müssen...

Re: HTTP-Binding: Werte aus einer HTML-Seite auslesen

Verfasst: 11. Apr 2022 22:00
von Micha-SHG
Danke Udo für Deine Hinweise.

- Ja, "XPath Transformation" war schon installiert
- Die Großschreibweise von "XPATH:" hat nichts geändert
- mit einem Online-Evaluator bin ich auch nicht an die gewünschten Werte herangekommen

Dies hat mich dazu gebracht, die HTML-Seite einmal näher zu durchforsten, wobei ich festgestellt habe, dass meine gesuchten Werte gar nicht direkt in der HTML stecken, sondern über eine externe Referenz auf Daten im JSON-Format mit eingebunden sind. Damit ist die Grenze meiner Fähigkeiten nun leider überschritten.
Falls mal jemand an der selben Stelle stecken bleibt, um an seine Growatt-Daten heranzukommen, kann er sich gerne bei mir melden und wir versuchen es dann gemeinsam.