Hallo,
ich würde gerne meinen Energiemonitor (S0 Datenlogger) von Solarautonomie auslesen in in die Influx Datenbank schreiben. Die Multi Regler Version läuft bei mir, nur die Anbindung an den Datenlogger habe ich nicht.
Ich kann die per http://192.168.x.x/json/API.php/getPower alle Werte auslesen und bekomme dann ein Json
{ "Version": "2.1", "status": "o.k.", "result": [ { "ID": 124, "title": "Strom Bezug", "type": "electric meter", "unit": "W", "timeEnd": "1631284440000", "power": 0 }, { "ID": 132, "title": "Gaszaehler", "type": "gas", "unit": "m³\/h", "timeEnd": "1631284200000", "power": 0 }, { "ID": 144, "title": "Wasser", "type": "water", "unit": "l\/h", "timeEnd": "1631284200000", "power": 0 }, { "ID": 147, "title": "I Hzg WW", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 12 }, { "ID": 151, "title": "I Spuelm", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 0 }, { "ID": 152, "title": "I Trockner", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 0 }, { "ID": 153, "title": "I Waschm", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 0 }, { "ID": 154, "title": "I Keller", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 84 }, { "ID": 155, "title": "I AZ", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 66 }, { "ID": 156, "title": "I Fluchtw", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 126 }, { "ID": 157, "title": "I Backofen", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 0 }, { "ID": 158, "title": "I Klima", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 6 }, { "ID": 159, "title": "I Pumpe", "type": "power", "unit": "W", "timeEnd": "1631284200000", "power": 6 }, { "ID": 170, "title": "Strom Einspeisung", "type": "electric meter", "unit": "W", "timeEnd": "1631284440000", "power": 882.00000001052 } ] }
Die IDs, title, type usw. hängen natürlich von der individuellen Konfiguration des Gerätes ab. Aber dieses hier ist mal meine Konfiguration.
Hat jemand etwas mehr Wissen, wie ich das hier abrufen und in einzelne Variablen teilen kann. Per Math-Datei hatte ich auch bei meinem Kostal extra DAten in Influx geschrieben und neu berechnet. Aber wie bekomme ich den Anfang hin?
Schon mal Danke im vorraus.
Beste Grüße
GiMichael
S0 Datenlogger auslesen
Moderator: Ulrich
-
- Beiträge: 1069
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 150 Mal
Re: S0 Datenlogger auslesen
Mein Vorschlag (etwas unsauber), mach es doch gleich in der Math-Datei des Kostal mit. Ich zeige Dir gleich wie man die Webabfrage macht, die JSON zerlegt und dann kannst Du in der Zusatzquery ja ein neues Measurement für Deine S0-Werte anlegen. Steht halt dann alles in einer Datenbank, hat aber auch Vorteile...
Webabfrage:
Werte aus dem JSON abfragen (jedes "{...}" der JSON-Ausgabe ist ein Unterarray, durchnummeriert beginnend mit 0):
Webabfrage:
Code: Alles auswählen
$ch = curl_init("http://192.168.x.x/json/API.php/getPower"); // cURL initialisieren
curl_setopt($ch, CURLOPT_HEADER, 0); // Header soll nicht in Ausgabe enthalten sein
curl_setopt($ch, CURLOPT_POST, 1); // POST-Request wird abgesetzt
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
$S0JSON = curl_exec($ch); // Ausfuehren
curl_close($ch); // Objekt schliessen und Ressourcen freigeben
if (!empty($S0JSON)) {
$S0Werte = json_decode($S0JSON, true);
}
Code: Alles auswählen
$aktuelleDaten["StromBezug"] = $S0Werte["result"]["0"]["power"];
$aktuelleDaten["Gaszaehler"] = $S0Werte["result"]["1"]["power"];
$aktuelleDaten["Wasser"] = $S0Werte["result"]["2"]["power"];
...
Re: S0 Datenlogger auslesen
Hallo Bogeyof,
meinen allerbesten Dank für Deine großartige Unterstützung. Das funktioniert bestens.
Wo nimmst Du nur die Kraft und die Zeit her uns allen hier und auch mich (mit meinem ungesunden Halbwissen) zu allen möglichen Themen und Zeiten z.B. am Samstag Morgen um halbneun so qualifiziert zu helfen
Viele liebe Grüße
GiMichael
meinen allerbesten Dank für Deine großartige Unterstützung. Das funktioniert bestens.

Wo nimmst Du nur die Kraft und die Zeit her uns allen hier und auch mich (mit meinem ungesunden Halbwissen) zu allen möglichen Themen und Zeiten z.B. am Samstag Morgen um halbneun so qualifiziert zu helfen

Viele liebe Grüße
GiMichael
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste