Verehrte Gemeinde, ich hätte da für die Interessierten einen funktionierenden Workflow und eine Optimierungsfrage/Herausforderung für die Experten
Usecase:
Beim einschalten tue folgendes:
Aktiviere die Steckdose für die Kaffeemaschine (gelöst)
Bestätige mir die Aktivierung mittels eines Jingles via Sonos (gelöst)
Aktiviere nach 15 Minuten einen Radiosender oder ein Lied (15 Minuten = Aufheizungsvorgang) (gelöst)
Beim ausschalten tue folgendes:
Deaktiviere die Steckdose für die Kaffeemaschine (gelöst)
Stoppe den Timer Thread::sleep(900000) aus der Startrule (ungelöst)
Herausforderung:
Mein Problem ist, dass wenn ich die Steckdose vor der Aktivierung des Radiosenders doch ausschalte, dass dann die AN-Rule trotzdem nach eben 15 Minuten den Radiosender abspielt.
Frage an euch: wie kann ich beim ausschalten die gesamte Start-Rule oder nur den Zähler stoppen?
Das Kommando sendCommand(PlayLivingRoom, OFF) stoppt zwar das abspielen der Sonosanlage, jedoch nicht den laufenden 15-min-Timer.
Hier mein Code:
Sitemap
Items
Rules
Usecase:
Beim einschalten tue folgendes:
Aktiviere die Steckdose für die Kaffeemaschine (gelöst)
Bestätige mir die Aktivierung mittels eines Jingles via Sonos (gelöst)
Aktiviere nach 15 Minuten einen Radiosender oder ein Lied (15 Minuten = Aufheizungsvorgang) (gelöst)
Beim ausschalten tue folgendes:
Deaktiviere die Steckdose für die Kaffeemaschine (gelöst)
Stoppe den Timer Thread::sleep(900000) aus der Startrule (ungelöst)
Herausforderung:
Mein Problem ist, dass wenn ich die Steckdose vor der Aktivierung des Radiosenders doch ausschalte, dass dann die AN-Rule trotzdem nach eben 15 Minuten den Radiosender abspielt.
Frage an euch: wie kann ich beim ausschalten die gesamte Start-Rule oder nur den Zähler stoppen?
Das Kommando sendCommand(PlayLivingRoom, OFF) stoppt zwar das abspielen der Sonosanlage, jedoch nicht den laufenden 15-min-Timer.
Hier mein Code:
Sitemap
Code:
Frame label="Küche" { Switch item=KaffeeSteckdose }
Code:
Switch KaffeeSteckdose "Kaffeeschalter" {homematic="address=LTK0122345, channel=1, parameter=STATE"}
Code:
rule "Kaffee Startprozess" when Item PavoniSteckdose received command ON then sendCommand(PlayLivingRoomTrack, '//FRITZ-NAS/sounds/start.mp3') Thread::sleep(900000) sendCommand(PlayLivingRoomTrack, '//FRITZ-NAS/sounds/song.mp3') end rule "Kaffee Endprozess" when Item PavoniSteckdose received command OFF then sendCommand(PlayLivingRoom, OFF) end
Kommentar