Wenn ich einen Taster betätige soll ein Script ausgeführt werden.
Soweit klar.
In dem Script möchte ich verschiedene Geräte schalten, wenn die Uhrzeit größer 21:00:00 ist.
Wie kann ich das mit php machen?
if uhrzeit > „21:00:00“ dann
SteckA ausschalten
SteckB ausschalten
endif
Genau, oder die obige (nun korrigierte) Version.
Ich wollte mit meiner Antwort nur zum Verständnis beitragen, und da kann man Minuten auch noch berücksichtigen (falls das wer mal brauchen sollte).
Ich möchte gerne das zwischen 0:00 und 07:00 falls meine Lampe in Wohnzimmer nicht brennt ein Script ausgeführt wird. Leider macht er das nicht. Nach 7:00h und vor 24:00h klappt alles wie gedacht.
Jemand eine Idee?
$id1= 12537 /*[Sender\Bad FS20 Bewegungsmelder Dusche\Status]*/ ;
$id2= 51095 /*[Sender\Bad FS20 Bewegungsmelder Bad\Status]*/ ;
$id3= 44036 /*[Empfänger\Bad FS20 Licht\Status]*/ ;
$licht_fluter=15250 /*[Empfänger\Wohnzimmer FS20 Licht Fluter\Status]*/;
$licht_schraege=13948 /*[Empfänger\Wohnzimmer FS20 Licht Schräge\Status]*/;
$tv=22721 /*[Infrarot-Geräte\TV\Status]*/;
$actual_time = date("H:i");
$day = date("w");
If (!GetValueBoolean($id3)) //Wenn Licht im Bad aus
{
//Wenn Licht Wohnung aus und
//+ Uhrzeit zwischen 24h und 7h dann Licht dimmen Stufe 5.
If (!GetValueBoolean($licht_fluter) and $actual_time >= "00:00" and $actual_time <= "06:59" )
{
FS20_SetIntensity(19627 /*[Empfänger\Bad FS20 Licht]*/, 5, -1);
IPS_Sleep(200);
FS20_SetIntensity(19627 /*[Empfänger\Bad FS20 Licht]*/, 5, -1);
}
// Uhrzeit zwischen 7h und 12hdann Licht Stufe 15
If ($actual_time >= "07:00" and $actual_time <= "12:00" )
{
FS20_SetIntensity(19627 /*[Empfänger\Bad FS20 Licht]*/, 15, -1);
IPS_Sleep(200);
FS20_SetIntensity(19627 /*[Empfänger\Bad FS20 Licht]*/, 15, -1);
}
//Ansonsten Licht dimmen auf Stufe 11
Else
{
FS20_SetIntensity(19627 /*[Empfänger\Bad FS20 Licht]*/, 11, -1);
IPS_Sleep(200);
FS20_SetIntensity(19627 /*[Empfänger\Bad FS20 Licht]*/, 11, -1);
}
}
?>
Was macht „er“ denn in der Zeit? Gewöhnlich macht „er“ genau das, was der Anwender programmiert hat .
Wird der erste if-Block oder der else-Block ausgeführt?
Versuch es mal mit einer Abfrage, entweder als case oder mit elseif.
Bei deinem Programm wird das erste IF und dein ELSE ausgefuehrt
weil sich dein ELSE nur auf das zweite IF bezieht.
Entweder CASE oder wenn du bei IF bleiben willst dein ELSE
ersetzen durch