Seltsamer 'Parse Error'

Moin, moin,

folgendes seltsames Problem bringt mich (fast) zum Wahnsinn.

Ich baue gerade ein Zugangs- und Maschinennutzungssystem für einen lokalen gemeinnützigen Verein.
Zum Einsatz kommt ein Raspberry Pi 3 mit Symcon 4.2.
Für eine Gating-Funktion habe ich eine Bool Variable ‚Gate‘ angelegt, die durch folgendes, sehr einfaches Script auf TRUE oder FALSE gesetzt werden soll:

<?
$dur = 10;
 if($_IPS['SENDER'] == "TimerEvent")	{
 	IPS_SetScriptTimer($_IPS['SELF'], 0);
	SetValueBoolean(24326 /*[Entry System\Gate]*/, false);
 } else {
 	IPS_SetScriptTimer($_IPS['SELF'], $dur);
 	SetValueBoolean(24326 /*[Entry System\Gate]*/, true);
 	}
?>

Also sehr überschaubar und mehrfach von mir auch in meiner Haussteuerung genutzt.

Allerdings bekomme ich das script nicht zum laufen und erhalte die Fehlermeldung:

Parse error: syntax error, unexpected ‚}‘ in /var/lib/symcon/scripts/57901.ips.php on line 6

‚What the hell is going on here?‘ - Bitte mal drüber schauen ob einem ‚Hard Coder‘ von Euch was dazu einfällt, denn ich bin am verzweifeln.

Gruß
Dieter

Hallo
So auf die Schnelle. Was macht das Sternchen am Ende der Zeile ?

SetValueBoolean(24326 /*[Entry System\Gate]*/, false);* 

Wow - GRANDIOS! Das war es!!!

Problem war, dass bei mir das Sternchen nicht angezeigt wurde - warum auch immer. Ich habe ein Leerzeichen gesehen.

Danke, Danke!

So, ich habe exakt dein Skript einmal kopiert und bei mir eingefügt. Wenn ich die Variablen-ID nicht anpasse, dann kommt selbstverständlich ein Fehler, allerdings beschwert er sich über die nicht vorhandene Variable in Zeile 8. Ändere ich die ID funktioniert es einwandfrei und tut genau was es tun soll.

Bist du sicher, dass du beim Verein exakt dieses Skript benutzt? Vielleicht kannst du ja noch einmal dein hier gepostetes kopieren und bei dem System einfügen. Und wie verhält es sich, wenn du exakt dieses Skript (mit und ohne angepasste Variablen-ID) bei dir zu Hause verwendest?

Vom Fehler her klingt es so als würdest du eine geschweifte Klammer zu wenig öffnen, aber das ist in dem geposteten Code nicht der Fall.

Problem ist gelöst - vielen Dank an @1007 und @Dr.Niels und ich kann auch nun nachvollziehen wie das passiert ist.
Ich wusste gestern nicht mehr auswendig wie dieses ‚Timer Script‘ aussehen muss und habe das Beispiel aus der Dokumentation kopiert.
Dabei muss sich wohl ein ungültiges Zeichen nach ‚SetValueBoolean(24326 /[Entry System\Gate]/, false);‘ eingeschlichen haben, dass auf meinem Screen nicht angezeigt wurde.
Ich habe an sämlichen anderen Zeilen rumgeschraubt - ohne Erfolg.

Erst das ‚pasten‘ in das Forum stellte das fehlerhafte Zeichen als * dar, was mir aber nicht aufgefallen war - sehr wohl aber dem @1007

Also flott gelöscht und schon lief es. @Dr.Niels: Ich hatte meinen Beitrag editiert und das Sternchen rausgenommen und sicher hast Du erst danach das script getestet und es lief.

Einfach nur verrückt - aber trotzdem vielen Dank für Eure schnelle Hilfe.

Gruß
Dieter