Fehler bei API abfrage?

Mahlzeit zusamen :slight_smile:

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!

Kannst du mal die Ausgabe von print_r($json) posten?

Grüße,
Kai

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:

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

Dann erhältst du ein Array anstatt ein Objekt.

Grüße,
Kai

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?

Du hast das noch nicht gepostet.

Grüße,
Kai

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?

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

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.

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 :slight_smile:

Danke für eure Hilfe!!