wer kann sich bitte mal meine Rule anschauen, die funktioniert nur sporadisch...
Was möchte ich?
Ein Event aus dem Googlekalender auswerten und darauf reagieren.
Also Lüftung soll zwischen manuell und automatic wechseln. je nach dem was ich im Kalender eingetragen habe.
Irgendwo habe ich einen Fehler in der Regel. Es funktioniert nur wenn ich den Hauptschalter einmal betätige.
Ich möchte auch das die regel alle 5 minuten einmal ausgeführt wird damit Änderungen auch vor dem Kalenderbefehlwechsel ausgeführt werden
item:
Code: Alles auswählen
Switch KWL_Wochenprogrammhauptschalter "Wochenprogramm Hauptschalter"
Switch KWL_kalendermanuell
Switch KWL_Wochenprogramm
Switch KWL_WochenprogrammStatus "Status Kalenderbetrieb[MAP(lueftungstatus.map):%s]"
Code: Alles auswählen
rule "Kalender auslesen OG"
when
Time cron "0 0/5 * * * ?" or //every 5 Minutes
Item KWL_kalendermanuell changed //von kalender BEGIN:KWL_kalendermanuell:ON und END:KWL_kalendermanuell:OFF
then
if (KWL_Wochenprogramm.state ==NULL) //Abfrage wenn Item NULL
{
KWL_Wochenprogramm.postUpdate(ON)
}
if(KWL_kalendermanuell.state == ON) //ist on gleich Manuell
{
KWL_Wochenprogramm.sendCommand(ON)
}
else
{
KWL_Wochenprogramm.sendCommand(OFF) //ist off gleich automatic
KWL_Manuell.sendCommand(0) //auf automatic wechseln
logInfo("myRules","Automatic ein")
}
end
rule "Wochenprogramm Lüftung OG"
when
Time cron "0 0/5 * * * ?" or //every 5 Minutes
Item KWL_Wochenprogrammhauptschalter changed or //ist der Hauptschalter an oder der Kalenderbefehl kommt
Item KWL_kalendermanuell changed
then
if ((KWL_Wochenprogrammhauptschalter.state == ON) && (KWL_Manuell.state == 0) && (KWL_Wochenprogramm.state == ON)) {
logInfo("myRules","Manuell ein")
KWL_Manuell.sendCommand(1) //Lüftung auf manuelle
KWL_Stufe.sendCommand(0) //Lüfterstufe 1
KWL_WochenprogrammStatus.sendCommand(ON) //Staus zur Anzeige setzen
}
else
{
KWL_Manuell.sendCommand(0) //ansonsten manuell aus= automatic
KWL_WochenprogrammStatus.sendCommand(OFF)
}
end