Ich habe seit dem Update von 2.3.0 auf 2.5.3 das Problem, dass die Temperaturwerte, die von Openhab auf den KNX-Bus gesendet werden sollen, nicht ankommen. Temperaturen können aber gelesen werden. Bspw. von den Gira Tastsensoren. Gab es da vielleicht in den letzten Versionen eine Änderung im Binding? Bisher hatte meine Config ohne Probleme geklappt.
Zur Erklärung: Die betreffenden Temperaturen hole ich von 1wire-Sensoren, lese sie mit einem Bash-script aus und wandle sie von String in Number um. Danach möchte ich sie mit ITEMNAME.sendcomand (TEMPERATURWERT) auf den Bus schicken. Da kommt aber nichts an. Meine Config:
Die Rule, die das senden an den KNX-Bus veranlasst:
Die entsprechenden Items dazu:
Die Things:
der aktuelle Eintrag in der events.log
und die openhab.log sagt nichts dazu.
Ich habe auch schon versucht, in einer Rule einen fixen Wert mit
zu senden, aber auch da kommt nichts auf den Bus an.
Sonst funktioniert aber alles auf Bezug zum KNX.Bus, Licht schalten, Sollwerte verschieben, Helligkeit auslesen, Binärkontakte Abfragen usw...
LÖSUNG (Danke udo1toni)
Das Item war falsch definiert. Aus
muss
werden.
Zur Erklärung: Die betreffenden Temperaturen hole ich von 1wire-Sensoren, lese sie mit einem Bash-script aus und wandle sie von String in Number um. Danach möchte ich sie mit ITEMNAME.sendcomand (TEMPERATURWERT) auf den Bus schicken. Da kommt aber nichts an. Meine Config:
Die Rule, die das senden an den KNX-Bus veranlasst:
Code:
rule "Update 1wire Temperaturen zum KNX-Bus" when Time cron "0 0/2 * * * ?" or // alle 2 Minuten System started // wenn Openhab gestartet wird then TempSZ_KNX.sendCommand(Float::parseFloat(String::format("%s",TempSZ1w_Output.state).replace(' ',''))) Thread::sleep(5000) TempSZ_KNX.sendCommand(TempSZ_KNX.state as Number) end
Code:
String TempSZ1w_Output "Schlafen [%.1f °C]" <temperature> (gRTemperatur1w) {channel="exec:command:tempSZ_1w:output"} Number:Temperature TempSZ_KNX "Schlafen [%.1f °C]" <temperature> (gRTemperatur,gRHeizwerteSchlafen,gRTempSchlafen) {channel="knx:device:bridge:virtual:tempSZ"}
Code:
Bridge knx:ip:bridge [ ipAddress="xxx.xxx.xxx.xxx", portNumber=3671, localIp="xxx.xxx.xxx.xxx", type="TUNNEL", readingPause=100, responseTimeout=15, readRetriesLimit=4, autoReconnectPeriod=1, localSourceAddr="0.0.0" ]{ Thing device virtual "VirtualKNX" [ address="1.1.200", // Adresse nicht vergeben fetch=false, pingInterval=600 ] { //Temperaturwerte von 1wire Sensoren Type number : tempSZ "Raumtemperatur Schlafen" [ ga="9.001:3/0/50" ] } } exec:command:tempSZ_1w "TempSZ_1w" [command="bash /scripts/wiretemp.sh 201 28-0115c274acff", interval=60, timeout=5, autorun=false]
Code:
2020-03-26 15:04:32.090 [ome.event.ItemCommandEvent] - Item 'TempSZ_KNX' received command 23.12 °C 2020-03-26 15:04:32.131 [nt.ItemStatePredictedEvent] - TempSZ_KNX predicted to become 23.12 °C
Ich habe auch schon versucht, in einer Rule einen fixen Wert mit
Code:
TempSZ_KNX.sendCommand(25)
Sonst funktioniert aber alles auf Bezug zum KNX.Bus, Licht schalten, Sollwerte verschieben, Helligkeit auslesen, Binärkontakte Abfragen usw...
LÖSUNG (Danke udo1toni)
Das Item war falsch definiert. Aus
Code:
[COLOR=#c0392b]Number:Temperature [/COLOR]TempSZ_KNX "Schlafen [%.1f °C]" <temperature> (gRTemperatur,gRHeizwerteSchlafen,gRTempSchlafen)
Code:
[COLOR=#c0392b]Number [/COLOR]TempSZ_KNX "Schlafen [%.1f °C]" <temperature> (gRTemperatur,gRHeizwerteSchlafen,gRTempSchlafen)
Kommentar