aWATTar hourly einbinden?

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Kombjuder
Beiträge: 88
Registriert: 29.07.2015, 23:29
Wohnort: Weil am Rhein

aWATTar hourly einbinden?

Beitrag von Kombjuder » 01.08.2019, 13:23

Hallo,

hat schon jemand ein Script um die Api-Daten von aWATTar einzubinden bzw. einzulesen?

Die Suche nach awattar im Forum ergab 0 Treffer.
--------------------------------------------
220 Kanäle in 97 Geräten
--------------------------------------------

FredW
Beiträge: 297
Registriert: 01.05.2013, 16:20
Hat sich bedankt: 1 Mal

Re: aWATTar hourly einbinden?

Beitrag von FredW » 01.08.2019, 13:45

Wenn du nach aWattar und iobroker suchst, wirst du fündig ..

Kombjuder
Beiträge: 88
Registriert: 29.07.2015, 23:29
Wohnort: Weil am Rhein

Re: aWATTar hourly einbinden?

Beitrag von Kombjuder » 01.08.2019, 14:04

FredW hat geschrieben:
01.08.2019, 13:45
Wenn du nach aWattar und iobroker suchst, wirst du fündig ..
Ich bekomme: Die Suche ergab 1 Treffer: +awattar +iobroker

das hier. Auch Google ist da nicht hilfreich.
--------------------------------------------
220 Kanäle in 97 Geräten
--------------------------------------------

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: aWATTar hourly einbinden?

Beitrag von Fonzo » 01.08.2019, 15:02

Kombjuder hat geschrieben:
01.08.2019, 13:23
hat schon jemand ein Script um die Api-Daten von aWATTar einzubinden bzw. einzulesen?
Das ist eine normale GET Abfrage und gibt ein JSON zurück. Je nachdem was Du nutzten willst kannst Du das z.B. mit Javascript abfragen und bei einer CCU3 als Task im NEO Server ausführen entsprechend hier, musst nur die URL und die Variablen ändern bzw. den Token einfügen.

Entsprechend der Beschreibung

Code: Alles auswählen

$ curl -u {token}: "https://api.awattar.com/v1/marketdata"
ist das eine einfach eine curl Abfrage. Also kannst Du auch das auch mit Skript von Homematic lösen, dazu musst Du hier im Forum nur mal nach curl bzw. JSON suchen.

Kombjuder
Beiträge: 88
Registriert: 29.07.2015, 23:29
Wohnort: Weil am Rhein

Re: aWATTar hourly einbinden?

Beitrag von Kombjuder » 01.08.2019, 16:28

Die Daten bekomme ich in der Zwischenzeit eingelesen.
Nur die Weiterverarbeitung macht noch gewaltige Probleme, da fehlen einfach die Kenntnisse für eine komplexe >Programmierung.
Ausserdem ist mir die Zeitbehandlung absolut nicht klar, da ich die Daten von 0-24 Uhr haben möchte und nicht für die nächsten 24 Stunden.

Sorry, mein Programmierkenntnisse tendieren gegen null.
--------------------------------------------
220 Kanäle in 97 Geräten
--------------------------------------------

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: aWATTar hourly einbinden?

Beitrag von Fonzo » 01.08.2019, 18:15

Kombjuder hat geschrieben:
01.08.2019, 16:28
Die Daten bekomme ich in der Zwischenzeit eingelesen.
Nur die Weiterverarbeitung macht noch gewaltige Probleme, da fehlen einfach die Kenntnisse für eine komplexe >Programmierung.
Die API ist aber nicht vollständig dokumentiert und der Einzige der die Daten komplett zur Verfügung hat bist Du, da ja jeder Nutzer einen individuellen Token besitzt.

Wenn man Dir also in irgendeiner Art helfen soll, müsste man zumindest wissen wie die JSON Daten aussehen, die Du dann abgerufen hast. Vielleicht findet sich ja da der ein oder andere Skript Profi auf der CCU der Dir einen Tipp geben kann.

Kombjuder
Beiträge: 88
Registriert: 29.07.2015, 23:29
Wohnort: Weil am Rhein

Re: aWATTar hourly einbinden?

Beitrag von Kombjuder » 02.08.2019, 12:40

Fonzo hat geschrieben:
01.08.2019, 18:15

Wenn man Dir also in irgendeiner Art helfen soll, müsste man zumindest wissen wie die JSON Daten aussehen, die Du dann abgerufen hast. Vielleicht findet sich ja da der ein oder andere Skript Profi auf der CCU der Dir einen Tipp geben kann.
Der Token ist derzeit nicht erforderlich.

Meine Abfrage sieht wie folgt aus:

Code: Alles auswählen

! Die Abfrageaddresse
var url = "https://api.awattar.de/v1/marketdata";
var preis1_position = 139;
var dista = 143;

! Abfrage der JSON-API
string stdout;
string stderr;
system.Exec("wget -O - '"#url#"'",&stderr,&stdout);

string awattar_json = stderr;

!Ausgabe der RAW JSON Nachricht
!WriteLine(awattar_json);


integer preis1_value = awattar_json.Substr((preis1_position), 5);
string preis2_value = awattar_json.Substr((preis1_position+dista), 5);
string preis3_value = awattar_json.Substr((preis1_position+2*dista), 5);
string preis4_value = awattar_json.Substr((preis1_position+3*dista), 5);

Die Abfrage wird täglich um 00 Uhr gestartet und holt die Werte für den Tag.
Was fehlt ist die Werte durch 10 zu teilen und eine vernüftige Abfrageroutine um die Werte den einzelnen Stunden zuzuweisen. Zusätzlich ist wahrscheinlich noch eine Anpassung für Werte grösser 100 erforderlich.
--------------------------------------------
220 Kanäle in 97 Geräten
--------------------------------------------

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: aWATTar hourly einbinden?

Beitrag von Fonzo » 02.08.2019, 14:25

Kombjuder hat geschrieben:
02.08.2019, 12:40
Was fehlt ist die Werte durch 10 zu teilen und eine vernüftige Abfrageroutine um die Werte den einzelnen Stunden zuzuweisen. Zusätzlich ist wahrscheinlich noch eine Anpassung für Werte grösser 100 erforderlich.
Mit Homematic Skript kann ich Dir nicht weiterhelfen, da gibt es genügend Spezialisten hier im Forum die das nutzten. Was ich aber persönlich nicht verstehe was Du teilen willst bzw. was für Werte willst Du anpassen?

Wenn ich die Daten des Anbieters mit PHP auslese

Code: Alles auswählen

$payload = json_decode($payload, true);
$data = $payload['data'];
foreach($data as $price)
{
    $start_timestamp = date('H:i:s', intval($price['start_timestamp']));
    $end_timestamp = date('H:i:s', intval($price['end_timestamp']));
    $marketprice = $price['marketprice'];
    $unit = $price['unit'];
    echo 'Marktpreis von ' . $start_timestamp . ' Uhr bis ' . $end_timestamp . ' Uhr ' .$marketprice . ' ' . $unit . PHP_EOL;
}
bekomme ich das zurück

Code: Alles auswählen

Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 41,28 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 40,08 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 40,22 Eur/MWh
Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 41,46 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 44,09 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 45,95 Eur/MWh
Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 49,51 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 49 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 47,17 Eur/MWh
Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 43,96 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 41,12 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 38,96 Eur/MWh
Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 36,94 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 34,93 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 35,05 Eur/MWh
Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 36,85 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 35,5 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 35 Eur/MWh
Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 34,01 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 37,72 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 38,51 Eur/MWh
Marktpreis von 09:00:00 Uhr bis 01:00:00 Uhr 37,04 Eur/MWh
Marktpreis von 01:00:00 Uhr bis 17:00:00 Uhr 35,63 Eur/MWh
Marktpreis von 17:00:00 Uhr bis 09:00:00 Uhr 35,04 Eur/MWh
Was willst Du da noch umrechen?

Kombjuder
Beiträge: 88
Registriert: 29.07.2015, 23:29
Wohnort: Weil am Rhein

Re: aWATTar hourly einbinden?

Beitrag von Kombjuder » 03.08.2019, 14:11

Fonzo hat geschrieben:
02.08.2019, 14:25
Was willst Du da noch umrechen?
Was du geliefert bekommst, ist der Preis für Megawattstunde in €. Den durch 10 geteilt gibt Kilowattstunden in Cent.
Ich kann jetzt stündlich abfragen und den Wert einer Variablen zuweisen oder um 0 Uhr den ganzen Tag.
--------------------------------------------
220 Kanäle in 97 Geräten
--------------------------------------------

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: aWATTar hourly einbinden?

Beitrag von Fonzo » 03.08.2019, 14:54

Kombjuder hat geschrieben:
03.08.2019, 14:11
Ich kann jetzt stündlich abfragen und den Wert einer Variablen zuweisen oder um 0 Uhr den ganzen Tag.
Was machst Du damit dann genau in Kombination mit Homematic?

Antworten

Zurück zu „HomeMatic allgemein“