Bosch/Buderus/Junkers... Heizungs-Integration in HA über KM200 oder EMS-EPS

Gerne:

type: custom:tabbed-card
options:
  defaultTabIndex: 0
styles:
  '--mdc-theme-primary': orange
  '--mdc-typography-button-font-size': 12px
attributes:
  isFadingIndicator: true
  minWidth: true
  isMinWidthIndicator: true
tabs:
  - card:
      type: entities
      entities:
        - select.boiler_dhw_comfort
        - number.boiler_dhw_selected_temperature
        - sensor.boiler_dhw_current_intern_temperature
        - binary_sensor.boiler_dhw_charging
        - switch.boiler_dhw_activated
        - switch.thermostat_dhw_charge
        - switch.thermostat_dhw_disinfecting
    attributes:
      label: WW
  - card:
      type: entities
      entities:
        - sensor.boiler_current_flow_temperature
        - sensor.boiler_burner_current_power
        - binary_sensor.boiler_gas
        - binary_sensor.boiler_fan
        - binary_sensor.boiler_heating_active
        - binary_sensor.boiler_heating_pump
    attributes:
      label: Brenner
  - card:
      type: entities
      entities:
        - number.thermostat_hc1_max_flow_temperature
        - number.thermostat_hc1_design_temperature
        - number.thermostat_minimal_external_temperature
        - number.thermostat_hc1_offset_temperature
        - number.thermostat_hc1_selected_room_temperature
    attributes:
      label: Heizkurve
  - card:
      type: entities
      entities:
        - select.thermostat_hc1_set_summer_mode
        - select.thermostat_hc1_mode
        - switch.thermostat_hc1_switch_on_optimization
        - number.thermostat_hc1_selected_room_temperature
        - number.thermostat_hc1_comfort_temperature
        - number.thermostat_hc1_eco_temperature
        - number.thermostat_hc1_manual_temperature
        - number.thermostat_hc1_summer_temperature
    attributes:
      label: RC300

Passt das so bei dir?

Hi Marx,

ich hatte ehemals bei mir die Erstinstallation im HA in Englisch durchgeführt. Nun habe ich im EMS-ESP die Sprache auch auf Deutsch gestellt - das ist sehr fein, da nun die Verständlichkeit einiger Werte deutlich verbessert wurde :slight_smile: . Im Ha sind die Entitäten nun immer noch auf englisch… Hast Du einen Tip, wie ich die vom EMS-ESP auf deutsch geupdatet bekomme?

Edit:
gut 2h später waren die Entitäten im HA unter MQTT auch auf deutsch vorhanden - nun passt es bei mir :slight_smile:

Grüße

Thomas

1 „Gefällt mir“

Dann hat sich das Problem ja gelöst :). Ansonsten kann man unter Settings–>Customizations und dann auf das Edit-Symbol der jeweiligen Entität auch eigene Namen vergeben. Die werden dann so auch direkt an den mqtt-broker ge-published.

Viele Grüße
Marx

1 „Gefällt mir“

Hallo,
ich stelle grad von ioBroker um auf HomeAssistant und kenne mich noch nicht so gut aus.
Ich verwende auch EMS-ESP und habe bereits die Entitäten erfolgreich in meinem System.
Bei Kopieren deines tabbed-card Beispiels, musste ich die id’s entsprechend anpassen, da ich als Entity ID Format Single Instance, short name verwende.
Nun habe ich das Problem, dass bei mit dem Entitynamen immer noch der Gerätename vorangestellt wird.
Bei den Dashboard-Elementen, die Standardmäßig angelegt werden wird der Devicename nicht vorangestellt. Das liegt aber daran, dass zusätzlich mit name: x der Name Eingetragen wird.

Kann man das irgendwo einstellen?


Hi,

das hatte michauch etwas gestört, da dadurch alle Entitäten den gleichen Namen angezeigt bekommen und der eigentlich “spannende” Teil teilweise dadurch ausgeblendet wird. Ich habe für mich die Lösung gewählt, dass ich für jede der dort eingetragenen Entitäten den Namen manuell eingetragen habe - dann wird z.B. statt “Buderus-GB192 Brennerleistung” nur noch “Brennerleistung” angezeigt. Ob es einen automatischen Weg gibt, weiß ich nicht.

aus:

durch anpassen:

wird:

Grüße

Thomas

Danke für deine Antwort.
Diese Variante hatte ich auch schon getestet.
Ich bin aber der Meinung, dass es vorher mal nicht so war.
In der InfluxDb hab ich nämlich Einträge, die beim Friendly name ohne Gerätename eingetragen wurden.
Mittlerweile hab ich aber HomeAssistant upgedatet und überall diverse Einstellungen vorgenommenen, sodas ich grad nicht nachvollziehen kann, welche Änderung ursächlich sein kann.
Ich hab aber eventuell noch ein älteres Backup, dass ich mal im einer Testmaschine starten kann. Vielleicht sieht man da was.

Gruß

lusun

Hallo zusammen,

ich bin neu hier und in der HA Welt. Ich bin gerade über diesen beitrag gestolpert, und da musste ich mich einfach einklinken.

Ich habe zuhause eine Buderus GB192i welche ich ebenfalls gerne über ESP32 wie hier beschrieben in meinen HA einbinden würde.

Bevor ich mich aber daran mache, wollte ich hier freundlich nachfragen ob die für mich relevanten entitäten überhaupt abrufbar sind.

Und zwar geht es mir im speziellen um den Gasverbrauch für Heizung und Warmwasser. Können die werte ausgelesen werden? Das würde ja sogar das auslesen des Gaszählers an sich erübrigen.

Danke im vorraus

Chris

Moin Chris,

ich habe auch das kleine Kistchen von bbqkees installiert und es funktioniert bestens (siehe Details im Beitrag bzgl. Entitäten usw.).
Bei meiner 192i war das Buderus Kommunikationsmodul im Lieferumfang enthalten und hätte auch installiert werden können. Das Ding kommuniziert aber mit der Buderus Cloud und das wollte ich nicht.
Den Gasverbrauch (als m³) zeigt die Therme nur als kWh (Energie) für Heizen und Wasser an. Wenn du den genauen Gasverbrauch willst, kommst du um einen Gaszähler nicht herum.

Insgesamt ist es ein Super System. Kann ich nur empfehlen (wenn man denn sowas einsetzen will).
Gruss
Hajot

Hi Hajot,
Danke für die schnelle antwort.
Wenn ich das richtig verstehe könnte man aus den Werten kwh Heizen/Wasser, in Verbindung mit dem Gasverbrauch den man ja über einen reed sensor abgreifen könnte den Gasverbrauch für die warmwasserbereitung errechnen?

Grüße

Hab ich gar nicht dran gedacht. Ich hatte vor dem Einsatz des ESM Gateways schon so einen Reed Kontakt installiert und damit habe dann den Gasverbrauch.
Müßte ab natürlich auch andersherum gehen. Da mußt du die Umrechnungsdaten aus deiner Gasabrechnung nehmen.
Probier ich mal als “Cross Test” aus.

vg
hajot

Wäre schön wenn du dein ergebnis hier posten könntest. Dann würde ich mir das so nachbauen.

Müßte passen.
Ich berechne z.Zt. den Gasverbrauch, indem ich die ausgewerteten Impulse mittels Helfer zusammenzähle und dann eben die m³ bekomme. Dann mit der Zustandszahl und dem Brennwert multipliziere (Daten vom Versorger) und damit eben dann den Energieverbrauch in kWh habe.
Jetzt müsste ich also einen Sensor bauen, indem die kWh der Therme durch diese beiden Zahlen (Zustandszahl und Brennwert) geteilt werden. Das sollte dann doch die m³ ergeben.
Hätte den Vorteil, das ich dann die Werte für Wasser und Heizen separat habe.

Test läuft

Moin,
ich habe mit dem diesem Sensor den Gasverbrauch errechnet:

  - sensor:
      # Gasverbrauchsrechnung -Heizen- aus kWh der Therme
      - name: "Gasverbrauch Heizen"
        unique_id: "GasVerbrauchHeizen"
        unit_of_measurement: "m³"
        device_class: "gas"
        state_class: "total"
        state: >-
          {{ float(states('sensor.boiler_nrgheat') ,default=0) /0.9642/9.962 | round(3) }}

Dann kommt das dabei raus:

grafik

Das kann ich nun auch für den Gasverbrauch zum Wasserheizen erstellen.

Gruss
Hajot

1 „Gefällt mir“

Hallo in die Runde,

ich habe gestern Abend das EMS-Gateway an eine Buderus WLW186i-12 angeschlossen. Soweit hat auch alles bestens funktioniert. Es wurden 3 Geräte erkannt (allerdings haben die Gerätebezeichnungen nicht gestimmt) mit insgesamt um die 200 Entitäten.

Auf den ersten Blick hat vieles gut gepasst, einiges aber auch nicht. Zum Beispiel haben die Warmwasser Entitäten nicht wirklich zur Wärmepumpe gepasst: Die auswahlbären Stufen passten nicht).
Anpassungen der Werte in Home Assistant wurden in der Wärmepumpe übernommen.

Heute dann auf einmal Fehlermeldungen auf der Wärmepumpe:

  • Störung 1010: Keine Kommunikation über BUS-Verbindung EMS
  • Störung 1037: Außentemperaturfühler defekt, Ersatzbetrieb Heizung aktiv

Insbesondere der erste Fehler klingt mir schon stark danach, das er ggfs. durch das Gateway ausgelöst worden sein könnte. Hat hier jemand Ahnung davon? Wie könnte das passiert sein? Was würdet ihr jetzt tun?

Vielen Dank vorab.
VG

Hallo eaxus,

ich habe bei mir an der WP (WPLS.2) das EMS-Gateway (incl. direkt dazugekauftem Anschlusskabel) an den im Gerät liegenden Service-Klinkenstecker angeschlossen. Beides, das komplette EMS-Gateway und Anschlusskabel, hatte ich bei bbq-kees beschafft.
Was hast Du angeschlossen und wie? Wie verhält sich die Anlage, wenn Du das Gateway wieder entfernst?

Grüße

Auch ich habe das Gateway dort bestellt und mit dem zugehörigen Kabel am entsprechenden Service-Stecker angeschlossen. Inzwischen funktioniert die WP wieder (nach Wegnahme der Spannung), allerdings wurden diverse Fehler abgelegt. Mal sehen, wie sich das weiter entwickelt. Vllt. war es auch nur ein ungünstiger Zufall, dass es mit dem Anschluss des Gateways zusammengefallen ist. Inzwischen hängt das Gateway wieder dran, ich habe jetzt aber vorerst mal auf read-only gestellt.

Ich habe außerdem mal eine Mail an BBQ-Kees geschickt. Mal sehen, ob da was zurück kommt.

Was mich etwas gewundert hatte war der Zustand, dass Dein Außenfühler einen Fehler gezeigt hatte - der hat eigentlich einen eigenen Anschluss an der Heizung und läuft nicht über den BUS (wenn er kabelgebunden ist).

Ja, meine Vermutung ist inzwischen, dass der wirklich einen Treffer hat, der Temperaturfühler.

Hallo marx

Deine Dasboardkarten gefallen mir gut. Insbesondere die Aufteilung.

Kannst du mir zu den jeweiligen Karten den yaml Code zur Verfügung stellen?

Und noch eine Frage (auch an alle):

Wollte mit dir Automatisationsbeispiele von der Github Seite einrichten. Habe die einzelnen Schritte befolgt.

https://emsesp-github-io.translate.goog/docs/Home-Assistant/

Bei mir funktioniert es nicht. Z.B.: findet er den binary_sensor.ems_esp_shower_active nicht. Habe die yaml Datein so eins zu eins übernommen. Nur den Token auf meinen angepasst.
Wo könnte der Fehler liegen?

Hallo,
hier mal mein Code von meiner Startseite. Mittlerweile sieht die aber wieder etwas anders aus.

type: custom:vertical-stack-in-card
cards:
  - type: custom:auto-entities
    show_empty: false
    card:
      style: |
        ha-card {
          background-color: transparent; border: none; box-shadow: none;
        }
      show_name: false
      show_icon: true
      show_state: false
      type: glance
      state_color: true
      columns: 6
    filter:
      include:
        - domain: light
          state: 'on'
          options:
            tap_action:
              action: toggle
        - domain: cover
          state: closed
          options:
            tap_action:
              action: more-info
        - domain: binary_sensor
          state: 'on'
          attributes:
            device_class: motion
        - domain: binary_sensor
          state: open
          attributes:
            device_class: window
          options:
            tap_action:
              action: more-info
        - domain: binary_sensor
          state: open
          attributes:
            device_class: door
          options:
            tap_action:
              action: more-info
        - domain: binary_sensor
          state: 'on'
          attributes:
            device_class: presence
          options:
            tap_action:
              action: more-info
      exclude:
        - name: Gruppe_Licht
        - name: Gruppe_Rollladen
        - name: '*-li'
        - name: '*-re'
        - name: Gruppe_*
    sort:
      method: domain
      numeric: false
      reverse: true
  - type: custom:clock-weather-card
    entity: weather.openweathermap
    sun_entity: sun.sun
    temperature_sensor: sensor.outdoor
    weather_icon_type: line
    animated_icon: true
    forecast_rows: 5
    time_format: 24
    hide_today_section: false
    hide_forecast_section: false
    hide_clock: false
    hide_date: false
    hourly_forecast: false
    use_browser_time: true
    tap_action:
      action: navigate
      navigation_path: wetter
    hold_action:
      action: more-info
    card_mod:
      style: |
        ha-card {
          color: #EFEFEF;
          min-height:100%;
          background:url(https://www.home-assistant.io/images/dashboards/header-footer/balloons-header.png) rgba(50, 50, 50, .35);
          background-size: 100% 100%;
          background-repeat: no-repeat;
          background-position:top 0px right 0px;
          background-blend-mode: multiply;
        }
  - type: horizontal-stack
    cards:
      - type: custom:button-card
        icon: mdi:heating-coil
        entity: binary_sensor.boiler_gas
        name: Heizung
        tap_action:
          action: navigate
          navigation_path: heizung
        state:
          - value: 'off'
            icon: mdi:radiator-off
            color: lightgrey
          - value: 'on'
            icon: mdi:radiator
            color: red
        show_state: false
        state_color: true
        styles:
          card:
            - font-size: 10px
      - type: custom:button-card
        icon: mdi:security
        entity: group.contact_sensors_state_sensor
        name: Sicherheit
        tap_action:
          action: navigate
          navigation_path: sicherheit
        show_state: false
        state:
          - value: 'off'
            icon: mdi:home-plus-outline
            color: lightgreen
          - value: 'on'
            icon: mdi:home-minus-outline
            color: yellow
        state_color: true
        styles:
          card:
            - font-size: 10px
          custom_fields:
            kontakte:
              - position: absolute
              - left: 60%
              - top: 5%
              - height: 60px
              - width: 60px
              - font-size: 10px
              - line-height: 10px
            third:
              - position: absolute
              - left: 62%
              - top: 39%
              - height: 60px
              - width: 60px
              - font-size: 10px
              - line-height: 10px
            fourth:
              - position: absolute
              - left: 60%
              - top: 69%
              - height: 60px
              - width: 60px
              - font-size: 10px
              - line-height: 10px
            fith:
              - position: absolute
              - left: 60%
              - top: 5%
              - height: 60px
              - width: 60px
              - font-size: 10px
              - line-height: 10px
        custom_fields:
          kontakte: |
            [[[
                if (states['binary_sensor.gruppe_schliesskontakte'].state == "on")
                  return `<ha-icon
            icon="mdi:window-open-variant"
            style="width: 18px; height: 18px; color: lightblue; ">
            </ha-icon><span>`;
              ]]]
          third: |
            [[[
                if (states['binary_sensor.gruppe_bewegung'].state == "on")
                  return `<ha-icon
            icon="mdi:motion-sensor"
            style="width: 18px; height: 18px; color: lightblue; ">
            </ha-icon><span>`;
              ]]]
          fourth: |
            [[[
                if (states['cover.gruppe_rollladen'].state == "closed")
                  return `<ha-icon
            icon="mdi:window-shutter"
            style="width: 18px; height: 18px; color: lightblue; ">
            </ha-icon><span>`;
              ]]]
          fith: |
            [[[
                if (states['switch.presence'].state == "on")
                  return `<ha-icon
            icon="mdi:beach"
            style="width: 20px; height: 20px; color: orange; ">
            </ha-icon><span>`;
              ]]]
      - type: custom:button-card
        entity: input_select.buttonl_optionen
        name: Türklingel
        styles:
          card:
            - font-size: 10px
        tap_action:
          action: call-service
          service: input_select.select_next
          service_data:
            entity_id: input_select.button_optionen
        show_name: true
        show_label: false
        label: |
          [[[
            return 'Modus: ' + states['input_select.button_optionen'].state;
          ]]]
        show_state: false
        state:
          - value: Normal
            icon: mdi:bell-outline
            color: lightgrey
          - value: Silent
            icon: mdi:bell-off-outline
            color: organge
            styles:
              icon:
                - animation:
                    - blink 2s linear infinite
                - color: orange
          - value: Garten
            icon: mdi:shovel
            color: orange
            styles:
              icon:
                - animation:
                    - blink 2s linear infinite
      - type: custom:button-card
        entity: alarm_control_panel.alarmo
        styles:
          card:
            - font-size: 10px
        show_name: true
        show_label: false
        label: |
          [[[
            return 'Alarmanlage: ' + states['alarm_control_panel.alarmo'].state;
          ]]]
        state:
          - value: disarmed
            color: lightgrey
            icon: mdi:shield-lock-open
          - value: armed_away
            color: red
            icon: mdi:shield-lock-outline
          - value: arming
            color: orange
            icon: mdi:shield-lock-outline

Viele Grüße
Marx