ich bin leider nicht so der Skriptprogrammierer und benötige daher Hilfe.
Ich habe im Schlafzimmer 2 Rolläden, einen Links und einen Rechts. Der Linke soll zu bestimmten Zeiten hoch und runter fahren und das funktioniert auch. Der Rechte (Balkontür) fährt auch zeitgesteuert runter soll aber nicht runterfahren wenn die Tür geöffnet ist.
Habs mal korrigiert. Was ein flüchtigkeitsfehler du wußtest doch aber was gemeint ist :-p
Dank für den Tip der URL. Werde ich mir mal ansehen. Es wurde gefragt wie ich es jetzt löse und das habe ich geschrieben. Oder war das zu unverständlich? Ich hab dieses „Script“ angelegt und das wird über IPS zeitgesteuert um 22 Uhr ausgeführt.
Wie ich schon sagte bin ich totaler Anfänger und daher kein IPS/Script oder PHP experte.
Ah… jetzt verstehe ich es auch… über ein Zyklisches Ereignis.
Vielleicht ist dann das Script von mcbelly schon etwas zuviel.
Hier mal eine einfachere Version (ausgeschrieben und auf deine uns bekannten IDs angepasst.
Du musst noch die ID der Variable vom Türzustand eintragen.
<?
$tuer = GetValueBoolean(Variablen-ID vom Türzustand); // Variablen ID eintragen (vermute HM-TFK?)
if ($tuer == false) // wenn Tür geschlossen
{
HM_WriteValueFloat(20279 /*[Schlafzimmer\Rolladen rechts]*/, "LEVEL", 0); // Rollladen rechts schließen
HM_WriteValueFloat(58443 /*[Schlafzimmer\Rolladen links]*/, "LEVEL", 0); // Rollladen links schließen
}
?>
Welche ID hast du denn eingefügt?
Die von der Zustandsvariable oder etwa von der Instanz?
Mach am besten mal einen Screenshot von der Baumstruktur und poste ihn hier (Button „Grafik einfügen“).
EDIT: Ich sehe gerade… du verwendest einen Fensterdrehgriff… dann funktioniert die „GetValueBoolean“-Abfrage nicht… mach mal’n Screenshot…
P.S. PHP-Code (Scripte) fügst du besser mit dem entsprechenden Button (PHP-Code einfügen) ganz rechts im Menü beim Posten ein.
Ist besser zu lesen;)
<?
$tuer = GetValueInteger(48540 /*[Schlafzimmer\Fenstergriff]*/); // Variablen ID eintragen (vermute HM-TFK?)
if ($tuer == false) // wenn Tür geschlossen
{
HM_WriteValueFloat(20279 /*[Schlafzimmer\Rolladen rechts]*/, "LEVEL", 0); // Rollladen rechts schließen
HM_WriteValueFloat(58443 /*[Schlafzimmer\Rolladen links]*/, "LEVEL", 0); // Rollladen links schließen
}
?>
Nun schließt er beide nicht wenn die Tür offen ist. Hast du vieleicht noch eine Idee wie ich es trennen kann? Der linke Rolladen ist ein Fenster, das kann auch zu wenn die Tür offen ist.
Achja und vielen Dank, du hast mir sehr geholfen auch das System ein wenig mehr zu verstehen
Dann nimmste den Befehl einfach aus den geschweiften Klammern (If/Wenn-Bedingung) raus.
Siehe…
<?
$tuer = GetValueInteger(48540 /*[Schlafzimmer\Fenstergriff]*/); // Variablen ID eintragen (vermute HM-TFK?)
if ($tuer == false) // wenn Tür geschlossen
{
HM_WriteValueFloat(20279 /*[Schlafzimmer\Rolladen rechts]*/, "LEVEL", 0); // Rollladen rechts schließen
}
HM_WriteValueFloat(58443 /*[Schlafzimmer\Rolladen links]*/, "LEVEL", 0); // Rollladen links schließen
?>
if ($tuer == false)
…solltest du noch auf die Integer-Zustände abändern… keine Ahnung wieviele es beim Drehgriff gibt (hab selbst keinen)
z.B. if ($tuer == 0) // geschlossen ; if ($tuer == 1)
… das du keine Überraschungen erlebst