Shelly - Erweiterte Daten abfragen über ein Skript

Hi,
habe gerade gesehen das ich in den Meldungen ständig Warnungen erhalte. Ich habe ein Skript das mir die erweiterten Daten eines Shelly liefert.

<?php

$url = "http://192.168.20.32/rpc/Shelly.GetStatus";
$data = file_get_contents($url);
$data = json_decode($data,true);


//print_r($data); 

//Speicherung der Werte in die entsprechenden Variablen

setvalue (40502, $data['switch:0']['temperature']['tC']);

//Geräte Daten:
/*setvalue (43606, $data['device']['type']);
setvalue (52203, $data['device']['mac']);
setvalue (37940, $data['device']['hostname']);
setvalue (17415, $data['device']['num_outputs']);

//Wifi Modus AP (Wifi AP):
setvalue (40356, $data['wifi_ap']['enabled']);
setvalue (22585, $data['wifi_ap']['ssid']);
setvalue (47386, $data['wifi_ap']['key']);

//Wifi Modus Client (Wifi Heimnetz):
setvalue (28259, $data['wifi_sta']['enabled']);
setvalue (33343, $data['wifi_sta']['ssid']);
setvalue (46435, $data['wifi_sta']['ipv4_method']);
setvalue (37287, $data['wifi_sta']['ip']);
setvalue (25185, $data['wifi_sta']['gw']);
setvalue (52506, $data['wifi_sta']['mask']);
setvalue (50130, $data['wifi_sta']['dns']);

//Wifi Modus Client (Wifi Heimnetz Fallback):
setvalue (43942, $data['wifi_sta1']['enabled']);
setvalue (21807, $data['wifi_sta1']['ssid']);
setvalue (58131, $data['wifi_sta1']['ipv4_method']);
setvalue (26369, $data['wifi_sta1']['ip']);
setvalue (14868, $data['wifi_sta1']['gw']);
setvalue (19404, $data['wifi_sta1']['mask']);
setvalue (48005, $data['wifi_sta1']['dns']);

//Wifi Client AP Roaming:
setvalue (17287, $data['ap_roaming']['enabled']);
setvalue (10453, $data['ap_roaming']['threshold']);

//MQTT Daten:
setvalue (38450, $data['mqtt']['enable']);
setvalue (27655, $data['mqtt']['server']);
setvalue (46144, $data['mqtt']['user']);
setvalue (25593, $data['mqtt']['id']);
setvalue (33439, $data['mqtt']['reconnect_timeout_max']);
setvalue (16127, $data['mqtt']['reconnect_timeout_min']);
setvalue (54030, $data['mqtt']['clean_session']);
setvalue (57720, $data['mqtt']['keep_alive']);
setvalue (34450, $data['mqtt']['max_qos']);
setvalue (47846, $data['mqtt']['retain']);
setvalue (59318, $data['mqtt']['update_period']);

//CoIot Protokoll:
setvalue (50081, $data['coiot']['enabled']);
setvalue (15509, $data['coiot']['update_period']);
setvalue (51311, $data['coiot']['peer']);

//SNTP:
setvalue (58197, $data['sntp']['server']);
setvalue (30296, $data['sntp']['enabled']);

//Login Daten:
setvalue (29545, $data['login']['enabled']);
setvalue (15509, $data['login']['unprotected']);
setvalue (12836, $data['login']['username']);

//Pin Code:
setvalue (53575, $data['pin_code']);

//Geräte Nemen:
setvalue (51990, $data['name']);

//Firmware:
setvalue (58376, $data['fw']);

//Factory Reset:
setvalue (28976, $data['factory_reset_from_switch']);

//

//Hardware Infos:
setvalue (38683, $data['build_info']['build_id']);
setvalue (27709, $data['build_info']['build_timestamp']);
setvalue (52925, $data['build_info']['build_version']);

//Cloud:
setvalue (44726, $data['cloud']['enabled']);
setvalue (28573, $data['cloud']['connected']);
*/

Diese Warnungen habe ich aktuell:

14.02.2026, 14:12:33 | ScriptEngine         | Result for Event 12147

Warning: file_get_contents(http://192.168.20.32/rpc/Shelly.GetStatus): Failed to open stream: No route to host in /var/lib/symcon/scripts/35686.ips.php on line 4

Warning: Trying to access array offset on null in /var/lib/symcon/scripts/35686.ips.php on line 12

Warning: Trying to access array offset on null in /var/lib/symcon/scripts/35686.ips.php on line 12

Warning: Trying to access array offset on null in /var/lib/symcon/scripts/35686.ips.php on line 12

Hat sich da bei " file_get_contents($url)" was geändert?

VG
Stefan

Edit: Habe den Fehler gefunden.

Hi Stefan,

check mal eher den Shellyanteil - der Symconteil sieht für mich (!) gut aus.

Da ich mit den Shelly RPC nicht unterwegs bin, kann ich nicht sonderlich mehr dazu beitragen - das müssen dann die “anderen” :wink: tun.

passt das ? This service is common for all Gen2+ devices

LG Tom