Tokamak hat geschrieben: ↑20. Nov 2024 13:01
Ich habe "gain" beim Modbus-Binding bisher nicht zum Schreiben genutzt. Lt. Doku soll es auch beim Schreiben funktionieren.
Im Logging siehst du keine Meldungen, wenn du Werte schreiben willst?
Zunächst würde ich es ohne gain testweise mit
ohne das Profile funktioniert das schreiben, allerdings muss die unit und stateDescription mit angegeben sein.
Code: Alles auswählen
Number:Temperature input1481Int16_dezi "Heizung Normal Raumtemperatur [%.1f °C]" { channel="modbus:data:HovalGWTCP:inputRegisters3:holding1481:number" , unit="d°C", stateDescription=""[pattern="%.1f °C"]}
ABER, wenn ich den Setpoint so verwende:
Code: Alles auswählen
Setpoint item=input1481Int16_dezi icon="heating" minValue=100 maxValue=300 step=5
wird statt +0.5 °C der Wert auf 10,0°C gesetzt.
2024-11-20 23:41:34.074 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'input1481Int16_dezi' received command 100 °C
2024-11-20 23:41:34.076 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'input1481Int16_dezi' predicted to become 100 °C
2024-11-20 23:41:34.077 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 1000 d℃
2024-11-20 23:41:34.079 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'input1481Int16_dezi' changed from 230 d℃ to 1000 d℃
2024-11-20 23:41:36.336 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 230 d℃
2024-11-20 23:41:36.337 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'input1481Int16_dezi' changed from 1000 d℃ to 230 d℃
2024-11-20 23:41:40.787 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 100 d℃
2024-11-20 23:41:40.788 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'input1481Int16_dezi' changed from 230 d℃ to 100 d℃
2024-11-20 23:41:44.390 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 100 d℃
2024-11-20 23:41:47.824 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 100 d℃
2024-11-20 23:41:51.408 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 100 d℃
wenn ich den Setpoint so verwende:
Code: Alles auswählen
Setpoint item=input1481Int16_dezi icon="heating" minValue=10 maxValue=30 step=0.5
wird statt +0.5 °C der Wert auf 2,3°C gesetzt.
2024-11-20 23:24:57.892 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 230 d℃
2024-11-20 23:25:01.406 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 230 d℃
2024-11-20 23:25:05.001 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 230 d℃
2024-11-20 23:25:08.266 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'input1481Int16_dezi' received command 23.5 °C
2024-11-20 23:25:08.268 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'input1481Int16_dezi' predicted to become 23.5 °C
2024-11-20 23:25:08.271 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 235 d℃
2024-11-20 23:25:08.271 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'input1481Int16_dezi' changed from 230 d℃ to 235 d℃
2024-11-20 23:25:08.454 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 230 d℃
2024-11-20 23:25:08.455 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'input1481Int16_dezi' changed from 235 d℃ to 230 d℃
2024-11-20 23:25:12.988 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 23 d℃
2024-11-20 23:25:12.989 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'input1481Int16_dezi' changed from 230 d℃ to 23 d℃
2024-11-20 23:25:16.522 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 23 d℃
2024-11-20 23:25:20.027 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'input1481Int16_dezi' updated to 23 d℃
Noch eine andere Idee?
udo1toni hat geschrieben: ↑20. Nov 2024 13:09
Ich selbst nutze kein Modbus, deshalb frage ich mich, ob das Profile auch zur Verfügung steht. Da Du per Text konfiguriert hast, ist das nicht sicher der Fall.
Schau bitte mal, ob beim Verlinken über die Main UI das Profile zur Auswahl steht (suche in der Main UI in den Things den betreffenden Channel aus, klicke auf link Item, dann auf Create new Item, setze die Dimension auf temperature, dann sollte weiter unten in den Profiles auch modbus:gainOffset gelistet werden. Ist das nicht der Fall, müsste das Profile erst noch installiert werden.
Das Profil steht in der MainUI zur Verfügung. Ich hab das so aus der
Modbus-Doku
Dort steht eigentlich auch, dass es in die umgekehrte Richtung, also das schreiben auch funktionieren soll.
The profile also works the other way round, scaling the commands sent to the item to bare-numbers suitable for Modbus.
Ist das evtl ein Fehler vom Modbus-Binding?