Hallo,
Ich würde gerne bei einer Logik unterscheiden, ob die Logik durch einen Tasterbefehl oder durch einen crontab aufruf getriggert wurde, es will mir aber nicht so recht klappen.
Vorgeschichte: :-)
Ich will folgendes vorhaben realisieren:
Ich hab einen Taster als UM Programmiert, der mir meine Heizung im Raum zwischen 2 Betriebsarten wechselt, beim 1-Befehl soll er die heizung in Frostschutz schalten, und beim 0-Befehl soll er die Heizung in den Standby Betrieb und nach 15 min. wieder in den Komfortbetrieb schalten.
Das funktioniert auch soweit, jedoch würde ich gerne um 23:00 Uhr die Heizung absenken in den Standbybetrieb, das soll über einen Crontab Befehl funktionieren. Bisher hatte ich in der item.conf direkt die Betriebsart geschaltet, was immer funktioniert hat, allerdings muß man dann je nach Tasterstellung das nächste mal den Taster 2x betätigen, da er den Betriebsartwechsel nicht direkt mitbekommt.
Deshalb würde ich das ganze jetzt in einer Logik lösen.
Die Logik wird ja bereits über den Taster getriggert, und die Befehle werden gesendet, wird die Logik aber über den crontab getriggert, sieht man im Logfile, dass die Logik aufgerufen wird, aber es werden keine Befehle gesendet.
logic.conf
heizung.py
2. Problem:
Wenn der Crontab den knx Befehl für den Taster rücksetzen sendet, wie kann ich dann verhindern dass er mir die Logik erneut durch das Tasteritem triggert ?
mfg Mike
Ich würde gerne bei einer Logik unterscheiden, ob die Logik durch einen Tasterbefehl oder durch einen crontab aufruf getriggert wurde, es will mir aber nicht so recht klappen.
Vorgeschichte: :-)
Ich will folgendes vorhaben realisieren:
Ich hab einen Taster als UM Programmiert, der mir meine Heizung im Raum zwischen 2 Betriebsarten wechselt, beim 1-Befehl soll er die heizung in Frostschutz schalten, und beim 0-Befehl soll er die Heizung in den Standby Betrieb und nach 15 min. wieder in den Komfortbetrieb schalten.
Das funktioniert auch soweit, jedoch würde ich gerne um 23:00 Uhr die Heizung absenken in den Standbybetrieb, das soll über einen Crontab Befehl funktionieren. Bisher hatte ich in der item.conf direkt die Betriebsart geschaltet, was immer funktioniert hat, allerdings muß man dann je nach Tasterstellung das nächste mal den Taster 2x betätigen, da er den Betriebsartwechsel nicht direkt mitbekommt.
Deshalb würde ich das ganze jetzt in einer Logik lösen.
Die Logik wird ja bereits über den Taster getriggert, und die Befehle werden gesendet, wird die Logik aber über den crontab getriggert, sieht man im Logfile, dass die Logik aufgerufen wird, aber es werden keine Befehle gesendet.
logic.conf
Code:
[Heizungen] filename = 'heizung.py' watch_item = *.*.heizung.lueften crontab = 0 23 * *
Code:
#!/usr/bin/env python if trigger['by']=='Item' and trigger['source']=='og.wohnen.heizung.lueften': if trigger['value']==True: sh.og.wohnen.heizung.modus(4) if trigger['value']==False: sh.og.wohnen.heizung.modus(2) sh.og.wohnen.heizung.modus.timer('15m', 1) if trigger['by']=='Scheduler': sh.og.wohnen.heizung.lueften('False') sh.og.wohnen.heizung.modus(2)
Wenn der Crontab den knx Befehl für den Taster rücksetzen sendet, wie kann ich dann verhindern dass er mir die Logik erneut durch das Tasteritem triggert ?
mfg Mike
Kommentar