Guten Tag, ich komme einfach auf keine Lösung und habe mir bereits einen Wolf gesucht.
Habe ein kleines Plugin geschrieben, welches mir Feiertage schaltet. Damit kann ich Heizung, Läden und auch Wecker dann an freien Tagen, wie dem 26.12. anders schalten.
Das Plugin an sich funktioniert ganz gut, aber ich muss es ja täglich anstossen, um eben einen Tag weiter zu kommen.
Das wollte ich mit einem Cron-Job machen, aber ich komm einfach nicht drauf, wie ich das anstossen soll.
Die Defintion ist folgendermassen:
jetzt sollte ja irgendwie "parse_logic oder parse_item ausgeslöst werden. Aber wie binde ich das ein, daß es funktioniert?
so jedenfalls geht es nicht, zumindest kommt das nicht an. Kann mir einer sagen, von wo und wie der Aufruf aussehen muss?
Danke Peter
Habe ein kleines Plugin geschrieben, welches mir Feiertage schaltet. Damit kann ich Heizung, Läden und auch Wecker dann an freien Tagen, wie dem 26.12. anders schalten.
Das Plugin an sich funktioniert ganz gut, aber ich muss es ja täglich anstossen, um eben einen Tag weiter zu kommen.
Das wollte ich mit einem Cron-Job machen, aber ich komm einfach nicht drauf, wie ich das anstossen soll.
Die Defintion ist folgendermassen:
Code:
class Feiertag(): def __init__(self, smarthome,VoralarmZeit = 1, SAMSTAG_FEIERTAG='True', SAMSTAG_VORALARM='True', SONNTAG_FEIERTAG='True', SONNTAG_VORALARM='True', OWN_FT='', mailto=''): logger.info("Init Feiertag") self._sh = smarthome ##self._sh.scheduler.add('Feiertag',self.auswertung,cycle=5) self._VoralarmZeit = VoralarmZeit self._SAMSTAG_FEIERTAG= SAMSTAG_FEIERTAG self._SAMSTAG_VORALARM= SAMSTAG_VORALARM self._SONNTAG_FEIERTAG= SONNTAG_FEIERTAG self._SONNTAG_VORALARM= SONNTAG_VORALARM self._ARRAY_APPEND=OWN_FT self._MAILTO=mailto def run(self): self.alive = True # if you want to create child threads, do not make them daemon = True! # They will not shutdown properly. (It's a python bug) logger.info('FEIERTAG - run - start') self.auswertung() def stop(self): self.alive = False def parse_item(self, item): ##Definition beim einlesen der ITEMS if 'zentral.feiertag' in item.conf: logger.info("parse item: feiertag.list" + str(item)) return self.update_item ##else: ## return None #def parse_item(self, item): # if 'my_parameter' in item.conf: # value = item.conf['my_parameter'] # return self.update_item #else: # return None ##def parse_logic(self, logic): # # if 'start_run_list' in logic.conf: # # # self.function(logic['name']) # # logger.info('start-run in feiertag ausgelöst') # # pass def update_item(self, item, caller=None, source=None, dest=None): if 'zentral.feiertag' in item.conf: value=item.conf['zentral.feiertag'] # if value == 1: # self.auswertung() logger.info('FEIERTAG - update-item-Liste True geschaltet'+ str(item))
Code:
[[feiertag]] type=bool visu_acl=rw knx_dpt=1 feiertag_update_item=zentral.feiertag
Danke Peter
Kommentar