So automatisierst du deine NIBE SMO S40 Wärmepumpe mit Home Assistant

So automatisierst du deine NIBE SMO S40 Wärmepumpe mit Home Assistant – thinkkreativ Blogartikel Home Assistant & NIBE SMO S40 – Automatische Wärmepumpensteuerung mit PV-Optimierung

Home Assistant & NIBE SMO S40 – Intelligente Automatisierung für Heizung und Warmwasser

Datum: 3. November 2025   |   Autor: thom7e

Mit der Kombination aus Home Assistant und der NIBE SMO S40 lässt sich eine Wärmepumpe erstaunlich präzise steuern. Das Ziel: möglichst viel kostenlosen PV-Strom direkt für Heizung und Warmwasser zu nutzen – und das ohne Komfortverlust. In diesem Artikel zeige ich, wie ich meine Wärmepumpensteuerung komplett automatisiert habe – inklusive YAML-Code, Sensorlogik und Integration in meine eigene API.


1️⃣ Architektur & Grundidee

Die SMO S40 übernimmt weiterhin die Regelung – Home Assistant greift nur unterstützend ein. Ich habe die Kommunikation so aufgebaut, dass die Wärmepumpe über myUplink in HA eingebunden ist, während alle PV-Werte von meinem eigenen REST-API-Endpoint stammen.

  • PV-Daten via https://thinkkreativ.de/wechselrichter/api/current/
  • SMO-Sensordaten über die myUplink-Integration
  • Steuerung über HA-Automationen (z. B. number.smo_s40_degree_minutes)

2️⃣ Sensor-Setup in configuration.yaml

Die Sensoren sind das Fundament jeder Automatisierung. Ich lese sowohl PV-Leistung als auch Verbrauchs- und Miningdaten aus meiner API. Daraus lassen sich später Vergleiche und prozentuale Deckungen berechnen.

sensor:
  - platform: rest
    name: Solarüberschuss
    resource: https://thinkkreativ.de/wechselrichter/api/current/
    value_template: "{{ (value_json.powerdc1_w - value_json.feedinpower_w) | round(0) }}"
    unit_of_measurement: "W"
    scan_interval: 30
  

Erklärung: Hier wird aus der API-Antwort der aktuelle PV-Überschuss berechnet – also die Differenz aus erzeugter DC-Leistung und eingespeister Leistung ins Netz.

template:
  - sensor:
      - name: "PV Deckung Wärmepumpe"
        unit_of_measurement: "%"
        state: >
          {% set wp = states('sensor.wp_verbrauch_w') | float(0) %}
          {% set pv = states('sensor.hausverbrauch') | float(0) %}
          {% if wp == 0 %}
            0
          {% else %}
            {{ (pv / wp * 100) | round(0) }}
          {% endif %}
  

Erklärung: Dieser Template-Sensor berechnet, wie viel Prozent des Wärmepumpenverbrauchs aktuell durch PV-Strom gedeckt werden. Damit lässt sich später im Dashboard oder in Automationen dynamisch reagieren.


3️⃣ Warmwasser-Automationen

WW Tag (Sonne + PV-Überschuss)

- id: 'ww_tag_pv_ueberschuss'
  alias: WW Tag (Sonne + PV-Überschuss)
  trigger:
    - platform: time_pattern
      minutes: "/5"
  condition:
    - condition: state
      entity_id: sun.sun
      state: above_horizon
    - condition: numeric_state
      entity_id: sensor.solarüberschuss
      above: 800
  action:
    - service: select.select_option
      target:
        entity_id: select.smo_s40_hot_water_demand
      data:
        option: Medium
  mode: single
  

Was passiert hier? Alle 5 Minuten prüft Home Assistant: scheint die Sonne und ist der PV-Überschuss > 800 W, wird das Warmwasser auf „Medium“ gestellt. So nutzt die Wärmepumpe tagsüber Solarstrom für die Warmwasserbereitung.

WW Nacht-Check

- id: 'ww_nacht_check'
  alias: WW Nacht-Check (Warm halten)
  trigger:
    - platform: time
      at: "23:00:00"
    - platform: time
      at: "06:00:00"
  condition:
    - condition: numeric_state
      entity_id: sensor.smo_s40_hot_water_top_bt7
      below: 42
  action:
    - service: select.select_option
      target:
        entity_id: select.smo_s40_hot_water_demand
      data:
        option: Medium
    - delay: "00:45:00"
    - service: select.select_option
      target:
        entity_id: select.smo_s40_hot_water_demand
      data:
        option: Low
  mode: single
  

Was passiert hier? Nachts (23 Uhr und 6 Uhr) prüft die Automation, ob das obere Warmwasser-Fühler-Thermometer unter 42 °C fällt. Falls ja, wird für 45 Minuten auf „Medium“ geheizt und danach wieder auf „Low“ geschaltet. Damit bleibt das Wasser morgens warm, ohne unnötig durchzulaufen.


4️⃣ Heizungs-Automationen mit PV-Boost

- id: 'heizung_pv_boost'
  alias: Heizung PV-Boost
  trigger:
    - platform: time_pattern
      minutes: "/5"
  condition:
    - condition: numeric_state
      entity_id: sensor.solarüberschuss
      above: 1500
  action:
    - service: number.set_value
      target:
        entity_id: number.smo_s40_degree_minutes
      data:
        value: -40
  mode: single
  

Erklärung: Wenn mehr als 1,5 kW PV-Überschuss vorhanden sind, wird der Reglerwert degree_minutes auf –40 gesetzt. Das bedeutet: die Wärmepumpe darf etwas stärker heizen – nutzt dabei aber ausschließlich Solarstrom.

- id: 'heizung_pv_boost_ende'
  alias: Heizung PV-Boost Ende
  trigger:
    - platform: time_pattern
      minutes: "/5"
  condition:
    - condition: numeric_state
      entity_id: sensor.solarüberschuss
      below: 1500
  action:
    - service: number.set_value
      target:
        entity_id: number.smo_s40_degree_minutes
      data:
        value: -60
  mode: single
  

Erklärung: Wenn die Sonne verschwindet oder der Überschuss sinkt, geht die Regelung automatisch zurück in den Normalwert (–60 DM). Dadurch bleibt die Raumtemperatur stabil, ohne Energie zu verschwenden.


5️⃣ Nachtabsenkung über die NIBE SMO S40

Ursprünglich wollte ich die Nachtabsenkung über Home Assistant regeln, aber das führte zu falschen Vorlauftemperaturen. Die saubere Lösung: direkt in der SMO S40 einstellen.

NIBE SMO S40 Nachtmodus Screenshot
Mein Nachtmodus: 18:00 – 06:00 Uhr, Raumoffset –3 K für die Fußbodenheizung (FBH)

Das funktioniert perfekt: Die Wärmepumpe kennt ihre Heizkurve und senkt nachts automatisch die Vorlauftemperatur – ohne dass Home Assistant in die Regelung eingreift.


6️⃣ Fazit: Effizienz & Komfort vereint

  • PV-Strom wird gezielt für Warmwasser und Heizung genutzt
  • Automatische Anpassung an Wetter und Tageszeit
  • Heizstab-Einsätze lassen sich leicht überwachen
  • Nachtabsenkung läuft direkt in der Wärmepumpe

Home Assistant übernimmt die Intelligenz, die NIBE S40 die Physik – eine perfekte Symbiose für effizientes, automatisiertes Heizen.

Autor: thom7e   |   Stand: November 2025   |   Quelle: thinkkreativ.de