Parser error im script

In meinem script um die Wohnzimmertemperatur zu steuern:

"<?

if (GetValue(15815 /[Home\Wohnzimmer\Wohnzimmer Temp]/) <
(GetValue(20279 /[Home\Wohnzimmer\Wohnzimmer Regler\SETPOINT]/) {
FS20_SwitchMode(46575 /[Home\Heizung Schalter\SH Wohnzimmer\Status]/, true);
} else {
FS20_SwitchMode(46575 /[Home\Heizung Schalter\SH Wohnzimmer\Status]/, false);
}

?>"

wird beim ausführen folgender Fehler angezeigt:

„Parse error: syntax error, unexpected ‚{‘ in [Skripte\Wohnzimmer heizung steuern] on line 4“

Könntet ihr mir mitteilen, welche Änderung im script getätigt werden muss und warum…

Schau dir mal die Klammern im if Statement an. Da stimmt die Anzahl der ( und ) nicht überein…

paresy

<?

if (GetValue(15815 /*[Home\Wohnzimmer\Wohnzimmer Temp]*/) 
 {
    FS20_SwitchMode(46575 /*[Home\Heizung Schalter\SH Wohnzimmer\Status]*/, true);
 } else {
    FS20_SwitchMode(46575 /*[Home\Heizung Schalter\SH Wohnzimmer\Status]*/, false);
 }

?>

Aber was soll das mit „if (GetValue(15815 /[Home\Wohnzimmer\Wohnzimmer Temp]/)“
was soll das bewirken? Am besten beschreibst Du mal was Du vor hast.

Hallo!

<?

if (GetValue(15815 /*[Home\Wohnzimmer\Wohnzimmer Temp]*/) <
(GetValue(20279 /*[Home\Wohnzimmer\Wohnzimmer Regler\SETPOINT]*/) {
FS20_SwitchMode(46575 /*[Home\Heizung Schalter\SH Wohnzimmer\Status]*/, true);
} else {
FS20_SwitchMode(46575 /*[Home\Heizung Schalter\SH Wohnzimmer\Status]*/, false);
}

?>

PHP-Code am besten in die richten Tags setzen, dann kann man´s besser lesen :wink:

zu deinem Problem:


if (GetValue(15815 /*[Home\Wohnzimmer\Wohnzimmer Temp]*/) <
GetValue(20279 /*[Home\Wohnzimmer\Wohnzimmer Regler\SETPOINT]*/)) {

Du hast die Klammern bei dem 2. GetValue falsch gemacht. Am anfang eine Öffnende, die du nicht brauchst, dafür am Ende eine Schließende vergessen.

Gruß,
Christian.

@paresy, @ChristianS - danke – Zeile 4 klappt jetzt.

Jetzt wird beim Ausführen in Zeile 5 folgende Warnung angezeigt:

„Warning: fs20_switchmode: Instance #46575 not found! in [Skripte\Wohnzimmer heizung steuern] on line 5“

was mache ich falsch?

@bmwm3,
das script soll die Heizung einschalten wenn die Temperatur im Wohnzimmer „kleiner gleich“ dem Sollwert des Thermostats ist oder die Heizung ausschalten, wenn die Temperatur im Wohnzimmer „größer gleich“ dem Sollwert des Thermostats ist.

… wie muss ich mein script umschreiben, dass meine Anforderung erfüllt wird?

Du versuchst vermutlich auf die ID des Status zu schalten…

46575 /*[Home\Heizung Schalter\SH Wohnzimmer\Status]*/

Du musst hier die ID der Instanz einsetzen.