Du musst erst den Auslöser mit $_IPS[‚SENDER‘] prüfen, also auch gegen ===„VARIABLE“. Erst dann kannst du sicher sein, dass $_IPS[‚VARIABLE‘] gefüllt ist.
Wenn dein Skript durch eine Variable ausgelöst wird, dann hat $_IPS[„SENDER“] den Wert „Variable“. Groß- und Kleinschreibung ist hierbei wichtig.
Bei dem switch prüfst du den fixen String „VARIABLE“ der nie den Wert einer VariabblenID annehmen kann.
Wenn das Skript durch eine Variable angestoßen wurde kannst du mit $_IPS[‚VARIABLE‘] auslesen welche es war.
Dementsprechend würde der Code wie folgt lauten:
if ($_IPS["SENDER"] === "Variable"){
switch ($_IPS['VARIABLE']){
case 36950:
SetValueInteger(53305,0);
break;
case 42733:
SetValueInteger(49685,0);
break;
}
}