Irgendwie funktionieren, die Userfunctions bei mir nicht.
Hier der Beispielcode:
So sieht es im Item aus:
DIesen Fehler bekomme ich:
Item EG.Essen.Licht.Decke.sperren.quittieren: problem evaluating 'uf.knx_blink('0/2/7') if sh.EG.Essen.Licht.Decke.sperren() else None': 'module' object is not callable
Für mein Verständnis findet der die Funktion nicht. Die UserFunktion ist aber über das Admin-Interface zu finden.
Hier der Beispielcode:
Code:
#!/usr/bin/env python # knx_blink.py import logging _logger = logging.getLogger(__name__) _VERSION = '0.0.1' _DESCRIPTION = 'Lässt Item blinken' def knx_blink(knx_address, knx_dpt = 1, count = 7, pulse = 3, pause = 3, value_on = 1, value_off = 0, value_final = 0, startdelay = 0): time.sleep(startdelay / 10.0) while count > 0: count = count - 1 logger.warning("Blinken: GA {0} => {1}".format(knx_address, int(value_on))) sh.knx.groupwrite(knx_address, value_on, knx_dpt) time.sleep(pulse / 10.0) logger.warning("Blinken: GA {0} => {1}".format(knx_address, int(value_off))) sh.knx.groupwrite(knx_address, value_off, knx_dpt) time.sleep(pause / 10.0) if value_off != value_final: sh.knx.groupwrite(knx_address, value_final, knx_dpt) logger.warning("Blinken final: GA {0} => {1}".format(knx_address, int(value_final))) return True
Code:
sperren: type: bool knx_dpt: 1 visu_acl: rw cache: yes knx_send: 0/4/7 knx_reply: 0/4/7 quittieren: type: bool eval_trigger: ..self eval: uf.knx_blink('0/2/7') if sh...self() else None
Item EG.Essen.Licht.Decke.sperren.quittieren: problem evaluating 'uf.knx_blink('0/2/7') if sh.EG.Essen.Licht.Decke.sperren() else None': 'module' object is not callable
Für mein Verständnis findet der die Funktion nicht. Die UserFunktion ist aber über das Admin-Interface zu finden.
Kommentar