Je SMA omvormer slim uitzetten via web, modbus of Home Assistant

4 juni 2025

Met en SMA omvormer zijn de opties om je teruglevering terug te regelen beperkt. Naast de universele mogelijkheden kun je via de web interface de teruglevering beperken tot alleen je eigen verbruik. Maar als groene nerd wil je dit natuurlijk kunnen automatiseren, zodat bij negatieve energieprijzen automatisch de teruglevering wordt gestopt. Gelukkig ondersteunt SMA modbus en kun je via die route je de teruglevering van je zonnepanelen stoppen. Op deze pagina beschrijven we hoe je dat doet met Home Assistant.

Geschikt voor

Sunny Boy
Sunny Tripower

Succesvol getest met

SMA TriPower ZW

Met dank aan

Fonske
Jojan265
AUijtdehaag

Universele methoden om je omvormer uit te schakelen

In dit artikel focussen we ons op de manieren om specifiek een Huawei omvormer te laten stoppen met het produceren van zonne-energie. Er zijn ook nog een aantal universele methoden die je kunt toepassen om je omvormer uit te schakelen. Meer over deze universele methoden lees je in het dossier zonnepanelen uitzetten.

De teruglevering limiteren of stoppen via web

De Sunny Home Manager 2.0 (SHM 2.0) functioneert als het centrale controle- en beheersysteem voor intelligent energiemanagement binnen het SMA ecosysteem. Voor gebruikers die beschikken over een SHM 2.0, biedt dit systeem doorgaans de meest eenvoudige methode om op negatieve energieprijzen te reageren. De bijbehorende energiemeter op het netaansluitpunt is hierbij cruciaal, omdat de SHM 2.0 real-time data over de energiestroom van en naar het net nodig heeft om de omvormer(s) nauwkeurig aan te sturen.

Hoewel de productie van zonnestroom via het Sunny Portal niet volledig gestopt kan worden, biedt SHM 2.0 wel de mogelijkheid om de teruglevering naar het net op 0 kW (of 0%) in te stellen. In deze configuratie blijven de zonnepanelen stroom produceren voor direct eigen verbruik binnen de woning (en dus ook voor het laden van eventueel aanwezige thuisbatterijen). Er vindt echter geen export van stroom naar het elektriciteitsnet plaats.  

  1. Log in op het Sunny Portal.
  2. Navigeer naar ‘Configuratie’.
  3. Ga naar ‘Installatie-eigenschappen’.
  4. Selecteer het tabblad ‘Parameters’.
  5. Scroll naar beneden tot de sectie ‘Bewerking van de teruglevering van werkelijk vermogen’.
  6. Klik op ‘Bewerken’.
  7. Stel de teruglevering in op 0 kW of 0%.
  8. Klik onderaan de pagina op ‘Opslaan’ om de wijziging door te voeren.  

Vergeet niet deze instelling weer ongedaan te maken (bijvoorbeeld terugzetten naar 100% of de standaardwaarde) zodra de energieprijzen weer positief zijn, om te voorkomen dat potentiële opbrengsten uit teruglevering worden misgelopen.  

De teruglevering slim stoppen of beperken via modbus en Home Assistant

Maar we zijn niet voor een gat te vangen. Wanneer je beschikt over installateursrechten, zijn er meer opties beschikbaar om de teruglevering te beperken of te stoppen. Met een installateursaccount kun je namelijk bij een ‘zero-export’ en ‘vermogensbegrenzing’ functie.

Modbus-registers en exacte instellingen kunnen verschillen per SMA omvormermodel en firmwareversie. Deze instructies zijn gebaseerd op gedeelde gebruikerservaringen en dienen als leidraad.

(Optioneel) Landnorm controleren: Een gebruiker meldde dat bij vreemde waarden op Modbus-register 41255, het controleren en eventueel aanpassen van de “Landnorm” (bijvoorbeeld naar [NL]) kan helpen. Deze instelling is vaak te vinden onder “Netbewaking”.

Benodigdheden:

  • Een SMA omvormer die Modbus TCP ondersteunt.
  • Installateursrechten voor je SMA omvormer (om Modbus in te schakelen en instellingen te wijzigen).  
  • Een werkende Home Assistant installatie.

Stap 1: SMA omvormer configureren

  1. Inloggen op de omvormer: Log in op de webinterface van je SMA omvormer met installateursrechten.  
  2. Modbus TCP inschakelen: Zoek de Modbus-instellingen (vaak onder “Apparaatparameters” -> “Modbus”). Schakel de Modbus TCP-server in. De standaardpoort is 502.  
  3. Externe aansturing activeren:
    • Navigeer naar de instellingen voor vermogensregeling (“Installatie- en apparaatbesturing” -> “Configuratie werkvermogen” of “System and device control” -> “Grid connection point”).
    • Stel de parameter “Bedrijfsmodus voorinstelling actief vermogen” (of een vergelijkbare benaming zoals “Operating mode of active power limitation”) in op “Externe voorinstelling” (External) of “External active power setpoint”. Dit staat de omvormer toe om sturing van een extern systeem zoals Home Assistant te accepteren.  

Stap 2: Home Assistant Modbus integratie configureren

De Modbus-integratie is een kernintegratie in Home Assistant. Je voegt deze toe en configureert deze doorgaans via het configuration.yaml bestand van Home Assistant.

  1. Open je configuration.yaml bestand. Dit bestand bevindt zich in de hoofdconfiguratiemap van je Home Assistant installatie. Je kunt dit bewerken via de “File editor” add-on in Home Assistant.
  2. Voeg de Modbus-configuratie toe. Kopieer en plak de onderstaande YAML-code in je configuration.yaml bestand. Als je al een modbus: sectie hebt, voeg dan een nieuw item (beginnend met - type: tcp) toe onder die sectie.
  3. Pas het IP-adres (host) aan naar het IP-adres van jouw SMA omvormer.

YAML

modbus:
  - type: tcp
    host: 192.168.xxx.xxx # VERVANG DIT MET HET IP-ADRES VAN JE SMA OMVORMER
    port: 502
    name: "sma_modbus_hub" # Je kunt hier een eigen naam kiezen
    delay: 5
    message_wait_milliseconds: 600
    timeout: 5
    sensors:
      # Sensor om het actuele vermogen uit te lezen
      - name: "SMA Actueel Vermogen"
        unique_id: sma_actueel_vermogen
        unit_of_measurement: W
        slave: 3 # Standaard Unit ID voor SMA omvormers
        address: 30775 # Register voor actueel vermogen (kan per model verschillen, zie de SMA documentatie)
        input_type: input
        data_type: int32
        device_class: power
        state_class: measurement

      # Sensor om de huidige ingestelde limiet uit te lezen
      - name: "SMA Huidige Limiet Watt"
        unique_id: sma_huidige_limiet_watt
        unit_of_measurement: W
        slave: 3
        address: 31405 # Register voor uitlezen ingestelde limiet in Watt
        input_type: input
        data_type: int32
        device_class: power
        state_class: measurement

      # Sensor voor het uitlezen van de procentuele limiet (Holding Register)
      # Dit is ook het register waar we later naar schrijven
      - name: "SMA Ingestelde limiet procent"
        unique_id: sma_ingestelde_limiet_procent
        unit_of_measurement: "%"
        slave: 3
        address: 41255 # Holding register voor vermogenslimiet in % 
        input_type: holding
        data_type: int16 # Let op: data_type kan int16 of uint16 zijn afhankelijk van omvormer
        scale: 0.01 # Waarde 5000 wordt 50.00%
        precision: 0 # Of 2 voor decimalen indien gewenst
        state_class: measurement
    # Voeg hier eventueel andere sensoren toe die je wilt uitlezen (temp, isolatieweerstand etc.)
Code language: PHP (php)

Uitleg van de configuratie:

  • host: Het IP-adres van je SMA omvormer.
  • port: De Modbus TCP poort, standaard 502.
  • name: Een zelfgekozen naam voor deze Modbus hub.
  • slave: 3: De Unit ID (of Slave ID) van de SMA omvormer. Dit is doorgaans 3 voor directe communicatie met SMA omvormers.  
  • address: Het Modbus-registeradres. De adressen 30775 (actueel vermogen), 31405 (uitlezen limiet in Watt) en 41255 (instellen/uitlezen limiet in %) zijn gebaseerd op de gedeelde gebruikerservaringen. Raadpleeg de officiële SMA Modbus-documentatie voor jouw specifieke omvormer voor de correcte en officieel ondersteunde registers.  
  • input_type: input voor read-only input registers, holding voor holding registers die gelezen en geschreven kunnen worden.
  • data_type: Het type data in het register (bijv. int32, int16).
  • scale en precision: Voor het correct weergeven van de waarden. Register 41255 wordt vaak gebruikt met een schaal van 0.01 omdat de omvormer een waarde als 5000 kan verwachten voor 50.00%.

Stap 3: Home Assistant helper aanmaken limietinstelling

Om de vermogenslimiet eenvoudig via de Home Assistant interface in te stellen, maak je een input_number helper aan:

  1. Ga in Home Assistant naar “Instellingen” -> “Apparaten & Diensten” -> tabblad “Helpers”.
  2. Klik op “+ Helper aanmaken”.
  3. Kies “Nummer”.
  4. Geef het een naam, bijvoorbeeld “SMA vermogenslimiet percentage”.
  5. Stel een minimum (bijv. 0), maximum (bijv. 100) en stapgrootte (bijv. 1) in.
  6. Kies een eenheid, bijvoorbeeld %.
  7. Klik op “Aanmaken”. De entiteit ID zal zoiets zijn als input_number.sma_vermogenslimiet_percentage.

Stap 4: Home Assistant automatisering voor het instellen van de limiet

Maak een automatisering die de waarde van de input_number helper naar het Modbus-register van de omvormer schrijft.

YAML

alias: SMA limiet instellen via Modbus
description: Stelt de terugleverlimiet van de SMA omvormer in via Modbus
trigger:
  - platform: state
    entity_id: input_number.sma_vermogenslimiet_percentage # VERVANG DIT met de ID van jouw input_number
condition: # Geen condities nodig voor dit basisvoorbeeld
action:
  - service: modbus.write_register
    data:
      hub: sma_modbus_hub # Naam van je Modbus hub uit configuration.yaml
      slave: 3 # Unit ID van de omvormer
      address: 41255 # Het holding register voor de vermogenslimiet in %
      # De waarde moet vaak geschaald worden. Als het register 0-10000 verwacht voor 0-100%:
      value: "{{ states('input_number.sma_vermogenslimiet_percentage') | float(0) * 100 | int }}"
      # Als het register direct 0-100 verwacht:
      # value: "{{ states('input_number.sma_vermogenslimiet_percentage') | int }}"
mode: single
Code language: PHP (php)

Uitleg van de automatisering:

  • trigger: De automatisering start wanneer de waarde van de input_number.sma_vermogenslimiet_percentage verandert.
  • action: Roept de modbus.write_register service aan.
    • hub: Verwijst naar de naam van je Modbus-configuratie in configuration.yaml.
    • address: 41255: Het Modbus holding register dat je wilt beschrijven.
    • value: De waarde die je wilt schrijven. De template {{ states('input_number.sma_vermogenslimiet_percentage') | float(0) * 100 | int }} neemt de procentuele waarde van de helper (bijv. 50), vermenigvuldigt deze met 100 (resulteert in 5000), en stuurt dit als integer. Pas deze formule aan als jouw omvormer een andere schaal verwacht voor dit register.

Hier een voorbeeld. Voor de waarde van de numeric input te veranderen, stuurt de automatisering het percentage via modbus naar je omvormer.

Stap 5: Slim aansturen op basis van dynamische energieprijzen

Nu de basis gelegd is, kunnen we de automatisering instellen om de teruglevering tot 0 terug te schroeven als de energieprijs negatief is. Onderstaand voorbeeld maakt daarbij gebruik van de Tibber integratie om de dynamische energietarieven uit te lezen.

alias: SMA teruglevering beperken bij negatieve energieprijs
description: Beperkt de teruglevering van de SMA omvormer tot 0% wanneer de energieprijs negatief is, en zet terug naar 100% als de prijs niet negatief is.
trigger:
  - platform: state
    entity_id:
      - sensor.electricity_price_tibber
condition:
action:
  - if:
      - condition: numeric_state
        entity_id: sensor.electricity_price_tibber 
        below: 0
    then:
      # Actie als de prijs negatief is: zet SMA omvormer limiet op 0%
      - service: modbus.write_register
        data:
          hub: sma_modbus_hub # Naam van je Modbus hub
          slave: 3 # Unit ID van je SMA omvormer
          address: 41255 # Modbus register voor vermogenslimiet in %
          value: 0 # Waarde voor 0% (0 * 100)
      - service: notify.notify # Vervang 'notify.notify' door jouw notificatiedienst
        metadata: {}
        data:
          message: >-
            Energieprijs is negatief. Teruglevering SMA omvormer ingesteld op 0%.
          title: Negatieve Energieprijs Actie
    else:
      # Actie als de prijs niet negatief is (0 of hoger): zet SMA omvormer limiet op 100%
      - service: modbus.write_register
        data:
          hub: sma_modbus_hub # Naam van je Modbus hub
          slave: 3 # Unit ID van je SMA omvormer
          address: 41255 # Modbus register voor vermogenslimiet in %
          value: 10000 # Waarde voor 100% (100 * 100)
      - service: notify.notify # Optioneel: notificatie dat de limiet is hersteld
        metadata: {}
        data:
          message: >-
            Energieprijs is niet langer negatief. Teruglevering SMA omvormer ingesteld op 100%.
          title: Energieprijs Normaal
mode: singleCode language: PHP (php)

Laat je reactie achter

Je e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met een *

4 reacties op “Je SMA omvormer slim uitzetten via web, modbus of Home Assistant

  1. Gregory jun 5, 2025

    Ik ben al een tijdje op zoeken naar een oplossing als deze, en dit artikel komt heel aardig in de buurt. Bedankt om dit te delen!

    Hopelijk kan je mij over de laatste hindernis helpen.
    Ik bezit een Sunny Home Manager 2 en een Sunny tripower 8.0 SE

    Het begrenzen van de teruglevering zoals beschreven in “De teruglevering limiteren of stoppen via web” werkt zoals het hoort, al heb ik bij mij een extra optie:
    – geen begrenzing
    – max %
    – max kW
    – Alleen externe richtlijnen implementeren (–> extra optie die niet in jouw screenshot staat)

    Nu wil ik dit ook automatiseren via modbus, maar hier zit ik vast.
    – modbus op omvormer staat aan
    – omvormer instelling “Bedr.mod. voorinstel. act. vermogen” = “Externe instelling werkelijk vermogen”
    – uitlezen van modbus data lukt zonder probleem
    – zelfs het uitvoeren van een reboot van de omvormer via modbus lukt (modbus adres 40077)

    Maar dan:
    – uitlezen van adres 41255 geeft waarde 0, maar ik zie geen beperking in teruglevering
    – ik kan waardes schrijven naar 41255 en ook terug uitlezen, maar geen effect op de teruglevering

    Vragen:
    – zie jij een mogelijke issue?
    – als jij in de Sunny Portal (web) een waarde ingeeft bij begrenzing in %, zie je die waarde dan ook terug komen in de modbus 41255?
    En omgekeerd ook? Zie je de waardes die je schrijft naar modbus 41255 ook terug komen op de Sunny Portal?

    • Hi Gregoy,

      Ik zou wel verwachten dat je die waarden terugziet ja. Ik weet wel dat omvormers vaak erg traag reageren en dat het wellicht daar in zou kunnen zitten.

      Ik heb nog eens wat modbus handleidingen van SMA bekeken, en daar hebben ze het soms ook over modbus register 41167, zie https://files.sma.de/downloads/EDMx-Modbus-TI-en-16.pdf.

      Wellicht is dat nog iets om te proberen?

      • Gregory jun 7, 2025

        Hi Danny,
        Bedankt voor de snelle response!

        40493 en 41167 lijken niet te bestaan voor mijn omvormer.

        Wel ergens gelezen dat SMA in Q3 een update van Home Manager zal releasen die rekening houdt met dynamische prijzen. En hopelijk ook zero export automatiseert adhv de dynamische prijzen…

        Ik zal nog even geduld moeten oefenen.

  2. Hy dear, I hope this finds you well.

    After a few days we reached your site and saw that the blog of your site is most beautiful and also traffic is good. So we decided to post an article and link instructions on your website. We know it takes some fee. So we agreed to pay a fee. Please tell us all your detail as like price of guest post and link instructions.

    We are waiting for your good response.

    With best regards