HTTP-Binding: Werte aus einer HTML-Seite auslesen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Micha-SHG
Beiträge: 23
Registriert: 11. Mär 2018 09:54
Answers: 0

HTTP-Binding: Werte aus einer HTML-Seite auslesen

Beitrag 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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

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

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

Beitrag 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...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Micha-SHG
Beiträge: 23
Registriert: 11. Mär 2018 09:54
Answers: 0

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

Beitrag 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.

Antworten