Cannot autoconvert value

Moin,
ich schicke via TCP Socket einen String von einem anderen System (Crestron) zu meinem IPS-Server (V5). Der String setzt sich zusammen aus vier, durch „+“ getrennten Werten. Der erste Wert ist die ObjectID der anzusprechenden Instanz (RGBW-Modul), die restlichen drei Werte die Werte für R, G, B zum Setzen der Lichtfarbe.
Das Script sieht so aus:

<?
$data = RegVar_GetBuffer('INSTANCE');
$data = $_IPS['VALUE'];

$RGB_array=explode('+', $data);

echo $data;
echo $RGB_array[0];
echo $RGB_array[1];
echo $RGB_array[2];
echo $RGB_array[3];
$IPS_Object_Id_int=intval($RGB_array[0]);
$R_int=intval($RGB_array[1]);
$G_int=intval($RGB_array[2]);
$B_int=intval($RGB_array[3]);
PJ_DimRGBW($IPS_Object_Id_int,$R_int,1,$G_int,1,$B_int,1,0,1);
?>

Grundsätzlich funktioniert es, ich bekomme allerdings bei jeder Übertragung folgende Warnung:

16.04.2019 09:22:07 | Register Variable | <br />
<b>Warning</b>:  Cannot auto-convert value for parameter InstanceID in <b>/var/lib/symcon/scripts/37037.ips.php</b> on line <b>2</b><br />
19056+68+48+0
1905668480

Kann mir jemand erklären was das Problem ist? Nach meinem Verständnis möchte PJ_DimRGBW für alle vier Parameter Integer-Values haben. Um das zu erreichen wandle ich alle vier Bestandteile des gesendeten Strings via „intval“ in Integer um. Dies scheint bei den RGB-Werten auch zu funktionieren, für die ObjectID bekomme ich aber diese Warnungen…

Bei deinem Skript kann diese sinnlose und fehlerhafte Zeile einfach weg: :slight_smile:


$data = RegVar_GetBuffer('INSTANCE'); 

paresy

Hm, immer wieder lustig wie man selber auf die Lösung kommt wenn man das Problem nur mal richtig beschreibt…:rolleyes:
Das Problem lag ja offensichtlich in Zeile 2 und gar nicht bei den einzelnen Werten. Die ersten beiden Zeilen machen ja eh keinen Sinn, war wohl noch vom Test.
Ich hab die erste Zeile also mal rausgeschmissen und voilá - die Warnungen sind verschwunden. :slight_smile:

Jetzt dachte ich, ich wär rasend schnell von selbst auf die Lösung gekommen und dann war Paresy noch schneller. :smiley: