Nach senden eines Wertes (modbus) erscheint nochmal der alte Wert

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
TomW80
Beiträge: 127
Registriert: 7. Mai 2021 19:11
Answers: 0

Nach senden eines Wertes (modbus) erscheint nochmal der alte Wert

Beitrag von TomW80 »

Hallo,

Ich sende über modbus an die Heizung den Wert 2 (Wert war vorher: 1), dann ändert sich mein Item auf 2 und kurze Zeit später wieder auf 1 und dann nach kurzer Zeit auf den richtigen Wert 2.

Es scheint so dass nach dem senden des Wertes nochmal kurz gelesen wird und dadurch der alte aktuelle Wert übermittelt wird, bevor der neue Wert gesetzt ist. Das item hat aber schon den von mir gesendeten Wert angenommen.
Wie kann ich das verhindern?

Habe versucht den Refresh zu erhöhen, brachte aber keinen Erfolg.
Jemand eine Idee?

Code: Alles auswählen

    Bridge poller inputRegisters5 [ start=1478, length=2, refresh=5000, type="input" ] {
        Thing data input1478 [ readStart="1478", readValueType="int16", writeStart="1478", writeValueType="int16", writeMultipleEvenWithSingleRegisterOrCoil="false", writeType="holding"  ]
        Thing data input1479 [ readStart="1479", readValueType="int16" ]
    }

Code: Alles auswählen

Number input1478Int16 "Betriebswahl Heizung" {channel="modbus:data:HovalGWTCP:inputRegisters5:input1478:number" }

Code: Alles auswählen

Selection item=input1478Int16 mappings=[0="Standby", 1="Woche 1", 2="Woche 2", 4="Konstant", 5="Sparbetrieb"]

Benutzeravatar
udo1toni
Beiträge: 15440
Registriert: 11. Apr 2018 18:05
Answers: 248
Wohnort: Darmstadt

Re: Nach senden eines Wertes (modbus) erscheint nochmal der alte Wert

Beitrag von udo1toni »

Versuche bitte mal autoupdate="false" mit zu setzen:

Code: Alles auswählen

Number input1478Int16 "Betriebswahl Heizung" {channel="modbus:data:HovalGWTCP:inputRegisters5:input1478:number", autoupdate="false"}
Das verhindert, dass openHAB interne Änderungen an das Item durchreicht.
Je nach Umsetzung im Binding kann es aber sein, dass Du einfach mit dem Verhalten leben musst weil autoupdate hier nicht hilft.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

TomW80
Beiträge: 127
Registriert: 7. Mai 2021 19:11
Answers: 0

Re: Nach senden eines Wertes (modbus) erscheint nochmal der alte Wert

Beitrag von TomW80 »

Nachdem ich den Beitrag geschrieben hatte ist mir autoupdate auch in den Sinn gekommen.
Ja, damit funktioniert es.

Danke!

mr.b4
Beiträge: 71
Registriert: 11. Sep 2019 16:57
Answers: 0

Re: Nach senden eines Wertes (modbus) erscheint nochmal der alte Wert

Beitrag von mr.b4 »

Kann ich das auch in der UI einstellen?
Hab das Problem auch bei der meiner Wärmepumpe.
Allerdings hab ich die Modbus Datenpunkte alle in der UI definiert.

Bei den KNX Raum-Soll Werten das gleiche Drama...

Benutzeravatar
udo1toni
Beiträge: 15440
Registriert: 11. Apr 2018 18:05
Answers: 248
Wohnort: Darmstadt

Re: Nach senden eines Wertes (modbus) erscheint nochmal der alte Wert

Beitrag von udo1toni »

Autoupdate kannst Du über die Metadaten des Items setzen...
Main UI -> Adminstration -> Einstellungen -> Items -> betreffendes Item selektieren -> Metadata -> Add Metadata -> Auto-update -> Bei "Force auto-update" Im Kästchen durchklicken, bis das Kästchen leer ist (- steht für "unkonfiguriert", der Haken für "on" und das leere Kästchen für "off")

Aus Kompatibilitätsgründen ist das Default Verhalten (wenn es keine Konfiguration für die Funktion gibt), dass jedes sendCommand() automatisch ein passendes postUpdate() nach sich zieht. Ein Klick in der UI löst gewöhnlich ein sendCommand() aus :)
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Antworten