Hi,
ich möchte gerne von einem Shelly weitere Daten in Variablen schreiben und bräuchte dazu Hilfe.
Habe jetzt folgende Skripte angelegt:
Hiermit rufe ich die JSON Daten ab von der URL und schreibe sie in eine String Variable:
<?php
$data = file_get_contents('http://192.168.20.27/settings/');
SetValue(34810, $data); //String Value Variable
$s = GetValue(34810); // String Value Variable
//print_r($s);
$a = json_decode($s, true); //oder $array_var = json_decode($s, true);
print_r($a)
Als Ergebnis bekomme ich das Array angezeigt.
Dann habe ich mir noch ein Skript angelegt um die Variablen zu beschreiben und da ist der Fehler:
<?php
if($_IPS['SENDER'] == 'Variable') {
// Daten verarbeiten
$a = json_decode($_IPS['VALUE'], true);
// Verzweigung anhand der auslösenden Variablen
switch ($_IPS['VARIABLE']) {
// Status Value Variable
case 34810:
SetStatusValues($a);
break;
default:
IPS_LogMessage("PLUG SCRIPT", $_IPS['VARIABLE'] . ': ' . $_IPS['VALUE']);
}
}
function SetStatusValues($array_var)
{
// Instanz Status Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
setvalue (37940, $a['device']['hostname']);//String Variable
}