Ich möchte die von Onewire gelesenen Temperaturwerte auf KNX bringen.
Merkwürdigerweise finde ich dafür kein vollständiges Beispiel, so sind meine Versuche aus verschiedenen Quellen zusammengebastelt.
Zur Zeit gelingt mir das nur über eine Rule.
Things:
Items:
Rule:
Lieber wäre mir die direkte Methode ohne Rule in der Art
Die Temperaturwerde werden von Onewire korrekt gelesen, aber leider wird hier nichts auf KNX gesendet. Ich vermute, es liegt an unterschiedlichen Datentypen. Im Beispiel mit der Rule ist nämlich der Ausdruck ().FloatValue zwingend, ansonsten funktioniert es nicht.
Jemand eine Idee oder ein funktinierendes Beispiel? Danke.
Grüße, Manuel
Merkwürdigerweise finde ich dafür kein vollständiges Beispiel, so sind meine Versuche aus verschiedenen Quellen zusammengebastelt.
Zur Zeit gelingt mir das nur über eine Rule.
Things:
Code:
Thing basic ow_MK003_WK [ id="28.4EBE40030000", refresh=60 ] { Channels: Type temperature-por-res : temperature [ ignorepor=true, resolution="12" ] } Thing device Virtuell "virtuelle" @ "KNX" [ ] { Type number : Temp_KW2 "Temperatur Kaltwasser" [ga="9.001:3/5/40"] }
Code:
Number:Temperature Temp_KW "Temp Kaltwasser [%.1f °C]" { channel="onewire:basic:mybridge:ow_MK003_WK:temperature" } Number Temp_KW2 "Temp Kaltwasser" (temp) { channel="knx:device:bridge:Virtuell:Temp_KW"}
Code:
rule "Temp_kw_transmit" when Item Temp_KW received update then { Temp_KW2.sendCommand((Temp_KW.state as Number).floatValue) } end
Code:
Number:Temperature Temp_KW "Temp Kaltwasser [%.1f °C]" { channel="onewire:basic:mybridge:ow_MK003_WK:temperature#temperature", channel="knx:device:bridge:WG_1_1_xx:Temp_KW" }
Jemand eine Idee oder ein funktinierendes Beispiel? Danke.
Grüße, Manuel
Kommentar