Kann fehler im Script nicht finden

Hallo Zusammen,
ich habe einen Fehler den mir mein Script immer meldet wo ich den Fehler leider nicht finden kann.
Das Script läuft auch Problemlos mit den Schaltvorgängen.

Hat jemand eine Idee?
Anbei der Fehler:
Notice: Undefined index: VARIABLE in /mnt/data/symcon/scripts/19700.ips.php on line 9
Notice: Undefined index: VALUE in /mnt/data/symcon/scripts/19700.ips.php on line 9
Warning: Variable #0 existiert nicht in /mnt/data/symcon/scripts/19700.ips.php on line 9

Anbei das Script:

<?php

// Definition Schaltaktoren
$TEST1 = (55634 TEST1 (Test\Test1));
$TEST2 = (47509 TEST2 (Test\Test2));

// Hiermit wird der Wert EIN/AUS gesetzt
if ($_IPS['SENDER'] != 'Execute') {
    SetValue($_IPS['VARIABLE'],$_IPS['VALUE']);
}

// Definition für GetValue
$Value= (37456 TEST (Test\TEST);

// Auslesen der Schalterstellung im WebFront
$VirtualSwitchValue = GetValue($Value);

// Jetzt folgt der Schaltvorgang

// Wenn im WebFront EIN geklickt wird
if ($VirtualSwitchValue == true)
{
    PHUE_SwitchMode($TEST1, true);
    PHUE_SwitchMode($TEST2, true);
        
}

// Wenn im WebFront AUS geklickt wird
if ($VirtualSwitchValue == false)
{
    PHUE_SwitchMode($TEST1, false);
    PHUE_SwitchMode($TEST2, false);
    
}

?>

Viele Grüße
Christoph

Das Problem liegt in dieser Zeile - nona. Schau dir mal das Zeichen VOR „VARIABLE“ und vor „VALUE“ an :wink:
Ebenso bei SENDER.
Sollte das nicht-hoch-stehende Hochkomma von wo anders her kommen (copy/paste) und bei dir in IPS ein ’ sein, dann ist $_IPS[‚VARIABLE‘] 0. Da gibt es zb. nur einen Wert, wenn es als Aktionssript ausgeführt wird. Beim Ausführen im Editor bekommst da immer einen Fehler. Es hat die ID der Variable, bei der das Skript als Aktionsskript hinterlegt ist.

Das liegt wohl an copy Past bei mir im Script ist es ein hoch Komma

Dann liegt es daran, dass du das Skript mit „Ausführen“ im Editor startest. Das geht nicht. Zumindest nicht ohne Fehler.
Das könnte man noch für eine bessere Übericht zusammenfassen

// Wenn im WebFront EIN geklickt wird
if ($VirtualSwitchValue == true)
{
PHUE_SwitchMode($TEST1, true);
PHUE_SwitchMode($TEST2, true);

}

// Wenn im WebFront AUS geklickt wird
if ($VirtualSwitchValue == false)
{
PHUE_SwitchMode($TEST1, false);
PHUE_SwitchMode($TEST2, false);

}

auf

PHUE_SwitchMode($TEST1, $VirtualSwitchValue);
PHUE_SwitchMode($TEST2, $VirtualSwitchValue);

Ändert aber nichts an der Funktionalität.

Wie müsste ich es den ausführen damit ich leinen Fehler bekomme?

Damit $_IPS[‚VARIABLE‘] überhaupt gefüllt ist, muss das Script durch eine Variable getriggert werden. also durch ein Ereignis, welche durch eine Variablenänderung ausgelöst wurde.

Das hab ich dir hier schon beschrieben.

Habe deinen Code oben Mal korrekt mit dem Code Block versehen.
Vielleicht ist es für die anderen jetzt einfacher.
Michael