Brauche Hilfe bei JSON-Abfrage

Hallo,

bin jetzt als PHP-Anfänger gerade verwzeifelt … versuche seit ca 2 Stunden, aus dem Rückgabe-JSON eines Shelly UNI einen Wert zu extrahieren - und nur PHP-Fehler :frowning:

Wie kann ich aus dem Ergebnis den Wert von [tC] (Temperatur) holen.

       [tC] => 20,5

hier das gesamte JSON:

stdClass Object
(
[wifi_sta] => stdClass Object
(
[connected] => 1
[ssid] => SUNSET
[ip] => 192.168.8.46
[rssi] => -39
)

[cloud] => stdClass Object
    (
        [enabled] => 
        [connected] => 
    )

[mqtt] => stdClass Object
    (
        [connected] => 1
    )

[time] => 20:31
[unixtime] => 1619029918
[serial] => 10
[has_update] => 
[mac] => 8CAAB54BF9DB
[cfg_changed_cnt] => 0
[actions_stats] => stdClass Object
    (
        [skipped] => 0
    )

[relays] => Array
    (
        [0] => stdClass Object
            (
                [ison] => 
                [has_timer] => 
                [timer_started] => 0
                [timer_duration] => 0
                [timer_remaining] => 0
                [source] => input
            )

        [1] => stdClass Object
            (
                [ison] => 
                [has_timer] => 
                [timer_started] => 0
                [timer_duration] => 0
                [timer_remaining] => 0
                [source] => input
            )

    )

[inputs] => Array
    (
        [0] => stdClass Object
            (
                [input] => 0
                [event] => 
                [event_cnt] => 0
            )

        [1] => stdClass Object
            (
                [input] => 0
                [event] => 
                [event_cnt] => 0
            )

    )

[adcs] => Array
    (
        [0] => stdClass Object
            (
                [voltage] => 12,16
            )

    )

[ext_sensors] => stdClass Object
    (
        [temperature_unit] => C
    )

[ext_temperature] => stdClass Object
    (
        [0] => stdClass Object
            (
                [hwID] => 284abafa422001dd
                [tC] => 20,5
                [tF] => 68,9
            )

    )

[ext_humidity] => stdClass Object
    (
    )

[update] => stdClass Object
    (
        [status] => idle
        [has_update] => 
        [new_version] => 20210415-131910/v1.10.3-g23074d0
        [old_version] => 20210415-131910/v1.10.3-g23074d0
    )

[ram_total] => 49320
[ram_free] => 36180
[fs_size] => 233681
[fs_free] => 146835
[uptime] => 4588

)

Mach mal auf der Rückgabewert $payload ein

$data = json_decode($payload, true);
var_export($data);

und poste dann nochmals die Ausgabe als Vorformartierter Text.

Sehr wahrscheinlich kommst Du dann an den Wert über

$tc = $data['ext_temperature'][0]['tC'];
var_dump($tc);

Dau müsste aber nochmals die komplette Ausgabe sehen um das zu überprüfen.

Hallo Fonzo,

vielen Dank … werde ich gleich testen!!!

Beste Grüße
Hans-Peter