Grünbeck Integration über IO-Broker

Anleitung um die Grünbeck SD21 in Home-Assistant zu integrieren.

Hierfür wird zwingend eine funktionierende IO-Broker Installation benötigt (das IO-Broker-AddOn in HA hat bei mir nicht funktioniert) weiterhin wird in Home-Assistant der „File-Editor“ sowie der der „Mosquitto-Broker“ in dem ein Benutzer mit Passwort unter „Instanzen“ → „MQTT“ → „Konfigurieren“ → „MQTT neu Konfigurieren“ angelegt wurde sowie dass bereits die SD21 mit der Grünbeck-Cloud verbunden und mit der App ausgelesen werden kann vorausgesetzt.

Zuallererst wird dieser Code in die „configuration.yaml“ am Ende der Datei eingetragen, sämtliche ID´s mit BSxxxxxx müssen gegen die eigene ID geändert werden ansonsten findet keine Synchronisation statt.

# Grünbeck water softener via iOBroker and MQTT
# EDIT 8th June 2022: changed to MQTT platform
# EDIT 10th November 2022: made compatible with water in energy dashboard
mqtt:

# Sensors
  sensor:

    - name: Grünbeck Weichwassermenge
      unique_id: gruenbeck_weichwassermenge
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/mcountwater1"
      unit_of_measurement: "L"
      device_class: water
      state_class: total_increasing

    - name: Grünbeck Regenerations Zähler
      unique_id: gruenbeck_regenerations_zaehler
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/mcountreg"
      state_class: total_increasing

    - name: Grünbeck aktueller Durchfluss
      unique_id: gruenbeck_aktueller_durchfluss
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/mflow1"
      unit_of_measurement: "m³/h"
      state_class: measurement

    - name: Grünbeck Restkapazität m³
      unique_id: gruenbeck_restkapazitaet_m3
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/mrescapa1"
      value_template: '{{value | round(1) }}'
      unit_of_measurement: "m³"

    - name: Grünbeck Restkapazität %
      unique_id: gruenbeck_restkapazitaet_percent
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/mresidcap1"
      unit_of_measurement: "%"

    - name: Grünbeck Salz Reichweite
      unique_id: gruenbeck_salz_reichweite
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/msaltrange"
      unit_of_measurement: "Tage"

    - name: Grünbeck Salz Verbrauch
      unique_id: gruenbeck_salz_verbrauch
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/msaltusage"
      value_template: '{{ value|round(4)|float(0) }}'
      unit_of_measurement: "kg"
      state_class: total_increasing

    - name: Grünbeck nächste Regeneration
      unique_id: gruenbeck_naechste_regeneration
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/nextRegeneration"
      value_template: '{{ as_timestamp(value)|timestamp_local(default) }}'
      device_class: timestamp

    - name: Grünbeck Rohwasser Härte
      unique_id: gruenbeck_rohwasser_haerte
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/rawWater"
      unit_of_measurement: "°dH"

    - name: Grünbeck Weichwasser Härte
      unique_id: gruenbeck_weichwasser_haerte
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/softWater"
      unit_of_measurement: "°dH"

    - name: Grünbeck Modus
      unique_id: gruenbeck_modus
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/mode"
      value_template: >-
          {% if value == '1' %}
              {% set modus = 'Eco' %}
          {% endif %}
          {% if value == '2' %}
              {% set modus = 'Comfort' %}
          {% endif %}
          {% if value == '3' %}
              {% set modus = 'Power' %}
          {% endif %}
          {{ modus }}


    - name: Grünbeck Wartung in
      unique_id: gruenbeck_wartung_in
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/Stream/mmaint"
      unit_of_measurement: "Tagen"

    - name: Grünbeck Fehler
      unique_id: gruenbeck_fehler
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/errors"
      value_template: '{{ value_json.0.message }}'

# Binary Sensor
  binary_sensor:
    - name: Grünbeck Anlagen Status
      unique_id: gruenbeck_anlagen_status
      payload_on: 'true'
      payload_off: 'false'
      state_topic: "gruenbeck/0/softliQ/D/BS50053814/hasError"
      device_class: problem

Im IO-Broker unter Adapter muss der „MQTT-Client“ installiert werden NICHT DER BROKER!!! Unter Instanzen wird der MQTT-Client über den „Schraubenschlüssel“ konfiguriert, hier wird die IP-Adresse des MQTT-Brokers unter Home-Assistant zb. 192.168.178.103 sowie der angelegte Benutzer mit Passwort eingetragen.

Im IO-Broker unter „Objekte“ → „gruenbeck“ → „0“ → „softliQ“ → „D/BSxxxxxxxx“ (WICHTIG!!!) → „Stream“ folgende Registerpunkte mittels dem „Zahnrad“ das Häkchen unter „MQTT-Client“ „aktiviert“ setzen sowie dort unter „publish“ ein Häkchen bei „aktiviert“ + „retain“ setzen → mit „Speichern & Schließen“ verlassen

Unter D/BSxxxxxxxx

errors haserror mode nextRegeneration rawWater softWater

Unter Stream:

mcountreg mcountwater1 mflow1 mmaint mrescapa1 mresidcap1 msaltrange msaltusage

In der Grünbeck-Instanz die Zugangsdaten eintragen die Ihr auch für eure My-Grünbeck-App verwendet unter „SDXX-Benutzer“ + „SDXX Passwort“ den Intervall für die Synchronisierung kann bei 360 Sekunden belassen werden.

Im Home-Assistant unter „Einstellungen“ → „Geräte & Dienste“ → „Helfer“ werden nun 8 „Verbrauchszähler“ angelegt.

Für Weichwasser ist der Eingangssensor „sensor.grunbeck_weichwassermenge“ zu verwenden

grunbeck_weichwassermenge_tag (Reset Zyklus: täglich) Genauigkeit Standard

grunbeck_weichwassermenge_woche (Reset Zyklus: wöchentlich ) Genauigkeit Standard

grunbeck_weichwassermenge_monat (Reset Zyklus: monatlich) Genauigkeit Standard

grunbeck_weichwassermenge_jahr (Reset Zyklus: jährlich) Genauigkeit Standard

Für den Salzverbrauch ist der Eingangssensor „sensor.grunbeck_salz_verbrauch“ zu verwenden

grunbeck_salz_verbrauch_tag (Reset Zyklus: täglich ) Genauigkeit x,xxx

grunbeck_salz_verbrauch_woche (Reset Zyklus: wöchentlich ) Genauigkeit x,xxx

grunbeck_salz_verbrauch_monat (Reset Zyklus: monatlich ) Genauigkeit x,x

grunbeck_salz_verbrauch_jahr (Reset Zyklus: jährlich ) Genauigkeit x,x

In Home-Assistand den „File editor“ öffnen → links oben auf den Ordner klicken, im Ordner „www“ → „picture“ den Ordner „Gruenbeck.png“ erstellen und das Bild „Grünbeck.jpeg dort hinein laden

Im gewünschten Dashboard eine „neue Karte“ hinzufügen, ganz nach unten scrollen und auf „Manuell“ klicken dort die erste Zeile löschen und den folgenden Code einfügen und speichern

type: picture-elements
theme: Google Light Theme
elements:
  - type: conditional
    conditions:
      - entity: binary_sensor.grunbeck_anlagen_status
        state: 'off'
    elements:
      - type: state-label
        entity: binary_sensor.grunbeck_anlagen_status
        prefix: 'Anlagenstatus: '
        style:
          top: 3%
          left: 80%
          color: green
  - type: conditional
    conditions:
      - entity: binary_sensor.grunbeck_anlagen_status
        state: 'on'
    elements:
      - type: state-label
        entity: binary_sensor.grunbeck_anlagen_status
        prefix: 'Anlagenstatus: '
        style:
          top: 2%
          left: 80%
          color: red
  - type: conditional
    conditions:
      - entity: binary_sensor.grunbeck_anlagen_status
        state: 'on'
    elements:
      - type: state-label
        entity: sensor.grunbeck_fehler
        style:
          top: 5%
          left: 80%
          color: red
  - type: state-label
    entity: sensor.grunbeck_rohwasser_harte
    style:
      top: 9%
      left: 13%
      color: red
  - type: state-label
    entity: sensor.grunbeck_weichwasser_harte
    style:
      top: 9%
      left: 73%
      color: red
  - type: state-label
    entity: sensor.grunbeck_modus
    style:
      top: 22.5%
      left: 38%
      color: red
    prefix: 'Modus: '
  - type: state-label
    entity: sensor.grunbeck_weichwassermenge_tag
    style:
      top: 23.5%
      left: 78%
      color: blue
    prefix: 'Heute: '
  - type: state-label
    entity: sensor.grunbeck_weichwassermenge_woche
    style:
      top: 26.5%
      left: 78%
      color: blue
    prefix: 'Woche: '
  - type: state-label
    entity: sensor.grunbeck_weichwassermenge_monat
    style:
      top: 29.5%
      left: 78%
      color: blue
    prefix: 'Monat: '
  - type: state-label
    entity: sensor.grunbeck_weichwassermenge_jahr
    style:
      top: 32.5%
      left: 78%
      color: blue
    prefix: 'Jahr: '
  - type: state-label
    entity: sensor.grunbeck_restkapazitat_m3
    style:
      top: 43.5%
      left: 70%
      color: blue
  - type: state-label
    entity: sensor.grunbeck_restkapazitat
    style:
      top: 43.5%
      left: 85%
      color: blue
  - type: state-label
    entity: sensor.grunbeck_nachste_regeneration
    style:
      top: 59%
      left: 78%
      color: red
  - type: state-label
    entity: sensor.grunbeck_salz_verbrauch_tag
    style:
      top: 72%
      left: 78%
      color: blue
    prefix: 'Heute: '
  - type: state-label
    entity: sensor.grunbeck_salz_verbrauch_woche
    style:
      top: 75%
      left: 78%
      color: blue
    prefix: 'Woche: '
  - type: state-label
    entity: sensor.grunbeck_salz_verbrauch_monat
    style:
      top: 78%
      left: 78%
      color: blue
    prefix: 'Monat: '
  - type: state-label
    entity: sensor.grunbeck_salz_verbrauch_jahr
    style:
      top: 81%
      color: blue
      left: 78%
    prefix: 'Jahr: '
  - type: state-label
    entity: sensor.grunbeck_wartung_in
    style:
      top: 98%
      left: 20%
      color: red
    prefix: 'Wartung in: '
  - type: state-label
    entity: sensor.grunbeck_salz_reichweite
    style:
      top: 92.2%
      left: 78%
      color: blue
image: /local/picture/Gruenbeck.png/Grünbeck.jpeg

Alle fehlenden Werte/Einheiten werden bei der nächsten Synchronisation hinzugefügt (kann manchmal einige Zeit dauern).
Um die Werte Abzugleichen mit der My-Grünbeck-App gibt es eine Kalibrierungsfunktion, diese ist zu finden unter „Entwicklerwerkzeuge“ → „Dienste“ , im Feld „Dienste“ das Wort „Kalibrieren“ eingeben → „Entität“ anklicken → nun erscheinen alle 8 erstellten Verbrauchszähler, nun auf zb „grunbeck_salz_verbrauch_jahr“ klicken, nun den Wert aus der App eintragen und auf „Dienst ausführen“ klicken,

Diese Anleitung habe ich zusammengestellt um andern die Integration zu erleichtern, vielen Dank geht an meine genutzten Quellen auf Community.home-assistant.io an die User „gomble“, „Genießt Simpson“, „chchrlam“, „derjoerg“ sowie „Loony1“

:crayon:by HeikoBauer: Von Integrationen in Anleitungen/Projekte verschoben.

super nice aufgeschrieben, ich muss es nur noch umsetzen bei mir, kannst du mir bitte mal zeigen wie das ganze auf HA aussieht ?

Wollt mich gegen mittag dann mal hinsetzen und machen.

ich habe noch ibroker über eine andere virtuellen maschine aktiv wo Grünbeck drauf aktiviert ist.

Hi,

Im Moment bin ich sehr eingespannt aber nach dieser Anleitung funktioniert es tadellos.

So sieht es bei mir aus :

Viele Grüße Mirco

Respekt.
Super und danke Mirco, ich werde mich auch daran machen und berichten.
VG Sören

Sehr gerne,

Mich würde es interessieren ob ihr es auch so einfach nachbauen könnt mit dieser Anleitung, bei mir läuft das absolut ohne Probleme.
Klar ist es doof das man den Umweg über den IO-BROKER nehmen muss aber so funktioniert es zumindest.