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


Ja, mit dem Klammern zählen hab ich's nicht so...
Kommentar