Nabend zusammen,
ich versuche eine Logik aus SmarthomeNG zu übernehmen. Die Patschfunktion einen MDT GT2 sendet ein 0 Telegramm auf die GA 1/1/255 welches alle Lampen eines Raumes enthält. Sind alle Lampen aus soll eine bestimmte eingeschaltet werden. Bei jedem patsch ein 0-Telegram ist um auch ohne Logikengine darüber zumindest alle Lampen des Raumes ausgeschalten werden können.
Theoretisch müsste ich doch auf das 0-Telegramm auf der GA 1/1/255 reagieren und nur dann eine 1 an den Baustein 1183 (UND) senden, die restliche Zeit sollte dort eine 1 stehen was ich aber nicht hinbekommen habe. Ich habe schon etliche Varianten mit Verzögerer, FlipFlop etc. probiert aber bisher ohne Erfolg. Eventuell könnt ihr mir dabei einen Denkanstoß geben. Nachfolgend ist der aktuelle Stand welcher mir immer die Lampe in der Ausgangsbox auf den angegebenen Wert setzt, unabhängig vom aktuellen Status.
Switchon.PNG
Die folgende Logik stammt aus SmarthomeNG und erfüllt genau die Anforderung
ich versuche eine Logik aus SmarthomeNG zu übernehmen. Die Patschfunktion einen MDT GT2 sendet ein 0 Telegramm auf die GA 1/1/255 welches alle Lampen eines Raumes enthält. Sind alle Lampen aus soll eine bestimmte eingeschaltet werden. Bei jedem patsch ein 0-Telegram ist um auch ohne Logikengine darüber zumindest alle Lampen des Raumes ausgeschalten werden können.
Theoretisch müsste ich doch auf das 0-Telegramm auf der GA 1/1/255 reagieren und nur dann eine 1 an den Baustein 1183 (UND) senden, die restliche Zeit sollte dort eine 1 stehen was ich aber nicht hinbekommen habe. Ich habe schon etliche Varianten mit Verzögerer, FlipFlop etc. probiert aber bisher ohne Erfolg. Eventuell könnt ihr mir dabei einen Denkanstoß geben. Nachfolgend ist der aktuelle Stand welcher mir immer die Lampe in der Ausgangsbox auf den angegebenen Wert setzt, unabhängig vom aktuellen Status.
Switchon.PNG
Die folgende Logik stammt aus SmarthomeNG und erfüllt genau die Anforderung
Code:
#!/usr/bin/env python3 # switchon.py # get triggering item trigger_source = 'Wohnzimmer.Licht.Patsch' logger.warning('SwitchOn triggered by '+trigger_source) trigger_item = sh.return_item(trigger_source) if not trigger_item(): # switch on associated item item_to_switchon = sh.return_item('Wohnzimmer.Licht.LED') if not sh.return_item('Wohnzimmer.Licht.LED'): if not sh.return_item('Wohnzimmer.Licht.Spot.w'): logger.warning('Switching on '+str(item_to_switchon)) item_to_switchon(20) else: logger.warning('SwitchOn trigger item is switched off. Nothing to do.')
Kommentar