Fehler im Skript um MQTT Werte abzurufen und in Variablen schreiben

Ich nutze ein Skript um mir die Status Werte eines MQTT/Tasmota Gerätes abzurufen. Es handelt sich hierbei um die InLine RGB Steckdosen. Jetzt kommt aber ein Ausrufezeichen bei dem Skript, aber erst seit ich ein zweites „gleiches“ Gerät eingefügt habe. Bei einer Steckdose ist alles bestens.

Skript um die Werte abzurufen:

<?php

INLINE_sendMQTTCommand(12959,"status","0"); // Status 0 ruft alle MQTT Status Informationen ab (1-11) - ID ist die der InLine Plug Modul Instanz
INLINE_sendMQTTCommand(43910,"status","0"); // Status 0 ruft alle MQTT Status Informationen ab (1-11) - ID ist die der InLine Plug Modul Instanz

Dieses Skript rufe ich mit einem Zyklischen Ereignis, alle 5 Minuten auf.

Skript um die Werte in die Variablen zu schreiben:

<?php

// Variablenänderung

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 17783:
		    SetStatusValues($a);
			break;
		// Geräte Value Variable
		case 16809:
			SetDeviceValues($a);
			break;
		// Firmware Value Variable
		case 45028:
			SetFirmwareValues($a);
			break;
		// Log & Telemetrie Value Variable
		case 52309:
			SetLoggingAndTelemetryValues($a);
			break;
		// Speicher Value Variable
		case 32031:
			SetMemoryValues($a);
			break;
		// Netzwerk Value Variable
		case 35444:
			SetNetworkValues($a);
			break;
		// MQTT Value Variable
		case 26114:
			SetMQTTValues($a);
			break;
		// Zeit Value Variable
		case 40075:
			SetTimeValues($a);
			break;
        // Energie Monitoring Variable
        case 44085:
            SetEnergyMonitoringValues($a);
            break;
        // Energie Verbrauch Variable
        case 59610:
            SetEnergyConsumptionValues($a);
            break;
        // Telemetriedaten Variable
        case 25366:
            SetTeleperiodValues($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 (12369, $array_var['Status']['Module']);
    setvalue (42481, $array_var['Status']['DeviceName']);
    setvalue (57229, $array_var['Status']['FriendlyName']['0']);
    setvalue (21553, $array_var['Status']['FriendlyName']['1']);
    setvalue (38422, $array_var['Status']['Topic']);
    setvalue (33694, $array_var['Status']['ButtonTopic']);
    setvalue (50583, $array_var['Status']['Power']);
    setvalue (57305, $array_var['Status']['PowerOnState']);
    setvalue (23339, $array_var['Status']['LedState']);
    setvalue (25113, $array_var['Status']['LedMask']);
    setvalue (44302, $array_var['Status']['SaveData']);
    setvalue (31369, $array_var['Status']['SaveState']);
    setvalue (18772, $array_var['Status']['SwitchTopic']);
    setvalue (40176, $array_var['Status']['SwitchMode']['0']);
    setvalue (42711, $array_var['Status']['SwitchMode']['1']);
    setvalue (59498, $array_var['Status']['SwitchMode']['2']);
    setvalue (18738, $array_var['Status']['SwitchMode']['3']);
    setvalue (32339, $array_var['Status']['SwitchMode']['4']);
    setvalue (35458, $array_var['Status']['SwitchMode']['5']);
    setvalue (27795, $array_var['Status']['SwitchMode']['6']);
    setvalue (54170, $array_var['Status']['SwitchMode']['7']);
    setvalue (48918, $array_var['Status']['ButtonRetain']);
    setvalue (54006, $array_var['Status']['SwitchRetain']);
    setvalue (52481, $array_var['Status']['SensorRetain']);
    setvalue (25742, $array_var['Status']['PowerRetain']);
    setvalue (21242, $array_var['Status']['InfoRetain']);
    setvalue (15352, $array_var['Status']['StateRetain']);
}

function SetDeviceValues($array_var)
{
	// Instanz Geräte Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (41241, $array_var['StatusPRM']['Baudrate']);
    setvalue (16680, $array_var['StatusPRM']['SerialConfig']);
    setvalue (20433, $array_var['StatusPRM']['GroupTopic']);
    setvalue (17073, $array_var['StatusPRM']['OtaUrl']);
    setvalue (54029, $array_var['StatusPRM']['RestartReason']);
    setvalue (12116, $array_var['StatusPRM']['StartupUTC']);
    setvalue (17117, $array_var['StatusPRM']['Uptime']);
    setvalue (10138, $array_var['StatusPRM']['Sleep']);
    setvalue (52218, $array_var['StatusPRM']['CfgHolder']);
    setvalue (39265, $array_var['StatusPRM']['BootCount']);
    setvalue (40165, $array_var['StatusPRM']['SaveCount']);
    setvalue (53683, $array_var['StatusPRM']['SaveAddress']);
    setvalue (49720, $array_var['StatusPRM']['BCResetTime']);
}

function SetFirmwareValues($array_var)
{
	// Instanz Firmware Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (54518, $array_var['StatusFWR']['Version']);
    setvalue (13561, $array_var['StatusFWR']['BuildDateTime']);
    setvalue (27190, $array_var['StatusFWR']['Boot']);
    setvalue (42283, $array_var['StatusFWR']['Core']);
    setvalue (17737, $array_var['StatusFWR']['SDK']);
    setvalue (31671, $array_var['StatusFWR']['CpuFrequency']);
    setvalue (58296, $array_var['StatusFWR']['Hardware']);
    setvalue (24939, $array_var['StatusFWR']['CR']);
}

function SetLoggingAndTelemetryValues($array_var)
{
	// Instanz Logging und Telemetrie Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (34481, $array_var['StatusLOG']['SerialLog']);
    setvalue (51727, $array_var['StatusLOG']['WebLog']);
    setvalue (35913, $array_var['StatusLOG']['MqttLog']);
    setvalue (57600, $array_var['StatusLOG']['SysLog']);
    setvalue (28807, $array_var['StatusLOG']['LogHost']);
    setvalue (54077, $array_var['StatusLOG']['LogPort']);
    setvalue (39732, $array_var['StatusLOG']['SSId']['0']);
    setvalue (20581, $array_var['StatusLOG']['SSId']['1']);
    setvalue (46681, $array_var['StatusLOG']['TelePeriod']);
    setvalue (42964, $array_var['StatusLOG']['Resolution']);
    setvalue (26064, $array_var['StatusLOG']['SetOption']['0']);
    setvalue (55696, $array_var['StatusLOG']['SetOption']['1']);
    setvalue (45718, $array_var['StatusLOG']['SetOption']['2']);
    setvalue (52872, $array_var['StatusLOG']['SetOption']['3']);
    setvalue (42335, $array_var['StatusLOG']['SetOption']['4']);
}

function SetMemoryValues($array_var)
{
	// Instanz Speicher Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (22607, $array_var['StatusMEM']['ProgramSize']);
    setvalue (58313, $array_var['StatusMEM']['Free']);
    setvalue (37338, $array_var['StatusMEM']['Heap']);
    setvalue (44401, $array_var['StatusMEM']['ProgramFlashSize']);
    setvalue (45912, $array_var['StatusMEM']['FlashSize']);
    setvalue (37528, $array_var['StatusMEM']['FlashChipId']);
    setvalue (18646, $array_var['StatusMEM']['FlashFrequency']);
    setvalue (29926, $array_var['StatusMEM']['FlashMode']);
    setvalue (47357, $array_var['StatusMEM']['Features']['0']);
    setvalue (46771, $array_var['StatusMEM']['Features']['1']);
    setvalue (20160, $array_var['StatusMEM']['Features']['2']);
    setvalue (55730, $array_var['StatusMEM']['Features']['3']);
    setvalue (57240, $array_var['StatusMEM']['Features']['4']);
    setvalue (45332, $array_var['StatusMEM']['Features']['5']);
    setvalue (36912, $array_var['StatusMEM']['Features']['6']);
    setvalue (44316, $array_var['StatusMEM']['Features']['7']);
    setvalue (16439, $array_var['StatusMEM']['Features']['8']);
    setvalue (46199, $array_var['StatusMEM']['Drivers']);
    setvalue (57758, $array_var['StatusMEM']['Sensors']);
}

function SetNetworkValues($array_var)
{
	// Instanz Netzwerk Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (45479, $array_var['StatusNET']['Hostname']);
    setvalue (24628, $array_var['StatusNET']['IPAddress']);
    setvalue (45224, $array_var['StatusNET']['Gateway']);
    setvalue (56597, $array_var['StatusNET']['Subnetmask']);
    setvalue (24947, $array_var['StatusNET']['DNSServer1']);
    setvalue (10129, $array_var['StatusNET']['DNSServer2']);
    setvalue (54070, $array_var['StatusNET']['Mac']);
    setvalue (39453, $array_var['StatusNET']['Webserver']);
    setvalue (54440, $array_var['StatusNET']['WifiConfig']);
    setvalue (43408, $array_var['StatusNET']['WifiPower']);
}

function SetMQTTValues($array_var)
{
	// Instanz MQTT Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (37419, $array_var['StatusMQT']['MqttHost']);
    setvalue (33765, $array_var['StatusMQT']['MqttPort']);
    setvalue (46497, $array_var['StatusMQT']['MqttClientMask']);
    setvalue (25284, $array_var['StatusMQT']['MqttClient']);
    setvalue (13865, $array_var['StatusMQT']['MqttUser']);
    setvalue (43939, $array_var['StatusMQT']['MqttCount']);
    setvalue (46976, $array_var['StatusMQT']['MAX_PACKET_SIZE']);
    setvalue (41949, $array_var['StatusMQT']['KEEPALIVE']);
    setvalue (12248, $array_var['StatusMQT']['SOCKET_TIMEOUT']);

}

function SetTimeValues($array_var)
{
	// Instanz Zeit Informationen // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (18648, $array_var['StatusTIM']['UTC']);
    setvalue (14772, $array_var['StatusTIM']['Local']);
    setvalue (28837, $array_var['StatusTIM']['StartDST']);
    setvalue (19781, $array_var['StatusTIM']['EndDST']);
    setvalue (22612, $array_var['StatusTIM']['Timezone']);
    setvalue (26353, $array_var['StatusTIM']['Sunrise']);
    setvalue (17459, $array_var['StatusTIM']['Sunset']);
}

function SetEnergyMonitoringValues($array_var)
{
    // Instanz Energie Monitoring // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (27718, $array_var['StatusPTH']['PowerDelta']['0']);
    setvalue (36176, $array_var['StatusPTH']['PowerDelta']['1']);
    setvalue (52060, $array_var['StatusPTH']['PowerDelta']['2']);
    setvalue (54167, $array_var['StatusPTH']['PowerLow']);
    setvalue (19659, $array_var['StatusPTH']['PowerHigh']);
    setvalue (36851, $array_var['StatusPTH']['VoltageLow']);
    setvalue (42839, $array_var['StatusPTH']['VoltageHigh']);
    setvalue (30977, $array_var['StatusPTH']['CurrentLow']);
    setvalue (52704, $array_var['StatusPTH']['CurrentHigh']);
}

function SetEnergyConsumptionValues($array_var)
{
    // Instanz Energie Verbauch // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (23551, $array_var['StatusSNS']['Time']);
    setvalue (40921, $array_var['StatusSNS']['ENERGY']['TotalStartTime']);
    setvalue (37993, $array_var['StatusSNS']['ENERGY']['Total']);
    setvalue (40371, $array_var['StatusSNS']['ENERGY']['Yesterday']);
    setvalue (11363, $array_var['StatusSNS']['ENERGY']['Today']);
    setvalue (59413, $array_var['StatusSNS']['ENERGY']['Power']);
    setvalue (26718, $array_var['StatusSNS']['ENERGY']['ApparentPower']);
    setvalue (43668, $array_var['StatusSNS']['ENERGY']['ReactivePower']);
    setvalue (54140, $array_var['StatusSNS']['ENERGY']['Factor']);
    setvalue (56641, $array_var['StatusSNS']['ENERGY']['Voltage']);
    setvalue (48260, $array_var['StatusSNS']['ENERGY']['Current']);
}

function SetTeleperiodValues($array_var)
{
    // Instanz Telemetriedaten // ID's eintragen der einzelnen Variablen innerhalb der angegebenen Instanz
    setvalue (59381, $array_var['StatusSTS']['Time']);
    setvalue (22159, $array_var['StatusSTS']['Uptime']);
    setvalue (11990, $array_var['StatusSTS']['UptimeSec']);
    setvalue (26085, $array_var['StatusSTS']['Heap']);
    setvalue (20315, $array_var['StatusSTS']['SleepMode']);
    setvalue (41681, $array_var['StatusSTS']['Sleep']);
    setvalue (25167, $array_var['StatusSTS']['LoadAvg']);
    setvalue (41414, $array_var['StatusSTS']['MqttCount']);
    setvalue (49209, $array_var['StatusSTS']['POWER1']);
    setvalue (48980, $array_var['StatusSTS']['POWER2']);
    setvalue (19203, $array_var['StatusSTS']['Dimmer']);
    setvalue (10785, $array_var['StatusSTS']['Color']);
    setvalue (36088, $array_var['StatusSTS']['HSBColor']);
    setvalue (10687, $array_var['StatusSTS']['Channel']['0']);
    setvalue (25205, $array_var['StatusSTS']['Channel']['1']);
    setvalue (57358, $array_var['StatusSTS']['Channel']['2']);
    setvalue (16973, $array_var['StatusSTS']['Scheme']);
    setvalue (50129, $array_var['StatusSTS']['Fade']);
    setvalue (32965, $array_var['StatusSTS']['Speed']);
    setvalue (14540, $array_var['StatusSTS']['LedTable']);
    setvalue (32404, $array_var['StatusSTS']['Wifi']['AP']);
    setvalue (52501, $array_var['StatusSTS']['Wifi']['SSId']);
    setvalue (10562, $array_var['StatusSTS']['Wifi']['BSSId']);
    setvalue (54677, $array_var['StatusSTS']['Wifi']['Channel']);
    setvalue (33239, $array_var['StatusSTS']['Wifi']['Mode']);
    setvalue (13980, $array_var['StatusSTS']['Wifi']['RSSI']);
    setvalue (15151, $array_var['StatusSTS']['Wifi']['Signal']);
    setvalue (25940, $array_var['StatusSTS']['Wifi']['LinkCount']);
    setvalue (53888, $array_var['StatusSTS']['Wifi']['Downtime']);
}

Diese Werte werden werden mit einem Ausgelösten Ereignis in die Variablen geschrieben. Für jede String Value Variable ein Ereignis.

Wenn ich jetzt den zweiten Plug aus dem Skript entferne ist alles Ok.

INLINE_sendMQTTCommand(43910,"status","0"); // Status 0 ruft alle MQTT Status Informationen ab (1-11) - ID ist die der InLine Plug Modul Instanz