Html auslesen und in Var schreiben
Moderator: Co-Administratoren
-
- Beiträge: 12
- Registriert: 02.11.2017, 12:58
- System: CCU und Access Point
- Hat sich bedankt: 2 Mal
Html auslesen und in Var schreiben
Hallo Zusammen,
prinzipiell ist das HTML auslesen uns in eine Variable schreiben kein Problem, wenn sich der HTML-Code nicht großartig ändert.
Mein Problem ist, ich möchte die Leistungsdaten von meiner PV-Anlagen einlesen.
Anbei eine Bild zum besseren Verständnis.
Im HTML-Code werden vielen Werte ausgegeben und mit einem "Komma" getrennt.
Das Problem ist, dass sich die Zahlenstellen ändern.
zB. für Watt ...,1560,.... oder ...,180,....
Kann man irgendwie ein script schreiben, dass einen Wert zwischen den 8 und 9 Komma ausliest?
prinzipiell ist das HTML auslesen uns in eine Variable schreiben kein Problem, wenn sich der HTML-Code nicht großartig ändert.
Mein Problem ist, ich möchte die Leistungsdaten von meiner PV-Anlagen einlesen.
Anbei eine Bild zum besseren Verständnis.
Im HTML-Code werden vielen Werte ausgegeben und mit einem "Komma" getrennt.
Das Problem ist, dass sich die Zahlenstellen ändern.
zB. für Watt ...,1560,.... oder ...,180,....
Kann man irgendwie ein script schreiben, dass einen Wert zwischen den 8 und 9 Komma ausliest?
-
- Beiträge: 111
- Registriert: 27.08.2019, 08:43
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 88 Mal
- Danksagung erhalten: 16 Mal
Re: Html auslesen und in Var schreiben
Du ließt aber kein HTML aus sondern JSON.
Lass dich doch bei anderen "JSON-Scripten" inspirieren: search.php?keywords=JSON
Lass dich doch bei anderen "JSON-Scripten" inspirieren: search.php?keywords=JSON
-
- Beiträge: 9737
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 705 Mal
- Danksagung erhalten: 1643 Mal
Re: Html auslesen und in Var schreiben
Aber die Anzahl der Werte bleibt gleich?! Und ist immer durch , getrennt? Dann mit StrValueByIndex() den x. Wert auslesen und fertig.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 12
- Registriert: 02.11.2017, 12:58
- System: CCU und Access Point
- Hat sich bedankt: 2 Mal
Re: Html auslesen und in Var schreiben
Ja, das ist korrekt. Die Anzahl der Werte bleiben gleich.
Hast du zufällig ein Bespielscript für mich?
-
- Beiträge: 9737
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 705 Mal
- Danksagung erhalten: 1643 Mal
Re: Html auslesen und in Var schreiben
Steht in der Skript-Doku Teil 1
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 6775
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 495 Mal
Re: Html auslesen und in Var schreiben
Und was willst Du damit dann genau anstellen, das in einer Visualisierung anzeigen oder mit dem Wert intern auf der CCU weiter rechnen?skorpion_inka hat geschrieben: ↑01.07.2020, 11:14Kann man irgendwie ein script schreiben, dass einen Wert zwischen den 8 und 9 Komma ausliest?
Wenn es Dir lediglich um ein Anzeigen eines solchen Werts in einer Visualisierung neben den Homematic Geräten geht, kannst Du z.B. mit NEO, das der CCU3 beiliegt, so einen JSON Wert per HTTP auslesen und dann als Wert neben Deinen Homematic Geräten in der Steuerungsoberfläche anzeigen.
- Black
- Beiträge: 5508
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 427 Mal
- Danksagung erhalten: 1088 Mal
- Kontaktdaten:
Re: Html auslesen und in Var schreiben
Die Frage des TO war nach einer HM Lösung und nicht nach advertising Produkten.
Es geht recht einfach nur mit den von EQ3 veröffentlichten scriptbefehlen. Den Part zwischen data:[ und ],Staus extrahieren, dann sowie von Michael N schon beschrieben. B
Mit StrValueByIndex (",",8) lässt sich dazwischen dann der string packen...
Black
Es geht recht einfach nur mit den von EQ3 veröffentlichten scriptbefehlen. Den Part zwischen data:[ und ],Staus extrahieren, dann sowie von Michael N schon beschrieben. B
Mit StrValueByIndex (",",8) lässt sich dazwischen dann der string packen...
Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 12
- Registriert: 02.11.2017, 12:58
- System: CCU und Access Point
- Hat sich bedankt: 2 Mal
Re: Html auslesen und in Var schreiben
Mein Ziel ist es z.B. Verbraucher zu schalten sobald ich Überschuss habe.Fonzo hat geschrieben: ↑01.07.2020, 12:41Und was willst Du damit dann genau anstellen, das in einer Visualisierung anzeigen oder mit dem Wert intern auf der CCU weiter rechnen?skorpion_inka hat geschrieben: ↑01.07.2020, 11:14Kann man irgendwie ein script schreiben, dass einen Wert zwischen den 8 und 9 Komma ausliest?
Wenn es Dir lediglich um ein Anzeigen eines solchen Werts in einer Visualisierung neben den Homematic Geräten geht, kannst Du z.B. mit NEO, das der CCU3 beiliegt, so einen JSON Wert per HTTP auslesen und dann als Wert neben Deinen Homematic Geräten in der Steuerungsoberfläche anzeigen.
Ich habe nochmal eine Frage zum NEO, wenn damit den Wert auslese, wird dieser dann auch an die CCU übergeben oder ist dieser nur im NEO?
-
- Beiträge: 6775
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 495 Mal
Re: Html auslesen und in Var schreiben
Dann musst Du in dem Fall den Wert direkt in die CCU einlesen, da Du dort ja auch mit Bedingungen weiter arbeiten willst.skorpion_inka hat geschrieben: ↑01.07.2020, 13:24Mein Ziel ist es z.B. Verbraucher zu schalten sobald ich Überschuss habe.
In dem Fall dient der Wert nur der Darstellung, z.B. aktueller Verbrauch, der Wert wird also nur in die NEO Remote eingelesen und nicht auf eine CCU übertragen oder irgendwo zwischengespeichert. Wenn Du den Wert auf der CCU haben willst, musst Du also mit einem Homematic Skript arbeiten oder Alternativ geht das bei einer CCU3 bzw. RaspberryMatic auch mit dem NEO Server, der den Wert dann abruft und in eine Variable ablegt. Das wäre dann kein Homematic Skript sondern Javascript, wenn man den NEO Server nutzten sollte.skorpion_inka hat geschrieben: ↑01.07.2020, 13:24Ich habe nochmal eine Frage zum NEO, wenn damit den Wert auslese, wird dieser dann auch an die CCU übergeben oder ist dieser nur im NEO?