ich wollte mein Rollo mit über Zeit und mit abfrage ob es regnet fahren.
Ich habe mir mal ein paar Scripte angesehen und wollte fragen ob das so richtig ist.
Das Script soll um zB 17:00 Uhr das Rollo nur nach oben fahren wenn es nicht Regnet. Das script wird um 17:00 gestartet.
<?
//Rolladen nur auf fahren wenn es NICHT Regnet !
$Sensor = GetValueBoolean("16393");
if ($Sensor == false);
{
echo "Rollo fährt hoch, kein Regen";
FS20_SwitchMode(43143 /*[Balkon\Rolladen]*/, false);
}
?>
16393 ist der Status Regensensor
43143 ist der Rolladen
ich würde auch gerne einen Text reinmachen ( echo „Rollo fährt nicht“) ich weiss aber nicht wo und wie?
auf Grund des Kommentars hinter der Nummer in der vorletzten Zeile gehe ich davon aus, das dieses Skript in IPS V2 laufen soll.
Also, du hast eigentlich nur 2 kleine Fehler in deinem Skript:
Die GetValue-Funktionen in V2 erwarten eine VariablenID, die als INTEGER angegeben werden muss.
Du hast einen syntaktischen Fehler in deinen IF-Statement. So wie es jetzt notiert ist wird der Vergleich ausgeführt, und dann passiert nix (egal welches Ergebnis). Der anschließende Block in den geschweiften Klammern wird immer ausgeführt. Grund ist das Semikolon am Ende der IF-Zeile (nach deinem Vergleichs-Statement in den Klammern), das hat da nix zu suchen!
So muss dein Skript aussehen:
<?
//Rolladen nur auf fahren wenn es NICHT Regnet !
$Sensor = GetValueBoolean(16393);
if ($Sensor == false) {
echo "Rollo fährt hoch, kein Regen";
FS20_SwitchMode(43143 /*[Balkon\Rolladen]*/, false);
}
?>
Um auch noch einen Text auszugeben, wenn das Rollo wegen regen nicht öffnet musst du das Skript wie folgt ergänzen: