Hoval Belaria Integration Gateway

Hello Users,
We accompanied a reference installation this week.

I will now also provide new YAML codes for the hoval plant (heating buffer, domestic hot water, 2 heating circuits, heatpump & ventilation system) in the picture.
We are not currently (this year) planning any hard-coded phyton integration in HACS.

In the meantime, please use the YAML codes.

These are now also for the Hoval HomeVent ventilation systems (ER, FR etc.).

The setpoint adjustment for humidity and ventilation modulation is not yet mapped with the correct unit. (°C).

Greetings
Product Management Hoval
Maximilian Stoll

  • name: “modbus_tcp”
    type: tcp
    host: „???.???.??.???“
    port: 502
    timeout: 10
    ################################################################################
    ################################################################################
    ################################################################################
    sensors:
    • name: “Hoval Warmwasser-Ist SF oben WW” # Warmwasser
      address: 1500
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Warmwasser-Ist SF unten WW” # Warmwasser
      address: 27483
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Warmwasserspeicher Betriebsart WW” # Warmwasser
      address: 1504
      scan_interval: 5

    • name: “Hoval Warmwasser Thermische Gesamtleistung WW” # Warmwasser
      address: 27488
      data_type: uint32
      scale: 0.001
      precision: 3
      scan_interval: 60
      unit_of_measurement: MWh
      device_class: energy
      state_class: total_increasing
      ################################################################################

    • name: “Hoval Pufferspeicher ist Temperatur unten PS” # PS
      address: 17387
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Pufferspeicher ist Temperatur oben PS” # PS
      address: 17386
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Pufferspeicher soll Temperatur PS” # PS
      address: 17385
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Pufferspeicher Betriebsart PS” # PS
      address: 17384
      scan_interval: 5
      ################################################################################

    • name: “Hoval Aktuelle Vorlauftemperatur HC1” # Heizkreis 1 Keller
      address: 1513
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Vorlaufsolltemperatur HC1” # Heizkreis 1 Keller
      address: 19562
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Raumsolltemperatur HC1” # Heizkreis 1 Keller
      address: 1493
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Mischkreispumpe HC1” # Heizkreis 1 Keller
      address: 19706
      scan_interval: 5

    • name: “Hoval Status Mischer HC1” # Heizkreis 1 Keller
      address: 19658
      scan_interval: 5

    • name: “Hoval Status Betriebsart HC1” # Heizkreis 1 Keller
      address: 1501
      scan_interval: 5
      ################################################################################

    • name: “Hoval Aktuelle Vorlauftemperatur HC2” # Heizkreis 2 EG/OG
      address: 1514
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Vorlaufsolltemperatur HC2” # Heizkreis 2 EG/OG
      address: 19563
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Raumsolltemperatur HC2” # Heizkreis 2 EG/OG
      address: 1494
      unit_of_measurement: “°C”
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Status Mischkreispumpe HC2” # Heizkreis 2 EG/OG
      address: 19707
      scan_interval: 5

    • name: “Hoval Status Mischer HC2” # Heizkreis 2 EG/OG
      address: 19659
      scan_interval: 5

    • name: “Hoval Status Betriebsart HC2” # Heizkreis 2 EG/OG
      address: 1502
      scan_interval: 5
      ################################################################################

    • name: “Hoval FA-Status WP” # WP
      address: 18723
      scan_interval: 5

    • name: “Hoval Modulation WP” # WP
      address: 18726
      unit_of_measurement: “%”
      scan_interval: 5

    • name: “Hoval Erzeugervorlauftemperatur WP” # WP
      address: 18725
      unit_of_measurement: °C
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Erzeugersolltemperatur WP” # WP
      address: 18724
      unit_of_measurement: °C
      scan_interval: 5
      scale: 0.1
      precision: 1

    • name: “Hoval Aktuelle Elektrische Leistung WP” # WP
      address: 25611
      unit_of_measurement: kW
      scan_interval: 60
      scale: 0.01
      precision: 2

    • name: “Hoval Aktuelle Termische Leistung WP” # WP
      address: 25612
      unit_of_measurement: kW
      scan_interval: 60
      scale: 1
      precision: 1

    • name: “Hoval aktuelle Leistungsabgabe WP” # WP
      address: 18731
      data_type: uint32
      scale: 0.1
      precision: 1
      unit_of_measurement: kW
      state_class: measurement
      device_class: power

    • name: “Hoval Schaltzyklen Wärmeerzeuger WP” # WP
      address: 1518
      data_type: uint32
      scan_interval: 60
      state_class: total_increasing

    • name: “Hoval Erzeuger Betriebsmeldung WP” # WP
      address: 18737
      scan_interval: 5

    • name: “Hoval Fehlercode vom Automaten WP” # WP
      address: 1534
      scan_interval: 5

    • name: “Hoval Elektrische Gesamtleistung WP” # WP
      address: 25613
      data_type: uint32
      unit_of_measurement: MWh
      scan_interval: 60
      scale: 0.001
      precision: 3
      state_class: total_increasing

    • name: “Hoval Thermische Gesamtleistung Heizen WP” # WP
      address: 27484
      data_type: uint32
      unit_of_measurement: MWh
      scan_interval: 60
      scale: 0.001
      precision: 3
      state_class: total_increasing

    • name: “Hoval Thermische Gesamtleistung Kühlen WP” # WP
      address: 27486
      data_type: uint32
      unit_of_measurement: MWh
      scan_interval: 60
      scale: 0.001
      precision: 3
      state_class: total_increasing

    • name: “Hoval Betriebsstunden Wärmeerzeuger WP” # WP
      address: 1507 # same as 1516
      data_type: uint32
      scan_interval: 60
      unit_of_measurement: h
      device_class: duration
      state_class: total_increasing
      ################################################################################

Lüftung

- name: "Hoval Temperatur Abluft LÜ" # LÜ
  address: 23633
  unit_of_measurement: °C
  scan_interval: 5
  scale: 0.1
  precision: 1

- name: "Hoval Temperatur Aussenluft LÜ" # LÜ
  address: 23632
  unit_of_measurement: °C
  scan_interval: 5
  scale: 0.1
  precision: 1

- name: "Hoval Feuchtigkeit Abluft LÜ" # LÜ
  address: 23627
  unit_of_measurement: "%"
  scan_interval: 5
  scale: 1
  precision: 1

- name: "Hoval Luftmenge Ist LÜ" # LÜ
  address: 23634
  unit_of_measurement: "%"
  scan_interval: 5
  scale: 1
  precision: 1

- name: "Hoval Luftmenge Soll LÜ" # LÜ
  address: 23625
  unit_of_measurement: "%"
  scan_interval: 5
  scale: 1
  precision: 1

- name: "Hoval Status Lueftungsregelung Lue" # LÜ
  address: 23631
  scan_interval: 5

################################################################################
################################################################################
################################################################################
climates:
- name: “Hoval Warmwasser SF WW” # Warmwasser
address: 1500
target_temp_register: 1497
scale: 0.1
precision: 1
temp_step: 0.5
min_temp: 10
max_temp: 70
hvac_mode_register:
address: 1496
values:
state_off: 0
state_heat: 4
################################################################################
- name: “Hoval Raum-Soll HC 1 Keller SF HC1” # Heizkreis 1 Keller
address: 1493
target_temp_register: 1481
scale: 0.1
precision: 1
temp_step: 0.5
min_temp: 10
max_temp: 30
hvac_mode_register:
address: 1478
values:
state_off: 0
state_heat: 4
################################################################################
- name: “Hoval Raum-Soll HC 2 EG und OG SF HC2” # Heizkreis 2 EG+OG
address: 1494
target_temp_register: 1483
scale: 0.1
precision: 1
temp_step: 0.5
min_temp: 10
max_temp: 30
hvac_mode_register:
address: 1479
values:
state_off: 0
state_heat: 4
################################################################################
#Lüftung
- name: “Hoval Lüftungsmodulation Normalbetrieb LÜ” # LÜ
address: 23634
target_temp_register: 23623
scale: 1
precision: 1
temp_step: 1
min_temp: 15
max_temp: 100
hvac_mode_register:
address: 23622
values:
state_off: 0
state_heat: 4

- name: "Hoval Feuchtigkeitssollwert LÜ" # LÜ
  address: 23634
  target_temp_register: 23626
  scale: 1
  precision: 1
  temp_step: 1
  min_temp: 30
  max_temp: 65

################################################################################
################################################################################
################################################################################

Modbus-Sensoren für Hoval Wärmepumpe

  • platform: modbus
    registers:
    • name: “Hoval FA-Status WP” #WP
      slave: 1
      address: 18723
      input_type: holding
      data_type: uint16
      scan_interval: 5

    • name: “Hoval Erzeuger Betriebsmeldung WP” #WP
      slave: 1
      address: 18737
      input_type: holding
      data_type: uint16
      scan_interval: 5

    • name: “Hoval Fehlercode vom Automaten WP” #WP
      slave: 1
      address: 1534
      input_type: holding
      data_type: uint16
      scan_interval: 5
      ################################################################################

    • name: “Hoval Status Pufferspeicher Betriebsart PS” #PS
      slave: 1
      address: 17384
      input_type: holding
      data_type: uint16
      scan_interval: 5
      ################################################################################

    • name: “Hoval Status Warmwasserspeicher Betriebsart WW” #Warmwasser
      slave: 1
      address: 1504
      input_type: holding
      data_type: uint16
      scan_interval: 5
      ################################################################################

    • name: “Hoval Status Mischkreispumpe HC1” #Heizkreis 1 Keller
      slave: 1
      address: 19706
      input_type: holding
      data_type: uint16
      scan_interval: 5

    • name: “Hoval Status Mischer HC1” #Heizkreis 1 Keller
      slave: 1
      address: 19658
      input_type: holding
      data_type: uint16
      scan_interval: 5

    • name: “Hoval Status Betriebsart HC1” #Heizkreis 1 Keller
      slave: 1
      address: 1501
      input_type: holding
      data_type: uint16
      scan_interval: 5
      ################################################################################

    • name: “Hoval Status Mischkreispumpe HC2” #Heizkreis 2 EG/OG
      slave: 1
      address: 19707
      input_type: holding
      data_type: uint16
      scan_interval: 5

    • name: “Hoval Status Mischer HC2” #Heizkreis 2 EG/OG
      slave: 1
      address: 19659
      input_type: holding
      data_type: uint16
      scan_interval: 5

    • name: “Hoval Status Betriebsart HC2” #Heizkreis 2 EG/OG
      slave: 1
      address: 1502
      input_type: holding
      data_type: uint16
      scan_interval: 5
      ################################################################################
      #Lüftung

    • name: “Hoval Status Lueftungsregelung Lue” #LÜ
      address: 23631
      input_type: holding
      data_type: int
      scan_interval: 5
      ################################################################################
      ################################################################################
      ################################################################################

Template-Sensoren zur Umwandlung der Werte in Klartext

  • platform: template
    sensors:
    hoval_fa_status_text: #WP
    friendly_name: “Hoval FA-Status WP Text”
    value_template: >-
    {% set status = states(‘sensor.hoval_fa_status_wp’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} Ein
    {% elif status == 2 %} Aktivkühlen
    {% elif status == 3 %} Sperre
    {% elif status == 4 %} Warmwasser
    {% elif status == 5 %} Frostschutz
    {% elif status == 6 %} Temperatur zu tief
    {% elif status == 7 %} Vorlauf zu hoch
    {% elif status == 8 %} Abtauen
    {% elif status == 9 %} Passivkühlen
    {% elif status == 11 %} HD-Störung
    {% elif status == 12 %} Niederdruckstörung
    {% elif status == 16 %} Wiedereinschaltverzögerung
    {% elif status == 17 %} Energieerz-Sperre
    {% elif status == 18 %} Vorlaufzeit Primär
    {% elif status == 19 %} Nachlaufzeit Primär
    {% elif status == 44 %} MOP
    {% elif status == 49 %} Erfolglose Abtauung
    {% elif status == 51 %} Vorlaufzeit Kondenserpumpe
    {% elif status == 55 %} Störung
    {% elif status == 72 %} Grundwasser Frostschutz
    {% elif status == 73 %} Durchfluss WQ/GW-Kreis
    {% elif status == 77 %} Begrenzung Verdichter
    {% elif status == 97 %} Kompressoröl vorheizen
    {% elif status == 98 %} Kaltstart
    {% elif status == 99 %} Maschine nicht konfiguriert
    {% else %} Unbekannt ({{ status }})
    {% endif %}

    hoval_erzeuger_betriebsmeldung_text: #WP
    friendly_name: “Hoval Erzeuger Betriebsmeldung WP”
    value_template: >-
    {% set status = states(‘sensor.hoval_erzeuger_betriebsmeldung_wp’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} An
    {% else %} Unbekannt ({{ status }})
    {% endif %}

    hoval_fehlercode_vom_automaten: #WP
    friendly_name: “Hoval Fehlercode vom Automaten WP”
    value_template: >-
    {% set status = states(‘sensor.hoval_fehlercode_vom_automaten_wp’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 255 %} Kein Fehler
    {% else %} Unbekannt ({{ status }})
    {% endif %}
    ################################################################################
    hoval_pufferspeicher_status_text: #PS
    friendly_name: “Hoval Status Pufferspeicher Betriebsart PS”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_pufferspeicher_betriebsart_ps’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} Temperatur tief
    {% elif status == 2 %} Ladung läuft
    {% elif status == 3 %} Nachlauf aktiv
    {% elif status == 4 %} Sollwert erfüllt
    {% elif status == 6 %} Energiezwang
    {% elif status == 7 %} Abschöpffunktion
    {% elif status == 8 %} Vorzugsbetrieb
    {% elif status == 9 %} Abnahmezwang
    {% else %} Unbekannt ({{ status }})
    {% endif %}
    ################################################################################
    hoval_warmwasserspeicher_status_text: #Warmwasser
    friendly_name: “Hoval Status Warmwasserspeicher Betriebsart WW”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_warmwasserspeicher_betriebsart_ww’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} Normal Ladebetrieb
    {% elif status == 2 %} Komfort Ladebetrieb
    {% elif status == 3 %} Zwangsdrosselung unter 50%
    {% elif status == 4 %} Zwangsdrosselung über 50%
    {% elif status == 5 %} Störung
    {% elif status == 6 %} Warmwasserentnahme aktiv
    {% elif status == 7 %} Warnung
    {% elif status == 8 %} Reduzierter Ladebetrieb
    {% elif status == 12 %} Vorzugsbetrieb
    {% elif status == 13 %} Abnahmezwang
    {% else %} Unbekannt ({{ status }})
    {% endif %}
    ################################################################################
    hoval_mischkreispumpe_hc1_text: #Heizkreis 1 Keller
    friendly_name: “Hoval Status Mischkreispumpe HC1”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_mischkreispumpe_hc1’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} An
    {% else %} Unbekannt ({{ status }})
    {% endif %}

    hoval_mischer_hc1_text: #Heizkreis 1 Keller
    friendly_name: “Hoval Status Mischer HC1”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_mischer_hc1’) | int(default=-999) %}
    {% if status == -100 %}
    Zu
    {% elif status >= -99 and status < 0 %}
    Teilweise geschlossen
    {% elif status == 0 %}
    Neutral
    {% elif status > 0 and status < 100 %}
    Teilweise geöffnet
    {% elif status == 100 %}
    Auf
    {% elif status == -999 %}
    Fehler: Kein Wert
    {% else %}
    Unbekannt ({{ status }})
    {% endif %}

    hoval_betriebsart_hc1_text: #Heizkreis 1 Keller
    friendly_name: “Hoval Status Betriebsart HC1”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_betriebsart_hc1’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} Heizbetrieb Normal
    {% elif status == 2 %} Heizbetrieb Komfort
    {% elif status == 3 %} Heizbetrieb Spar
    {% elif status == 4 %} Frostbetrieb
    {% elif status == 7 %} Ferienbetrieb
    {% elif status == 9 %} Kühlbetrieb Normal
    {% elif status == 10 %} Kühlbetrieb Komfort
    {% elif status == 11 %} Kühlbetrieb Spar
    {% elif status == 12 %} Fehler
    {% elif status == 13 %} Handbetrieb
    {% elif status == 14 %} Schutz Kühlbetrieb
    {% elif status == 15 %} Partybetrieb Kühlen
    {% elif status == 22 %} Kühlbetrieb Anforderung Extern
    {% elif status == 23 %} Heizbetrieb Anforderung Extern
    {% elif status == 26 %} Vorzugsbetrieb Smart Grid
    {% else %} Unbekannt ({{ status }})
    {% endif %}
    ################################################################################
    hoval_mischkreispumpe_hc2_text: #Heizkreis 2 EG/OG
    friendly_name: “Hoval Status Mischkreispumpe HC2”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_mischkreispumpe_hc2’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} An
    {% else %} Unbekannt ({{ status }})
    {% endif %}

    hoval_mischer_hc2_text: #Heizkreis 2 EG/OG
    friendly_name: “Hoval Status Mischer HC2”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_mischer_hc2’) | int(default=-999) %}
    {% if status == -100 %}
    Zu
    {% elif status >= -99 and status < 0 %}
    Teilweise geschlossen
    {% elif status == 0 %}
    Neutral
    {% elif status > 0 and status < 100 %}
    Teilweise geöffnet
    {% elif status == 100 %}
    Auf
    {% elif status == -999 %}
    Fehler: Kein Wert
    {% else %}
    Unbekannt ({{ status }})
    {% endif %}

    hoval_betriebsart_hc2_text: #Heizkreis 2 EG/OG
    friendly_name: “Hoval Status Betriebsart HC2”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_betriebsart_hc2’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Aus
    {% elif status == 1 %} Heizbetrieb Normal
    {% elif status == 2 %} Heizbetrieb Komfort
    {% elif status == 3 %} Heizbetrieb Spar
    {% elif status == 4 %} Frostbetrieb
    {% elif status == 7 %} Ferienbetrieb
    {% elif status == 9 %} Kühlbetrieb Normal
    {% elif status == 10 %} Kühlbetrieb Komfort
    {% elif status == 11 %} Kühlbetrieb Spar
    {% elif status == 12 %} Fehler
    {% elif status == 13 %} Handbetrieb
    {% elif status == 14 %} Schutz Kühlbetrieb
    {% elif status == 15 %} Partybetrieb Kühlen
    {% elif status == 22 %} Kühlbetrieb Anforderung Extern
    {% elif status == 23 %} Heizbetrieb Anforderung Extern
    {% elif status == 26 %} Vorzugsbetrieb Smart Grid
    {% else %} Unbekannt ({{ status }})
    {% endif %}
    ################################################################################
    #Lüftung
    hoval_lueftung_status_text: #LÜ
    friendly_name: “Hoval Status Lueftungsregelung Lue”
    value_template: >-
    {% set status = states(‘sensor.hoval_status_lueftungsregelung_lue’) | int(default=-1) %}
    {% if status == -1 %} Keine Daten verfügbar
    {% elif status == 0 %} Standby
    {% elif status == 1 %} Normaler Lüftungsbetrieb
    {% elif status == 2 %} Voc Modus aktiv
    {% elif status == 3 %} Feuchtigkeitsmodus aktiv
    {% elif status == 4 %} Frostschutz aktiv
    {% elif status == 5 %} CoolVent aktiv
    {% elif status == 6 %} Fehlerzustand
    {% elif status == 7 %} Sommerfeuchte
    {% elif status == 8 %} Ausschaltstopp
    {% else %} Unbekannt ({{ status }})
    {% endif %}
    ################################################################################
    ################################################################################
    ################################################################################

1 Like

Vielen Dank für den Code: Ich würde hier gerne meine Adaption noch vorstellen: Vielleicht könnte mir jemand mal drüber schauen ob ich die Richtigen Werte genommen habe. Ich habe eine Belaria 13 Pro zuhause.

Hoval Wärmepumpe - Modbus Konfiguration

Datei: yamls/hoval_modbus.yaml

  • name: “Hoval Wärmepumpe”
    type: tcp
    host: 192.168.10.170 # Ihre IP-Adresse anpassen
    port: 502
    delay: 2
    timeout: 10

    ========================================

    SENSOREN - Alle wichtigen Messwerte

    ========================================

    sensors:

    === TEMPERATUREN ===

    • name: “Hoval Vorlauftemperatur”
      address: 1513
      unit_of_measurement: “°C”
      scan_interval: 30
      scale: 0.1
      precision: 1
      device_class: temperature

    • name: “Hoval Rücklauftemperatur”
      address: 1535
      unit_of_measurement: “°C”
      scan_interval: 30
      scale: 0.1
      precision: 1
      device_class: temperature

    • name: “Hoval Warmwasser Ist”
      address: 1500
      unit_of_measurement: “°C”
      scan_interval: 30
      scale: 0.1
      precision: 1
      device_class: temperature

    • name: “Hoval Warmwasser Soll”
      address: 1499
      unit_of_measurement: “°C”
      scan_interval: 60
      scale: 0.1
      precision: 1
      device_class: temperature

    • name: “Hoval Wärmeerzeuger Ist”
      address: 18725
      unit_of_measurement: “°C”
      scan_interval: 30
      scale: 0.1
      precision: 1
      device_class: temperature

    • name: “Hoval Wärmeerzeuger Soll”
      address: 18724
      unit_of_measurement: “°C”
      scan_interval: 60
      scale: 0.1
      precision: 1
      device_class: temperature

    === LEISTUNG & ENERGIE ===

    • name: “Hoval Elektrische Leistung”
      address: 25611
      unit_of_measurement: “W”
      scan_interval: 30
      scale: 10
      device_class: power
      state_class: measurement

    • name: “Hoval Thermische Leistung”
      address: 25612
      unit_of_measurement: “W”
      scan_interval: 30
      scale: 10
      device_class: power
      state_class: measurement

    • name: “Hoval Modulation”
      address: 18726
      unit_of_measurement: “%”
      scan_interval: 30

    • name: “Hoval WEZ Leistung”
      address: 1536
      unit_of_measurement: “%”
      scan_interval: 30

    • name: “Hoval Thermische Gesamtleistung Heizen”
      address: 27484
      data_type: uint32
      unit_of_measurement: “MWh”
      scan_interval: 60
      scale: 0.001
      precision: 3
      device_class: energy
      state_class: total_increasing

    • name: “Hoval Elektrische Gesamtleistung”
      address: 25613
      data_type: uint32
      unit_of_measurement: “MWh”
      scan_interval: 60
      scale: 0.001
      precision: 3
      device_class: energy
      state_class: total_increasing

    === BETRIEBSSTUNDEN ===

    • name: “Hoval Betriebsstunden”
      address: 1507
      data_type: uint32
      unit_of_measurement: “h”
      scan_interval: 300
      scale: 0.1
      precision: 1
      device_class: duration
      state_class: total_increasing

    • name: “Hoval Schaltzyklen”
      address: 1518
      data_type: uint32
      scan_interval: 300
      state_class: total_increasing

    === STATUS & STEUERUNG ===

    • name: “Hoval WEZ Status”
      address: 1539
      scan_interval: 30

    • name: “Hoval FA Status”
      address: 18723
      scan_interval: 30

    • name: “Hoval Fehlercode”
      address: 1534
      scan_interval: 60

    • name: “Hoval Heizkreis 1 Status”
      address: 1501
      scan_interval: 60

    • name: “Hoval Warmwasser Status”
      address: 1504
      scan_interval: 60

    === PUMPEN ===

    • name: “Hoval Pumpe Wärmeerzeuger”
      address: 18757
      unit_of_measurement: “%”
      scan_interval: 60

    • name: “Hoval Mischer Position”
      address: 19658
      unit_of_measurement: “%”
      scan_interval: 60
      scale: 0.1
      precision: 1

    === PUFFERSPEICHER ===

    • name: “Hoval Pufferspeicher Oben”
      address: 17386
      unit_of_measurement: “°C”
      scan_interval: 60
      scale: 0.1
      precision: 1
      device_class: temperature

    • name: “Hoval Pufferspeicher Unten”
      address: 17387
      unit_of_measurement: “°C”
      scan_interval: 60
      scale: 0.1
      precision: 1
      device_class: temperature

    • name: “Hoval Pufferspeicher Status”
      address: 17384
      scan_interval: 60

    ========================================

    KLIMAREGELUNG - Schaltbare Steuerungen

    ========================================

    climates:

    === HEIZKREIS 1 ===

    • name: “Hoval Heizkreis 1”
      address: 1493
      target_temp_register: 1481
      scale: 0.1
      precision: 1
      temp_step: 0.5
      min_temp: 15
      max_temp: 30
      hvac_mode_register:
      address: 1478
      values:
      state_off: 0
      state_heat: 4

    === HEIZKREIS 2 ===

    • name: “Hoval Heizkreis 2”
      address: 1494
      target_temp_register: 1483
      scale: 0.1
      precision: 1
      temp_step: 0.5
      min_temp: 15
      max_temp: 30
      hvac_mode_register:
      address: 1479
      values:
      state_off: 0
      state_heat: 4

    === WARMWASSER ===

    • name: “Hoval Warmwasser”
      address: 1500
      target_temp_register: 1497
      scale: 0.1
      precision: 1
      temp_step: 1
      min_temp: 40
      max_temp: 65
      hvac_mode_register:
      address: 1496
      values:
      state_off: 0
      state_heat: 4

Mein Template schaut so aus:

Hoval Wärmepumpe - Template Sensoren

Datei: yamls/hoval_templates.yaml

  • sensor:

    === STATUS TEXTE ===

    • name: “Hoval FA Status Text”
      state: >
      {% set status = states(‘sensor.hoval_fa_status’) | int(default=-1) %}
      {% if status == 0 %} Aus
      {% elif status == 1 %} Heizen
      {% elif status == 2 %} Aktivkühlen
      {% elif status == 4 %} Warmwasser
      {% elif status == 5 %} Frostschutz
      {% elif status == 8 %} Abtauen
      {% elif status == 9 %} Passivkühlen
      {% elif status == 16 %} Verzögerung
      {% elif status == 55 %} Störung
      {% else %} Status: {{ status }}
      {% endif %}
      icon: >
      {% set status = states(‘sensor.hoval_fa_status’) | int(default=-1) %}
      {% if status == 1 %} mdi:fire
      {% elif status == 2 or status == 9 %} mdi:snowflake
      {% elif status == 4 %} mdi:water-thermometer
      {% elif status == 55 %} mdi:alert-circle
      {% else %} mdi:heat-pump
      {% endif %}

    • name: “Hoval Warmwasser Status Text”
      state: >
      {% set status = states(‘sensor.hoval_warmwasser_status’) | int(default=-1) %}
      {% if status == 0 %} Aus
      {% elif status == 1 %} Normal Laden
      {% elif status == 2 %} Komfort Laden
      {% elif status == 6 %} Entnahme aktiv
      {% elif status == 12 %} Vorzug
      {% else %} Status: {{ status }}
      {% endif %}
      icon: >
      {% set status = states(‘sensor.hoval_warmwasser_status’) | int(default=-1) %}
      {% if status == 1 or status == 2 %} mdi:water-thermometer-outline
      {% elif status == 6 %} mdi:water-pump
      {% else %} mdi:water-off
      {% endif %}

    • name: “Hoval Heizkreis 1 Status Text”
      state: >
      {% set status = states(‘sensor.hoval_heizkreis_1_status’) | int(default=-1) %}
      {% if status == 0 %} Aus
      {% elif status == 1 %} Normal
      {% elif status == 2 %} Komfort
      {% elif status == 3 %} Spar
      {% elif status == 4 %} Frost
      {% elif status == 9 %} Kühlen
      {% else %} Status: {{ status }}
      {% endif %}
      icon: >
      {% set status = states(‘sensor.hoval_heizkreis_1_status’) | int(default=-1) %}
      {% if status == 1 or status == 2 %} mdi:radiator
      {% elif status == 9 %} mdi:air-conditioner
      {% elif status == 4 %} mdi:snowflake-alert
      {% else %} mdi:radiator-off
      {% endif %}

    === GESAMTLEISTUNG ===

    • name: “Hoval Gesamtleistung”
      unit_of_measurement: “kW”
      device_class: power
      state_class: measurement
      state: >
      {% set elec = states(‘sensor.hoval_elektrische_leistung’) | float(default=0) %}
      {% set therm = states(‘sensor.hoval_thermische_leistung’) | float(default=0) %}
      {{ (elec + therm) / 1000 | round(2) }}

    === COP BERECHNUNG ===

    • name: “Hoval COP Aktuell”
      unit_of_measurement: “”
      state_class: measurement
      state: >
      {% set elec = states(‘sensor.hoval_elektrische_leistung’) | float(default=0) %}
      {% set therm = states(‘sensor.hoval_thermische_leistung’) | float(default=0) %}
      {% if elec > 100 %}
      {{ (therm / elec) | round(2) }}
      {% else %}
      unavailable
      {% endif %}
      icon: mdi:calculator

    === BETRIEBSSTUNDEN HEUTE ===

    • name: “Hoval Betriebsstunden Heute”
      unit_of_measurement: “h”
      device_class: duration
      state: >
      {% set total = states(‘sensor.hoval_betriebsstunden’) | float(default=0) %}
      {% set yesterday = states(‘sensor.hoval_betriebsstunden_yesterday’) | float(default=0) %}
      {{ (total - yesterday) | round(1) }}

und meine Sensoren wurden so angelegt: (utility_meter):

strom_bezug_monat:
source: sensor.evcc_carport_charge_total_import
cycle: monthly

strom_bezug_tag:
source: sensor.evcc_carport_charge_total_import
cycle: daily

einspeisung_monat:
source: sensor.netzeinspeisung_energie
cycle: monthly

einspeisung_tag:
source: sensor.netzeinspeisung_energie
cycle: daily

Hoval Wärmepumpe - Utility Meter

hoval_energie_taeglich:
source: sensor.hoval_elektrische_leistung
cycle: daily

hoval_waerme_taeglich:
source: sensor.hoval_thermische_leistung
cycle: daily

Hello, currently, I have a HovalConnect. I just bought a Modbus. The brand manager tells me that in order for them to intervene remotely, I cannot remove the Connect but that I must add the Modbus in addition (so I cannot sell the Connect). Is this correct? If not, how will they be able to intervene if I only have the Modbus left? Thank you for your feedback.

The Modbus gateway can be installed in addition to the LAN or WLAN gateway OR it can replace it completely!

If you are using a WLAN Gateway and there is no LAN cable, you need to keep the WLAN Gateway.

If the Modbus gateway replaces the LAN or WLAN gateway, Hoval Connect can still be used!

We also clearly recommend using Hoval Connect despite the external connection (in this case Home Assistant) so that Hoval can communicate with you for service purposes (remote access and automatic gateway updates).

also please note: If setpoints are written via Home Assistant:

Hoval Connect and the control by the third-party provider (in this case Home Assistant) do NOT synchronize!

e.g. A room temperature setpoint of 20°C is written cyclically via Home Assistant, in the Hoval Connect app you still see an old set temperature of 22°C.

We are planning a remedy in the next updates to fix this flaw.

Thank you for your clear and detailed explanations.
So I keep the old HovalConnect LAN (as well as the Modbus TCP).
I also confirm that your Yaml code is functional with some adaptations e.g. “°C” replaced by °C

For my part, I only use HovalConnect for the statistics tab. Indeed, for programming, I use the Display (and I hope, in the future, the HomeAssistant Modbus: for example to modify the end date of the holidays)

1 Like


Praxis-Guide: Die Hoval Anlage in Home Assistant integrieren - YouTube

Hallo Home Assistant Community,
Gemeinsam mit Referenzkunden haben wir eine YAML Lösung ausgearbeitet und in einem Praxis-Guide Integrationsvideo festgehalten.
Die YAML Dateien (sensor.Yaml, modbus.yaml, configuration.yaml) findet ihr Mitte des Monats September zum Download in unserem Hoval Integrate Downloadbereich. (https://www.hoval.ch/de_CH/Heiztechnik/Regelung/Systemregelung-TopTronic-E/TopTronic-E-SchnittstellenModule/Hoval-Integrate---Home-Assistant/p/B_hoval-integrate-home-assistant) - Die Landingpage wird gerade gebaut, deshalb funktioniert dieser Link noch nicht.
Der YAML-Code aus dem vorherigen Kommentar am 12.Juni, hier in diesem Thread, ist ebenso gültig.


Hello Home Assistant Community,

Together with reference customers, we have developed a YAML solution and recorded it in a practical integration video guide.

The YAML files (sensor.Yaml, modbus.yaml, configuration.yaml) will be available for download in our Hoval Integrate download area in mid-September. (https://www.hoval.ch/de_CH/Heiztechnik/Regelung/Systemregelung-TopTronic-E/TopTronic-E-SchnittstellenModule/Hoval-Integrate---Home-Assistant/p/B_hoval-integrate-home-assistant) - The landing page is currently under construction, so this link is not yet functional.

The YAML code from the previous comment on June 12, here in this “Hoval Belaria Integration Gateway” thread, is also valid.

Greetings
Hoval Productmanagement

3 Likes

Very exciting!

My gateway has the item number 6049617, but I can’t find anything about whether it supports Modbus TCP.
There is an RS485 port, but it wouldn’t be preferred (if it even works).

How can I find out if ModBus TCP is supported?

Hello Thomas,

Unfortunately, I can’t work with this number, but you can easily check whether you have a Modbus Gateway (6049501) or not.

You have to go into the service menu and select “Modbus.”
How? Watch the Praxis Guide from 0:37 to 0:46. → Praxis-Guide: Die Hoval Anlage in Home Assistant integrieren
If you cannot make any settings on Modbus, you need to place a new order at Hoval with the article number 6049501.
We cannot activate the function for other gateways (KNX, OPC/UA, WLAN, or LAN gateways).

Greetings Max
Hoval PM

Dear Max,

I read on your forum that the YAML files (sensor.yaml, modbus.yaml, and configuration.yaml) for the Home Assistant integration will be available for download in the Hoval Integrate download area around mid-September. However, the link provided is still under construction.

Additionally, I noticed that the files currently available for download on your website are not in valid YAML format for Home Assistant.
Could you please clarify when the correct YAML files will be available for download?
If possible, could you also provide a direct link or send the correct files by email?

Thank you very much for your support!

Best regards,
Alessandro

Hello,

The Files (configuration,modus,sensor) are here:
Hoval Integrate - Home Assistant | Hoval Schweiz
(Actually only in german)

If there are still formal issues with the YAML code here, please let me know so that I can revise it together with the test users.

Hi! thanks for providing the files.
Checking the files I noticed that the “YAML file” in the comment from June 12th are very different from the files on the website to downlaod. It might be worth to check the files. Again, thank you
Have a great day!

Dear Max,
Thank you for your reply. However, the files currently available on the Hoval website are not correct. This is an excerpt from the existing content:

{\rtf1\ansi\ansicpg1252\cocoartf2822
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;}
{\colortbl;\red255\green255\blue255;\red45\green45\blue45;\red255\green255\blue255;\red107\green0\blue1;
\red144\green1\blue18;\red19\green118\blue70;\red15\green112\blue1;}
{*\expandedcolortbl;;\cssrgb\c23137\c23137\c23137;\cssrgb\c100000\c100000\c100000;\cssrgb\c50196\c0\c0;
\cssrgb\c63922\c8235\c8235;\cssrgb\c3529\c52549\c34510;\cssrgb\c0\c50196\c0;}
\paperw11900\paperh16840\margl1440\margr1440\vieww25480\viewh17380\viewkind0
\deftab720
\pard\pardeftab720\partightenfactor0

\f0\fs24 \cf2 \cb3 \expnd0\expndtw0\kerning0

  • \cf4 name\cf2 : \cf5 “modbus_tcp”\cf2 \cb1
    \cf2 \cb3 \cf4 type\cf2 : \cf5 tcp\cf2 \cb1
    \cf2 \cb3 \cf4 host\cf2 : \cf5 “192.168.90.149”\cf2 \cb1
    \cf2 \cb3 \cf4 port\cf2 : \cf6 502\cf2 \cb1
    \cf2 \cb3 \cf4 timeout\cf2 : \cf6 10\cf2 \cb1
    \pard\pardeftab720\partightenfactor0
    \cf7 \cb3 ################################################################################\cf2 \cb1
    \cf7 \cb3 ################################################################################\cf2 \cb1
    \cf7 \cb3 ################################################################################\cf2 \cb1
    \pard\pardeftab720\partightenfactor0
    \cf2 \cb3 \cf4 sensors\cf2 :\cf2 \cb1
    \cf2 \cb3 - \cf4 name\cf2 : \cf5 “Hoval Warmwasser-Ist SF oben WW”\cf2 \cf7 # Warmwasser\cf2 \cb1
    \cf2 \cb3 \cf4 address\cf2 : \cf6 1500\cf2 \cb1
    \cf2 \cb3 \cf4 unit_of_measurement\cf2 : \cf5 “'b0C”\cf2 \cb1

Could you please provide the correct YAML files?

Thank You
Alessandro

Guten Tag!

Danke für eure Vorlagen. Ich war die letzten Wochen damit beschäftigt einige Sachen für meine Belaria 13 Comfort mit Modus Modul in Homeassisstant zu überarbeiten.

Dazu habe ich ein GIT erstellt wo sich jeder gerne beteiligen darf bzw. vielleicht kann mir jemand mal drüber schauen ob der Code so passt.

Hoval - Github

Was mir eben aufgefallen ist, dass die Rücklauftemperatur nicht passt. Aber ich habe den Fehler nicht nicht gefunden. Aktuell habe ich meine Heizung ausgeschaltet der Vorlauf zeigt 20°C und der Rücklauf Zeigt 26°C. Physisch zeigt es aber unter 18°C direkt an den Heizungsleitungen. Hat mir da jemand einen Ratschlag ?

Danke und LG,
Mathias

Hallo Mathias,
bei mir ist der von dir verwendete Datenpunkt 1535 identisch mit 18742 was der Rücklauftemperatur im Wärmeerzeuger entspricht. Bei meiner Installation befindet sich auch kein eigener Fühler am Heizungsrücklauf - keine Ahnung, ob das auch anders ausgeführt wird.
Wenn es sich bei dir auch um die Rücklauftemperatur im WEZ handelt, wäre das nach dem Pufferspeicher und vermutlich deswegen auch höher als der Heizungsrücklauf.

Good Morning,

We have made an adjustment in YAML format.
Hoval Integrate - Home Assistant | Hoval Schweiz under Downloads/Formulare.

Please let us know if you still encounter error messages.

Greetings

PM Hoval

Is this somehow compatible with the following solution?

Buying an extra device, while I already have the LAN version is not too attractive. Or is there an “upgrade path”? The hardware should not be too expensive.