Wenn die Kinder schlafen, schalte ich eines der Items, die hinter der Uhrzeitabfrage kommen auf ON, sodass dann keine Durchsagen durch meine Echos im Haus mehr kommen sollen, wenn eines der oben genannten Items auf AN steht.
Komischerweise rutscht die Rule aber immer wieder in die Durchsage obwohl eines der Items auf AN steht.
In den Logs sehe ich auch das beispielsweie das ITem all_kind1_schlafen auf ON steht.
SaschaQ hat geschrieben: ↑12. Sep 2021 09:12
Komischerweise rutscht die Rule aber immer wieder in die Durchsage obwohl eines der Items auf AN steht.
Ja, aber die anderen stehen dann noch auf OFF? Du hast alles mit ODER verknüpft. Es reicht also, wenn einer der Ausdrucke erfüllt ist, damit er in IF-Verzweigung "rutscht".
EDIT: Wieso erzeugst du eigentlich zwei Timer mit gleicher Ablaufzeit direkt hintereinander? Du kannst die zwei Befehle auch in einem Timeraufruf zusammen packen.
Zuletzt geändert von BOP am 12. Sep 2021 09:52, insgesamt 2-mal geändert.
So lange eins immer auf OFF steht wird die Rule ausgeführt. Du müsstest eine Abfrage rein machen, die prüft ob einer auf ON steht und die Regel abbrechen dann.
Mannklappe hat geschrieben: ↑12. Sep 2021 09:49
Du müsstest eine Abfrage rein machen, die prüft ob einer auf ON steht und die Regel abbrechen dann.
Oder schlicht alles mit && verknüpfen. Wenn ich das richtig verstehe, geht es ja nicht darum die Kinder einzeln zu betrachten. Sondern sobald eines Schläft, sollen die Befehle nicht mehr ausgeführt werden.
Deswegen schrieb ich ja: "Wenn ich das richtig verstehe, geht es ja nicht darum die Kinder einzeln zu betrachten."
Sollte das nicht so sein, hast du recht. Dann reicht es nicht, alle mit && zu verknüpfen.
Oder sagen wir es so: Sobald eines auf ON steht, würde bei && Verknüpfungen die Befehle in der IF-Verzweigung nicht mehr ausgeführt.
Einfach eine If-Regel am Anfang einfügen, in dem du abfragst ober einer der Items auf ON steht und dann einfach die Regel abbrechen. Somit umgehst du, dass die Schleife dauerhaft ausgeführt wird.
if (all_kind1_schlafen.state == ON || all_kind1_schlafen_prion_schalter.state == ON || all_kind2_schlafen.state == ON || all_kind2_schlafen_prion_schalter.state == ON)
{
return;
}
SaschaQ hat geschrieben: ↑12. Sep 2021 10:09
Ich verstehe den Ansatz von && nicht. Dies würde doch bewirken, dass alle Items den Status OFF haben müssen.
Ja genau. Oder anders ausgedrückt. Sobald eines der Items nicht OFF ist, würde sie nicht abgearbeitet.