Klingel Rule (Regel) Optimierung
Verfasst: 9. Okt 2018 12:49
Hallöchen,
nach der doch recht schönen und langen Sommerpause habe ich mir mal neues Spielzeug bestellt und erweitere jetzt nach und nach mein System. Akzuell sind sehr viele Komponenten von Xiaomi schon Zuhause und noch im Zulauf. Einen Schalter habe ich mir jetzt als Klingel umfunktioniert und bräuchte vielleicht noch eins zwei Tipps.
Die Regel funktioniert für mich schon sehr gut.
Zu Erklärung falls jeman dieses Thread findet:
Von 08:00 bis 21:00 Uhr gibt das Gateway ein Klingelgeräusch ab beim Betätigen des Buttons.
Zusätzlich auch eine Push Nachricht auf mein Handy.
Nach 21 und vor 08 klingelt das Gateway nicht mehr sondern ich kriege nur eine Pushnachricht.
Zusätzlich werden die Pushnachrichten in der App gespeichert (sendLogNotification).
Meine Fragen dazu:
1. Wieso muss ich <=20 einstellen damit die Klingel bis 21 Uhr klingelt?
2. Wenn erneut der Button (also kurz danach) gedrückt wird unterbricht das erste Klingeln und es wird erneut ausgeführt. Ich dachte das Thread::sleep bedeutet, dass die Regel nicht sofort erneut ausgeführt wird.
3. Gibt es sonst noch Optimierungsmöglichkeiten?
nach der doch recht schönen und langen Sommerpause habe ich mir mal neues Spielzeug bestellt und erweitere jetzt nach und nach mein System. Akzuell sind sehr viele Komponenten von Xiaomi schon Zuhause und noch im Zulauf. Einen Schalter habe ich mir jetzt als Klingel umfunktioniert und bräuchte vielleicht noch eins zwei Tipps.
Code: Alles auswählen
rule "Klingel von 08:00 bis 21:00 Uhr"
when
Channel "mihome:sensor_switch_aq2:xxxx:button" triggered SHORT_PRESSED or
Channel "mihome:sensor_switch_aq2:xxxx:button" triggered DOUBLE_PRESSED
then
if (now.getHourOfDay() >= 08 && now.getHourOfDay() <= 20) {
sendBroadcastNotification("Es klingelt!")
sendLogNotification("Es klingelt!")
sendCommand(GateU_SoundVolume, 10)
sendCommand(GateU_SoundSelector, 10)
//sendCommand(GateO_SoundVolume, 10)
//sendCommand(GateO_SoundSelector, 10)
Thread::sleep(2500)
sendCommand(GateU_SoundVolume, 0)
sendCommand(GateU_SoundSelector, 10000)
} else {
sendBroadcastNotification("Es klingelt außerhalb der Sprechzeiten!")
sendLogNotification("Es klingelt außerhalb der Sprechzeiten!")
}
end
Zu Erklärung falls jeman dieses Thread findet:
Von 08:00 bis 21:00 Uhr gibt das Gateway ein Klingelgeräusch ab beim Betätigen des Buttons.
Zusätzlich auch eine Push Nachricht auf mein Handy.
Nach 21 und vor 08 klingelt das Gateway nicht mehr sondern ich kriege nur eine Pushnachricht.
Zusätzlich werden die Pushnachrichten in der App gespeichert (sendLogNotification).
Meine Fragen dazu:
1. Wieso muss ich <=20 einstellen damit die Klingel bis 21 Uhr klingelt?
2. Wenn erneut der Button (also kurz danach) gedrückt wird unterbricht das erste Klingeln und es wird erneut ausgeführt. Ich dachte das Thread::sleep bedeutet, dass die Regel nicht sofort erneut ausgeführt wird.
3. Gibt es sonst noch Optimierungsmöglichkeiten?