michl
28. April 2021 um 10:41
1
Mahlzeit zusamen
ich habe einen Einergiemonitor der Firma Solarautonomie.
Die „Live“ Werte lies ich mit der API Schnittstelle aus, das auch sehr gut funktioniert.
Nur bei den Zählerwerte die ich auch Auslesen möchte komm ich nicht weiter bzw. ist mir das Auslesen nicht möglich. Folgendes Script benutze ich zum Auslesen der Zählerwerte:
<?php
$data = Sys_GetURLContentEx(„https://192.168.100.11/json/API.php/getReading",Array("Timeout “=> 60000));
$json = json_decode($data);
print_r($json);
SetValue(58994, $json->result[8]->power);
?>
als Fehlermeldung bekomme ich folgende Info:
stdClass Object
(
** [Version] => 2.1**
** [status] => o.k.**
** [result] => **
)
Notice: Trying to access array offset on value of type null in /mnt/data/symcon/scripts/16961.ips.php on line 10
Notice: Trying to get property ‚power‘ of non-object in /mnt/data/symcon/scripts/16961.ips.php on line 10
Kann es sein das gar keine Werte vom Energiemonitor erhalte?
Danke für die Hilfe!
KaiS
28. April 2021 um 10:57
2
Kannst du mal die Ausgabe von print_r($json)
posten?
Grüße,
Kai
michl
28. April 2021 um 11:26
3
Hallo Kai,
also als Ergebniss bekomme ich folgende Info:
stdClass Object
(
[Version] => 2.1
[status] => o.k.
[result] =>
)
Es sieht für mich so aus, als ob keine Werte abgeholt werden? Kann das sein?
Hier die Doku von Solarautonie zum Auslesen:
KaiS
28. April 2021 um 12:28
4
Mich würde jetzt noch die Ausgabe von echo $data
interessieren.
Sieht so aus, als gäbe es keine Daten.
Grüße,
Kai
Hmm,
war da nicht mal was mit einem weiteren Parameter ?
json_decode($data, true); //
LG Tom
KaiS
28. April 2021 um 12:30
6
Dann erhältst du ein Array anstatt ein Objekt.
Grüße,
Kai
michl
28. April 2021 um 14:26
7
Am Energiemonitor sehr ich die verbräuche der einzelnen angeschlossen Verbraucher.
Würde es euch helfen wenn ich Mal die API Doku des Energiemonitor hochlade?
KaiS
28. April 2021 um 18:10
8
Du hast das noch nicht gepostet.
Grüße,
Kai
michl
29. April 2021 um 06:37
9
Guten Morgen KaiS,
ich bekomme da folgende Wewrte, bzw. nichts:
stdClass Object
(
[Version] => 2.1
[status] => o.k.
[result] =>
)API_V2.1.pdf (106,5 KB)
Ich habe mal die API Doku hochgeladen, ev. könnte sich das bitte jemand ansehen?
KaiS
29. April 2021 um 08:37
10
Du hast nicht $data ausgegeben.
Sondern $json.
Grüße,
Kai
Er wollte das nicht dekorierte haben.
Hast du auch den HTML Filter bei der Konsole abgeschaltet?
Eventuell bringt auch var_dump($json) mehr.
Da Print_r z.b. leere Strings oder false Werte nicht anzeigt.
Michael
stern
29. April 2021 um 21:47
12
Ich lese den Energiemonitor von Solarautonomie mit diesem Script aus
<?
set_time_limit(60);
$data = Sys_GetURLContentEx("http://192.168.178.48/json/API.php/getReading/",Array("Timeout"=> 60000));
$json = json_decode($data);
print_r($json);
SetValue(28785, $json->result[0]->counter);
SetValue(16445, $json->result[1]->counter);
SetValue(28789, $json->result[2]->counter);
SetValue(36941, $json->result[3]->counter);
SetValue(10051, $json->result[4]->counter);
?>
Bei mir funktioniert es, ich weiß nicht wo bei michl der Fehler liegt.
Vielleicht liegt der Fehler bei der 8 in der eckigen Klammer.
michl
30. April 2021 um 04:58
13
Guten Morgen zusammen,
ich habe den Fehler gefunden.
Beim Energiemonitor muss mann bei der „Konfiguration“ beim Wert „Zäherstand“ eine „0“ eintragen dann wird ab diesem Zeitpunkt gezäht, bzw ein Zähler angelegt.
Jetzt funktioniert es auch mit dem Auslesen
Danke für eure Hilfe!!