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