Hi Leute,
hab da folgendes Problem:
Habe einen Wert der als dpt 9 auf den Bus gesendet wird (von einen Can-BC der Technischen Altanative). Es handelt sich hier bei um den Füllstand in % meiner Zisterne. Die Umrechnung in Prozent übernimmt die Regelung UVR16x2 (auch TA). Der Can-BC kann nur dpt 1 (bool) und eben dpt 9.
Allerdings brauch ich den Wert als % also dpt 500.1.
hab mal eine Logik erstellt:
Ausschnitt meine Item.conf
Ich kann jetzt zisterne.inhalt.messwert ändern z.B. auf 9.03 was 90,3% entspechen würde. Die Logik macht scheinbar auch was sie soll zisterne.inhalt.prozent wird im Backend schön brav auf 90.3 gesetzt nur wird kein Telegramm auf 2/1/8 gesendet.
Hat jemand einen Tip?
warscheinlich könnte man es auch in die Item.comf mit Eval schreiben, muss nicht sein...
# grüße Jürgen
hab da folgendes Problem:
Habe einen Wert der als dpt 9 auf den Bus gesendet wird (von einen Can-BC der Technischen Altanative). Es handelt sich hier bei um den Füllstand in % meiner Zisterne. Die Umrechnung in Prozent übernimmt die Regelung UVR16x2 (auch TA). Der Can-BC kann nur dpt 1 (bool) und eben dpt 9.
Allerdings brauch ich den Wert als % also dpt 500.1.
hab mal eine Logik erstellt:
Code:
#!/usr/bin/env python3
messwert = sh.zisterne.inhalt.messwert()
prozent = messwert * 10
sh.zisterne.inhalt.prozent(prozent)
logger.info('Inhalt Zisterne in Porzent umgewandelt')
Code:
[zisterne]
[[inhalt]]
[[[messwert]]]
type = num
visu_act = rw
knx_dpt = 9
knx_listen = 2/1/7
knx_send = 2/1/7 # nicht nötig nur zum testen
[[[prozent]]]
type = num
visu_act = rw
knx_dpt = 500.1
knx_send = 2/1/8
Ich kann jetzt zisterne.inhalt.messwert ändern z.B. auf 9.03 was 90,3% entspechen würde. Die Logik macht scheinbar auch was sie soll zisterne.inhalt.prozent wird im Backend schön brav auf 90.3 gesetzt nur wird kein Telegramm auf 2/1/8 gesendet.
Hat jemand einen Tip?
warscheinlich könnte man es auch in die Item.comf mit Eval schreiben, muss nicht sein...
# grüße Jürgen


Kommentar