Wärmepumpe und modbus climates entity Verständnis

Hallo!

Ich habe eine Hofman WP R290 9kW V3 und so meine Problemchen. Ich versuche sie in HA einzubinden und scheitere an der etwas wortkargen Beschreibung der modbus Möglichkeiten.

  climates:
      - name: "Wärmepumpe Labor"
        unique_id: wp_climate_control
        slave: 1
        input_type: holding
        max_temp: 30
        min_temp: 8
        offset: 0
        scale: 0.1
        temp_step: 1
        temperature_unit: °C
        address: 4384

        data_type: int16
#        current_temp_scale: 0.1
        hvac_onoff_register: 4096
        target_temp_register: 4101
        target_temp_scale: 1
        target_temp_write_registers: true
        hvac_mode_register:
          address: 4612
          values:
            state_off: 0
            state_cool: 4
            state_heat: 2

Grundsätzlich die Frage: Diese Entity hat direkt einen input type und slave und address. Ist das jetzt der Ist-Wert oder der Sollwert? Ich rate mal, dass es der Ist-Wert ist, denn für den Sollwert kann man ja das target_temp_register extra angeben.

Nun bekomme ich aber eine Fehlermeldung:

Invalid config for 'modbus' at modbus.yaml, line 57: Cannot use both 'scale' and temperature-specific parameters ('target_temp_scale' or 'current_temp_scale') in the same configuration. Either the 'scale' parameter (which applies to both temperatures) or the new temperature-specific parameters, but not both.

Die WP liefert aber die aktuelle Raumtemperatur von Sensor T2 an Adresse 4384 in 0.1°C Auflösung, die Soll-Temperatur aber in 1°C in Register 4101.

Es gibt noch mehr Fragen, aber ich würde das gerne sequenziell abarbeiten.
Es gibt bereits Anwender dieser Wärmepumpe, bzw. ihrer Vorgängermodelle, aber ich habe dazu nur Teil-Diskussionen und yaml Schnipsel gefunden. Niemand hat seine Config dazu mal auf github gepackt. Das würde ich gerne ändern.

Alternativ: Hat ein Besitzer dieser oder einer baugleichen WP schon mal folgenden Generator erfolgreich angewendet?
Alternative Modbus integration via MQTT - Share your Projects! - Home Assistant Community

Vielen Dank schon mal für Eure Hilfe.

Du musst da zwei Entitäten anlegen. Eine zum schreiben als target und eine die dir den Wert anzeigt.

Ich denke, ich habe es herausgefunden. Ich bin darüber gestolpert, dass die Fehlermeldung mich in die verkehrte Richtung gejagt hat.

In der climates Entity kann man je getrennte Register angeben. Die sind in meinem Fall aber unterschiedlich skaliert.

Lösung: Wenn man “scale” verwendet, dann betrifft das alle Temperaturen.
Man kann aber “Soll” und “Ist” getrennt skalieren in dem man
”current_temp_scale” und “target_temp_scale” einstellt.

Folgendes Setup funktioniert:

  climates:
      - name: "Wärmepumpe Labor"
        unique_id: wp_climate_control
        slave: 1
        input_type: holding
        max_temp: 30
        min_temp: 8
        offset: 0
#        scale: 0.1
        temp_step: 1
        temperature_unit: °C
        address: 4384

        data_type: int16
        current_temp_scale: 0.1
        hvac_onoff_register: 4096
        target_temp_register: 4101
        target_temp_scale: 1
        target_temp_write_registers: true
        hvac_mode_register:
          address: 4612
          values:
            state_off: 0
            state_cool: 4
            state_heat: 2

Randnotiz:
Meine WP ist als reine Fußbodenheizung direkt ohne einen Puffer angeschlossen und wurde per P67=1 “Raumtemperaturregelung” und P65=1 “Innenraum Zirkulationspumpe” eingestellt.

1 „Gefällt mir“