AVARMA WP - Monoblock R290

Guten Morgen,

bin neu hier in dem Forum und habe auch eine Avarma 12KW 230V WP.

Den einen oder anderen hier habe ich auch schon im Haustechnikforum getroffen. Nun ich versuche gerade das Ding per ModBus in HA einzubinden und hoffe auf Eure Hilfe.Ich habe sowas von gar keine Ahnung von ModBus…:sweat_smile: Habe mir enthusiastisch einen Waveshare RS232/485 TO WIFI POE ETH (B) gekauft, angeschlossen und habe nun das Problem, das Ding lässt sich wohl zur Ersteinrichtung nur per W-Lan ansprechen… mein PC hängt aber am Switch und hat kein W-Lan. Sonst muss ich mir wohl nen W-Lan Stick besorgen. Oder habe ich was übersehen?

Danke schon mal für Eure Hilfe.

I.d.R öffnet so ein Gerät für die Ersteinrichtung einen eigenen Hotspot und lässt sich per Web-Browser konfigurieren. - Ich würde es ggf. mit dem Handy versuchen.

Das esphome-modbus Yaml würde mich auch interessieren. Ich quäle mich schon ein paar Tage mit unterschiedlichen esp’s, wandlerboards und software zimlich erfolglos.

Ich hab jetzt eine funktionierende esphome.yaml dank gregor und chatgpt :slight_smile:

Noch nicht ganz perfekt aber schon ganz gut. Hier für alle die es interessiert:

esphome:

name: warmepumpe

friendly_name: Wärmepumpe

# Enable Home Assistant API

api:

encryption:

key: "Q1VAg5rLplDKpBaQQO/y+tKGxWNgGdLxak4rMeXVym8="

ota:

  • platform: esphome

    password: "021dbf80d3261960006fe029930f4ccc"

wifi:

ssid: !secret wifi_ssid

password: !secret wifi_password

# Enable fallback hotspot (captive portal) in case wifi connection fails

ap:

ssid: "Warmepumpe Fallback Hotspot"

password: “nix"

captive_portal:

esp32:

board: esp32dev

framework:

type: arduino

# Logging (optional: DEBUG für Tests)

logger:

level: INFO

# Optional: Weboberfläche für Statusanzeige

web_server:

port: 80

# RS485 Verbindung (MAX485)

uart:

id: modbus_uart

tx_pin: 17

rx_pin: 16

baud_rate: 9600

parity: NONE

stop_bits: 1

# Modbus Master Konfiguration

modbus:

id: modbus1

uart_id: modbus_uart

send_wait_time: 500ms

# flow_control_pin: 4

# Avarma Wärmepumpe (Slave ID = 1)

modbus_controller:

  • id: avarma

    address: 1

    modbus_id: modbus1

    setup_priority: -10

    update_interval: 15s

# Sensoren – hier kannst du beliebig viele Register hinzufügen

sensor:

# Temperaturen

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Außentemperatur"

    id: ambient_temp

    register_type: holding

    address: 4360

    value_type: S_WORD

    unit_of_measurement: "°C"

    accuracy_decimals: 1

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Speichertemperatur"

    register_type: holding

    address: 4367

    value_type: S_WORD

    unit_of_measurement: "°C"

    accuracy_decimals: 1

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Wasser Eintrittstemperatur"

    address: 4365

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

    accuracy_decimals: 1

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Wasser Austrittstemperatur"

    address: 4366

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

    accuracy_decimals: 1

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Raumtemperatur (T2)"

    address: 4384

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

    accuracy_decimals: 1

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Coil Temperatur"

    address: 4358

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

    accuracy_decimals: 1

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Discharge Temperatur"

    address: 4359

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

    accuracy_decimals: 1

    filters:

    • multiply: 0.1

# Drücke

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Hochdruck"

    address: 4371

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "bar"

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Niederdruck"

    address: 4372

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "bar"

    filters:

    • multiply: 0.1

# Kompressor & Pumpe

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Kompressorfrequenz"

    address: 4373

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "Hz"

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Kompressorstrom"

    address: 4379

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "A"

    filters:

    • multiply: 0.1
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Wasserpumpen-Geschwindigkeit"

    address: 4611

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "%"

# Sollwerte

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Raumtemperatur Soll"

    address: 4101

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

# filters:

# - multiply: 0.1

# Betriebsmodus (numerisch)

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Betriebsmodus Code"

    id: avarma_mode_code

    address: 4612

    register_type: holding

    value_type: U_WORD

# Betriebsmodus als Text (automatisch übersetzt)

text_sensor:

  • platform: template

    name: "Betriebsmodus"

    lambda: |-

    if (id(avarma_mode_code).state == 0) return {"Aus"};

    else if (id(avarma_mode_code).state == 1) return {"Warmwasser"};

    else if (id(avarma_mode_code).state == 2) return {"Heizen"};

    else if (id(avarma_mode_code).state == 3) return {"Heizen + Warmwasser"};

    else return {"Unbekannt"};

# === SCHREIBBARE WERTE ===

number:

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Raum Solltemperatur einstellen"

    address: 4101

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

    min_value: 15

    max_value: 30

    step: 0.5

# multiply: 100.0

write_lambda: |-

  return (int16_t)(x \* 1.0);
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Warmwasser Solltemperatur einstellen"

    address: 4098

    register_type: holding

    value_type: S_WORD

    unit_of_measurement: "°C"

    min_value: 30

    max_value: 60

    step: 0.5

#multiply: 100.0

write_lambda: |-

  return (int16_t)(x \* 1.0);
  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Kompressor Min Frequenz einstellen"

    address: 8236

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "Hz"

    min_value: 10

    max_value: 60

    step: 1

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "Kompressor Defrost Frequenz einstellen"

    address: 8237

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "Hz"

    min_value: 10

    max_value: 60

    step: 1

  • platform: modbus_controller

    modbus_controller_id: avarma

    name: "DC Lüfter Max Speed einstellen"

    address: 8250

    register_type: holding

    value_type: U_WORD

    unit_of_measurement: "RPM"

    min_value: 1000

    max_value: 5000

    step: 100

1 „Gefällt mir“

Hallo,

ich habe eine ESPHome Komponente geschrieben mit der sich die Avarma ziemlich anstrengungslos und ohne Register-gefummel per ESPHome in Homeassistant einbinden lässt.

Das ganze lässt sich auch parallel zum Display am gleichen Kabel betreiben, wie das geht steht in der Doku :slight_smile:

VG und einen schönen Sonntag!

David

2 „Gefällt mir“

Wenn ihr zenrale Infos für die Avarma mal an einem Ort sammeln wollt, hab ich hier eine Wikiseite angelegt:

Am Aufbau so einer Infosammlung kann jeder mitarbeiten. Der Link zu Github kann da auch mit rein.

Was mich jetzt noch interessieren würde, wie hoch ist jetzt die Lautstärke, bei einer Anlage mit 9KW, und 12KW.

Meine Anlage würde auf die Nordseite kommen, direkt gegenüber vom Nachbarhaus, das ca. 9m

von mir entfernt steht. Möchte vermeiden das hier Beschwerden kommen. Kann mir das jemand mitteilen, wie laut die Anlage bei einem Abstand von 3m ist.

Das aktuelle Modell hat eine bessere Dämmung wie die Geräte der vorherigen Generation. Ich bin zufrieden und 9m Abstand zum Nachbarhaus sollten eigentlich genügen.

Eventuell solltest Du dir mal ein verbautes Gerät der letzten Generation in der Nähe anhören.

Hallo David,

das sieht ja echt interessant aus. Vor allem für mich als absoluter Noob auf dem Gebiet.

Habe es jetzt endlich geschafft mit diesem Gerät: WAVESHARE RS232/485 TO WIFI POE ETH (B) eine ModBus Verbindung auf COM3 herzustellen. Aber das ist echt viel Fummelei in der Config…
Nun meine Frage, welche Hardware würde ich zusätzlich benötigen für ESP und wie anschließen?

Bzw. ist für einen absoluten Neuling beides genauso schwierig? :smiley:

Hallo,

fast bastelfrei sollte das mit so einem Modul gehen:

da musst du dann nur die Spannungsversorgung und RS-485 A+B anschließen.

1 „Gefällt mir“

Das Anschließen ist glaube ich mein kleinstes Problem…ich habe mir gerade das Wiki von dem Ding angesehen :sweat_smile: da muss ich ja noch Informatik studieren.

Hast du ESPHome Geräte in deiner Homeassistant Installation? Dann brauchst du nur die YAML-Konfiguration von hier: esphome/esphome/components/hofman_energy_avarma/README.md at dev · auenkind/esphome · GitHub

Auf dein Netzwerk und die Pins des Controllers anpassen.

1 „Gefällt mir“

…genau sowas habe ich nicht…das ist für mich absolutes neuland…

danke für die Info, gibt es im Großraum Landshut jemand, der dieses Modell am laufen hat

Hättest du den Nerv einen absoluten Noob :sweat_smile: dabei zu unterstützen?

Danke für die Vorarbeit es hat tatsächlich geklappt

sorry das ich garnicht mehr geantwortet habe, war ein bischen viel los bei mir. Und freut mich das es geklappt hat!

Hast du das Waveshare Modul verwendet? Das würde ich dann als lötfreie Variante in die Doku aufnehmen.

ja ich habe genau das von dir empfohlene Modul verwendet. :smiley: Kein Sorry dafür, das du ein Privatleben hast.

Habe aber erst mal Blut und Wasser geschwitzt…Erwähne in der Doku gleich noch, das ganze sofort über USB mit dem ESP Home Dashboard einzurichten, nicht wie in dem Waveshare Wiki beschrieben über Arduino. Geht mit ESPHome recht fix. Jetzt muss ich erst mal die Entitäten und Sensoren filtern die für mich wichtig sind und ggf. welche noch hinzufügen. Habe noch den Sensor Pump Speed in Prozent hinzugefügt. Hintergrund ist der, bei mir zeigt der Durchfluß Sensor weil er einen Hau weg hat Phantasiewerte von 1400L/min an. Das will ich im HA durch einen eigenen Sensor beheben…100% Sind bei meiner verbauten Pumpe ca. 43L/Min.

Frage in die Runde:
Gibt es einen Parameter/Register aus welchem ersichtlich ist, wann ein Abtauprozess erfolgt ist?
Laut Beschreibung ist dies vom Status ‘C00’ = Spulentemperatur abhängig.
Im Bediendisplay gibt es ja ein Symbol für den Abtauprozess, also sollte es ja auch ein Register dafür geben.

Nicht direkt. Ich ermittle das selber über ESPHome / Defrosting State.