Forum: PC-Programmierung Weboberfläche von Solaranlage parsen


von Mr X. (Firma: keine) (fargotof)



Lesenswert?

Moin,

die Solaranlage meiner Eltern stellt verschiedene Ist-Werte auf einer im 
LAN- erreichbaren Website dar, verfügt aber leider scheinbar über keine 
direkt nutzbare API. Über den Umweg der Website würde ich gern trotzdem 
regelmäßig (z.B. minütlich) an verschiedene Werte gelangen, leider habe 
ich da wenig Erfahrungswerte, nach welchen Begrifflichkeiten ich mich 
zur groben Vorgehensweise umschauen muss..

Die Werte befinden sich im html-Quelltext verschachtelt, also in etwa 
wie im angehängten Screeenshot (Ich wollte das eigentlich als [code] in 
meinen Beitrag einfügen, wurde aber als spamverdächtig nicht 
akzeptiert..)

Wie ist nun z.B. in Python ein gangbarer Weg, an MEIN_WERT zu kommen und 
was sind empfehlenswerte Klassen hierfür? Sicherlich kann man auch den 
kompletten Quelltext händisch parsen, aber ich könnte mir vorstellen, 
dass es einfacher geht..?

Viele Grüße
FargoTof

von Dieter D. (dieter_dosenkohl)


Lesenswert?

Das ist die perfekte Aufgabe für ChatGPT. Der schreibt dir ein Py Script 
dafür in 10 Sekunden. Gib ihm den HTML Code und sag welche Werte er 
ausgeben soll.

von Kurt (heliosh)


Lesenswert?

Braucht das Python? Das ist in Bash ein Einzeiler

curl http://webinterface |grep meine_id | sed 's/<[^>]*>//g'

von Jörg E. (jackfritt)


Lesenswert?


von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Meine PHP-Lösung für sowas kann ich leider nicht posten, da das Forum zu 
dumm programmiert ist und scheinbar ein paar Probleme beim Parsen hat:

> Der Beitrag scheint Spam zu enthalten: ""
Glückwunsch, wer immer diesen Müll programmiert hat.

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Angehängte Dateien:

Lesenswert?

Geht's vielleicht so?

Edit: So gehts.

: Bearbeitet durch User
von Xanthippos (xanthippos)


Lesenswert?

> Braucht das Python?

Wenn du Python gelernt hast, kannst du es für alles immer wieder 
verwenden. Bis du sed mal wieder gebrauchen kannst, hast du schon längst 
wieder vergessen, wie das geht.

(Nächsten Monat findest du ein Tutorial, wie du mit Mc und MicroPython 
die Diagnoseschnittstelle der Anlage auslesen kannst :-)

von Philipp K. (philipp_k59)


Lesenswert?

Ich denke es kommt drauf an was Du mit den Werten vorhast, das 
entscheidet dann den Weg.

Am einfachsten ist Regex, dann könntest du die Daten womit du willst 
weiterverarbeiten.

ich schreibe jetzt dein html nicht vom bild ab um die ein perfektes 
Regex zu erstellen ;)

von Εrnst B. (ernst)


Lesenswert?

Zuerst sollte er sich die Wechselrichter-Webseite genauer anschauen.
Die "id"s an den Tags könnten z.B. ein Hinweis darauf sein, dass die 
Werte da ursprünglich garnicht im HTML stehen, sondern erst nachträglich 
per JS/DHTML eingefügt (und aktualisiert) werden.
d.H. mal mit den Browser-Entwickertools schauen, was die Seite so 
kommuniziert.
Evtl. gibt's ja doch eine "API", mit der sich die Webseite per 
Server-Sent-Events, Websocket, periodischen GETs usw. die Werte holt.

von Jörg (Gast)


Lesenswert?

Die meißten Script und Programmiersprachen werden eine Library kennen 
die XML parsen kann.

Das Stichwort um einen Pfad daraus zu extrahieren heißt XPath. [1]

Wenn die lieber mit einem Einzeltool arbeiten willst empfiehlt sich so 
Etwas wie Xidel [2] oder eine Kombination aus curl und xmllint.


1: https://de.wikipedia.org/wiki/XPath
2: https://github.com/benibela/xidel

von Rüdiger B. (rbruns)


Lesenswert?

Wenn wir wüssten welcher Wechselrichter( oh Verzeihung das ist ja 
Hochgeheim) könnte wir dir helfen. in FHEM werden viele Wechselrichter 
unterstützt:
https://wiki.fhem.de/wiki/Solar-/PV-%C3%9Cbersicht
Wechselrichter
Kostal
    KostalPiko
    Kostal Plenticore 10 Plus
SMA
    SMAWechselrichter
Solar Edge
    SolarEdge SE10k
Sunways
    NT5000
Speicher
    Sonnenspeicher
    Tesla Powerwall
Monitoring/Auswertung
    Enecsys Monitoring System
    SunnyHomeManager
    Datenbankgestützte Erstellung der Energiebilanz einer SMA PV-Anlage 
mit Überschusseinspeisung
    SolarLog
    SolarForecast - Solare Prognose (PV Erzeugung) und 
Verbrauchersteuerung

: Bearbeitet durch User
von Oliver S. (oliverso)


Lesenswert?

Mr X. schrieb:
> Sicherlich kann man auch den
> kompletten Quelltext händisch parsen, aber ich könnte mir vorstellen,
> dass es einfacher geht..?

Anscheinend nicht. Bei den paar Werten ist das ja auch kein Hexenwerk.

Oliver

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.