Daten einer Webseite auslesen

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

7thguest
Beiträge: 83
Registriert: 06.02.2015, 21:32
System: CCU
Wohnort: Niedersachsen
Hat sich bedankt: 5 Mal

Daten einer Webseite auslesen

Beitrag von 7thguest » 15.01.2023, 21:57

Hallo zusammen,

ich würde gern einmal pro Stunde aus einer Webseite (https://eex.stwhas.de/flex/) die Daten für "Stunde" und "EPEX-Spot netto" auslesen und daraus den aktuellen Preis (den für diese Stunde gültigen) extrahieren.
Anhand dessen kann ich dann meinen stündlichen Strompreis (den stündlichen Verbrauch habe ich schon in der CCU) berechnen lassen.

Frage meinerseits:
Kann ich denn irgendwie (wie) diese Seite per wget auslesen und die Daten in die CCU bekommen?

PS: Ich hoffe, ich bin hier damit im richtigen Unterforum?!

Vielen Dank!!!

MichaelN
Beiträge: 9791
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 711 Mal
Danksagung erhalten: 1654 Mal

Re: Daten einer Webseite auslesen

Beitrag von MichaelN » 15.01.2023, 22:05

Gibt es keine API, die JSON liefert?

Ansonsten kannst du diesen Ansatz adaptieren :
viewtopic.php?f=26&t=77492&start=10#p752101
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 +++

Benutzeravatar
Henke
Beiträge: 1536
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 144 Mal
Danksagung erhalten: 309 Mal

Re: Daten einer Webseite auslesen

Beitrag von Henke » 15.01.2023, 22:19

7thguest hat geschrieben:
15.01.2023, 21:57
Kann ich denn irgendwie (wie) diese Seite per wget auslesen und die Daten in die CCU bekommen?
Ja
7thguest hat geschrieben:
15.01.2023, 21:57
ch hoffe, ich bin hier damit im richtigen Unterforum?!
Denke nicht

Sodele, jetzt interpretiere ich mal deinen Wunsch...

Die Daten der Webseite kannst du so nicht direkt verwerten, da diese durch ein Script erzeugt werden. Dieses Script könnte man analysieren und versuchen direkt auf die Daten zuzugreifen. Als Ergebnis könnte man dann ein sauberes JSON bekommen, das ziemlich einfach zu verarbeiten ist.
Könnte... :D

Code: Alles auswählen

! Datum zum Testen
string date = "20230115";
string url = 'https://eex.stwhas.de/' # "json_files/auction_spot_prices_germany_luxembourg_" # date # ".json";

!string url = "https://spiegel.de";
WriteLine(url);
string stdout;
        string stderr;
        system.Exec("wget -q -O - '"#  url # "'" , &stdout, &stderr);
if( stderr ) {WriteLine( "Err " # stderr);} else
{
WriteLine( "Hier kommen die Daten");
}WriteLine(stdout);
und dann kommt das:

Code: Alles auswählen

{
    "object": "list",
    "tariff_info": {
        "name": "haStrom flex",
        "minimal_energy_price": "29.15 ct/kWh",
        "maximal_energy_price": "43.32 ct/kWh",
        "taxes": "5.63 ct/kWh",
        "netcosts": "8.77 ct/kWh",
        "margin": "2.97 ct/kWh",
        "basic_charge": "136.73 EUR/year",
        "vat": "19 %"
    },
    "data": [
        {
            "start_timestamp": "2023-01-15 00:00:00",
            "end_timestamp": "2023-01-15 01:00:00",
            "e_price_epex_excl_vat": 0.394,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 01:00:00",
            "end_timestamp": "2023-01-15 02:00:00",
            "e_price_epex_excl_vat": 0.171,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 02:00:00",
            "end_timestamp": "2023-01-15 03:00:00",
            "e_price_epex_excl_vat": 0.41,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 03:00:00",
            "end_timestamp": "2023-01-15 04:00:00",
            "e_price_epex_excl_vat": 0.265,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 04:00:00",
            "end_timestamp": "2023-01-15 05:00:00",
            "e_price_epex_excl_vat": 0.287,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 05:00:00",
            "end_timestamp": "2023-01-15 06:00:00",
            "e_price_epex_excl_vat": 0.401,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 06:00:00",
            "end_timestamp": "2023-01-15 07:00:00",
            "e_price_epex_excl_vat": 0.158,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 07:00:00",
            "end_timestamp": "2023-01-15 08:00:00",
            "e_price_epex_excl_vat": 0.174,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 08:00:00",
            "end_timestamp": "2023-01-15 09:00:00",
            "e_price_epex_excl_vat": 0.908,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 09:00:00",
            "end_timestamp": "2023-01-15 10:00:00",
            "e_price_epex_excl_vat": 1.031,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 10:00:00",
            "end_timestamp": "2023-01-15 11:00:00",
            "e_price_epex_excl_vat": 0.901,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 11:00:00",
            "end_timestamp": "2023-01-15 12:00:00",
            "e_price_epex_excl_vat": 0.803,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 12:00:00",
            "end_timestamp": "2023-01-15 13:00:00",
            "e_price_epex_excl_vat": 0.676,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 13:00:00",
            "end_timestamp": "2023-01-15 14:00:00",
            "e_price_epex_excl_vat": 0.042,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 14:00:00",
            "end_timestamp": "2023-01-15 15:00:00",
            "e_price_epex_excl_vat": 0.029,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 15:00:00",
            "end_timestamp": "2023-01-15 16:00:00",
            "e_price_epex_excl_vat": 0.032,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 16:00:00",
            "end_timestamp": "2023-01-15 17:00:00",
            "e_price_epex_excl_vat": 0.046,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 17:00:00",
            "end_timestamp": "2023-01-15 18:00:00",
            "e_price_epex_excl_vat": 0.125,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 18:00:00",
            "end_timestamp": "2023-01-15 19:00:00",
            "e_price_epex_excl_vat": 2.695,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 19:00:00",
            "end_timestamp": "2023-01-15 20:00:00",
            "e_price_epex_excl_vat": 2.527,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 20:00:00",
            "end_timestamp": "2023-01-15 21:00:00",
            "e_price_epex_excl_vat": 1.217,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 21:00:00",
            "end_timestamp": "2023-01-15 22:00:00",
            "e_price_epex_excl_vat": 1.969,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 22:00:00",
            "end_timestamp": "2023-01-15 23:00:00",
            "e_price_epex_excl_vat": 3.214,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        },
        {
            "start_timestamp": "2023-01-15 23:00:00",
            "end_timestamp": "2023-01-16 00:00:00",
            "e_price_epex_excl_vat": 3.747,
            "e_price_has_incl_vat": 29.155,
            "t_price_has_incl_vat": 43.56,
            "unit": "ct/kWh"
        }
    ]
}
Edit 1: + >> #
Edit2: Überflüssige { entfernt, thx Tyfys
Zuletzt geändert von Henke am 16.01.2023, 16:13, insgesamt 2-mal geändert.

Benutzeravatar
Henke
Beiträge: 1536
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 144 Mal
Danksagung erhalten: 309 Mal

Re: Daten einer Webseite auslesen

Beitrag von Henke » 15.01.2023, 22:20

MichaelN hat geschrieben:
15.01.2023, 22:05
Gibt es keine API, die JSON liefert?
API Henke?
Hmmm, Beleidigung oder Lob? 8) :lol:

jp112sdl
Beiträge: 12143
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 854 Mal
Danksagung erhalten: 2156 Mal
Kontaktdaten:

Re: Daten einer Webseite auslesen

Beitrag von jp112sdl » 16.01.2023, 06:32

Nur mal für mich zum allgemeinen Verständnis:
Henke hat geschrieben:
15.01.2023, 22:19
string url = 'https://eex.stwhas.de/' + "json_files/auction_spot_prices_germany_luxembourg_" + date + ".json";
Funktioniert das string-Concat mittels "+"-Zeichen nur auf RaspberryMatic oder auch auf der CCU3?
Henke hat geschrieben:
15.01.2023, 22:19
system.Exec("wget -q -O - '"# url # "'" , &stdout, &stderr);
Mir bekannt ist nur "#"-Zeichen, um Zeichenketten zusammenzukleben.

Laut offizieller Homematic Script-Dokumentation, Teil 1: Sprachbeschreibung, S.8 gibt es nur #.

Wann geht + und wann geht # ?

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

Benutzeravatar
Henke
Beiträge: 1536
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 144 Mal
Danksagung erhalten: 309 Mal

Re: Daten einer Webseite auslesen

Beitrag von Henke » 16.01.2023, 06:48

RaspberryMatic geht, original CCU?

Lag daran, das ich von Java wohl den Code kopiert habe. Und lief halt.

CCU: #
Java: +
JsonNata: &
C++: <<

Das Leben könnte so einfach sein. :mrgreen:

Tyfys
Beiträge: 580
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 136 Mal

Re: Daten einer Webseite auslesen

Beitrag von Tyfys » 16.01.2023, 07:38

jp112sdl hat geschrieben:
16.01.2023, 06:32
Mir bekannt ist nur "#"-Zeichen, um Zeichenketten zusammenzukleben.
Hach, dass man auch mal jemanden (Beiträge: 11269 Registriert: 20.11.2016, 20:01)
darauf hinweisen kann : RTFM :mrgreen:
Dateianhänge
concat.png
concat.png (9.06 KiB) 937 mal betrachtet
Gruß
Harry

Benutzeravatar
jmaus
Beiträge: 9914
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 466 Mal
Danksagung erhalten: 1902 Mal
Kontaktdaten:

Re: Daten einer Webseite auslesen

Beitrag von jmaus » 16.01.2023, 07:47

Tyfys hat geschrieben:
16.01.2023, 07:38
jp112sdl hat geschrieben:
16.01.2023, 06:32
Mir bekannt ist nur "#"-Zeichen, um Zeichenketten zusammenzukleben.
Hach, dass man auch mal jemanden (Beiträge: 11269 Registriert: 20.11.2016, 20:01)
darauf hinweisen kann : RTFM :mrgreen:
Nein, Jerome hat Recht! Für string zusammenkleben geht nur "#" nachhaltig. Die Nutzung von "+" geht zwar teilweise auch, ist aber (auch wegen automatischen typkonvertieren) nicht ganz sicher. Man sollte daher komplett darauf verzichten ein "+" für das zusammenhängen von Zeichenketten zu verwenden und immer "#" nutzen. Die Dokumentation ist daher leider nicht ganz optimal und müsste abgeändert werden.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Tyfys
Beiträge: 580
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 136 Mal

Re: Daten einer Webseite auslesen

Beitrag von Tyfys » 16.01.2023, 08:08

geht ja um
string-Concat mittels "+"-Zeichen
Wenn alles vom gleichen Typ ist, sollte das auch das erwarte Ergebnis bringen.
Gruß
Harry

Benutzeravatar
jmaus
Beiträge: 9914
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 466 Mal
Danksagung erhalten: 1902 Mal
Kontaktdaten:

Re: Daten einer Webseite auslesen

Beitrag von jmaus » 16.01.2023, 09:09

Tyfys hat geschrieben:
16.01.2023, 08:08
geht ja um
string-Concat mittels "+"-Zeichen
Wenn alles vom gleichen Typ ist, sollte das auch das erwarte Ergebnis bringen.
Du willst anscheinend nicht hören! Ich sagte doch recht klar das man für string concat nur '#' nehmen sollte.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Antworten

Zurück zu „RaspberryMatic“