Modbus Register schreiben Button

Hallo zusammen,

meine Heizung bietet die Möglichkeit den Warmwasserspeicher nachzuheizen.
Per Modbus habe ich schon diverse Werte der Heizung ausgelesen, doch leider gelingt es mir nicht eine Wert zu schreiben in der Doku der Heizung steht:

Adresse = 2328 (dez) Min=0 Max =1

Wie bekomme ich jetzt im Dashboard einen Button zum drücken der die Modbusadresse 2328 mit dem Wert= 1 schreibt um das Nachheizen zu aktivieren.

Hier ein Auszug aus der yaml:

modbus:
  - name: SolvisRemote
    type: tcp
    host: „ip der Heizung“
    port: 502

      - name: WW Nachheizung 2322
        slave: 1
        #unit_of_measurement: V
        #scale: 0.01
        #precision: 0
        input_type: holding
        address: 2322
        scan_interval: 30

Das wäre nur den Wert in HA anzuzeigen.
Was muss ich tun, könnt ihr mir helfen ?

Vielen Dank & Grüße

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)

servus, das geht in den Entwicklerwerkzeuge über die action: modbus.write_register. Dies kannst du auch in einer Automation nutzen und diese zum Beispiel über einen Helfer Button aufrufen

action: modbus.write_register
data:
  hub: SolvisRemote
  address: 2328
  slave: 1
  value: 1

1 „Gefällt mir“

Vielen Dank das war der Tipp den ich gebraucht habe, es funktioniert.

Update:
Soweit funktioniert jetzt alles, jetzt habe ich noch eine Frage ich würde gerne eine Schalter AN AUS erstellen der je nach Stellung den Modbuswert 1 oder 0 schreibt. Das habe ich soweit über eine Automation hinbekommen.

Jetzt lässt sich die Heizung aber auch an einem Bedienteil schalten und die Schalterstellung stimmt nicht mehr. Wie kann ich zusätzlich eine Abfrage auf den Modbuswert machen und den Schalter zum schreiben eines Wertes nutzen ?

Viele Dank für die Mühe

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Den kannst du ja per Modbussensor in der configuration.yaml anlegen und auslesen. Dann kannst du gegen den vergleichen

Hallo zusammen

Danke für die nützliche Information. Ich habe eine ähnliche Situation. Möchte mit HA per Tastendruck den Tageszähler meines Energiezählers (welcher per TCP mit Modbus auslese) auf 0 setzten.

Folgende Information lese ich aus dem Handbuch:

Adresse 6049 (HEX)
Funktionscode: 10
Länge: 1
Einheit: kWh
Datentyp Float ABCD
Befehl: 01 10 6049 0002 04 0000 0000

Meine Frage:
Was würdet ihr bei “value” eingeben?
habe schon diverses probiert.

Reicht es, dass ich bei hub: “meinZähler” eingebe? Muss ich nicht noch TCP irgendwie angeben?

Danke für die Hilfe!