Hallo,
ich habe einen RFID-Leser, der über MQTT Daten an mein System sendet. Sobald ich aber Smarthome neu starte, wird einmal die Aktion ausgelöst.
Was muss ich ändern, um dieses zu verhindern? Die Init in der Item-Def sind dort drin, weil ich damit in der Logic durch das IF die Auslösung verhindern wollte, das hat aber nicht geklappt.
Ich habe die ItemDefiinition und die Logic angehängt:
Item-Def:
Logik:
ich habe einen RFID-Leser, der über MQTT Daten an mein System sendet. Sobald ich aber Smarthome neu starte, wird einmal die Aktion ausgelöst.
Was muss ich ändern, um dieses zu verhindern? Die Init in der Item-Def sind dort drin, weil ich damit in der Logic durch das IF die Auslösung verhindern wollte, das hat aber nicht geklappt.
Ich habe die ItemDefiinition und die Logic angehängt:
Item-Def:
Code:
transponder: rfid: uid: type: str sv_widget: "{{ basic.print('uid', 'item', '') }}" influxdb: 'true' enforce_updates: 'true' mqtt_topic_in: /rfid/uid/value/ # mqtt_topic_out: /rfid/uid/value/ mqtt_topic_init: '00000' init: '00000' licht: testraum: type: bool knx_dpt: 1 knx_listen: 5/0/2 knx_send: 5/0/0 knx_init: 5/0/2 cache: 'on' nw: 'yes' initial_value: true # nach 10 Minuten automatisch aus autotimer: 10m = 0 influxdb: 'true'
Code:
# get triggering item trigger_source = trigger['source'] trigger_item = sh.return_item(trigger_source) # changed_by wird benötigt um nicht rekursiv aufgerufen zu werden changed_by = trigger_item.changed_by() logger.info('transponder triggered by '+trigger_source+' changed by '+changed_by) logger.info('Transponder value ' + trigger_item()) if trigger_source.endswith('uid') and not changed_by.startswith('transponder'): parent_item = trigger_item.return_parent() if trigger_source.endswith('uid'): if trigger_item() == '12345' : logger.info(' transponder 12345') sh.licht.testraum('True') trigger_item('0',caller='transponder',source='transponder')
Kommentar