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

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
Succesvol getest met
Met dank aan
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.
- Log in op het Sunny Portal.
- Navigeer naar ‘Configuratie’.
- Ga naar ‘Installatie-eigenschappen’.
- Selecteer het tabblad ‘Parameters’.
- Scroll naar beneden tot de sectie ‘Bewerking van de teruglevering van werkelijk vermogen’.

- Klik op ‘Bewerken’.
- Stel de teruglevering in op 0 kW of 0%.
- 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
- Inloggen op de omvormer: Log in op de webinterface van je SMA omvormer met installateursrechten.
- Modbus TCP inschakelen: Zoek de Modbus-instellingen (vaak onder “Apparaatparameters” -> “Modbus”). Schakel de Modbus TCP-server in. De standaardpoort is
502. - 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.
- Open je
configuration.yamlbestand. 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. - Voeg de Modbus-configuratie toe. Kopieer en plak de onderstaande YAML-code in je
configuration.yamlbestand. Als je al eenmodbus:sectie hebt, voeg dan een nieuw item (beginnend met- type: tcp) toe onder die sectie. - 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.)
Uitleg van de configuratie:
host: Het IP-adres van je SMA omvormer.port: De Modbus TCP poort, standaard502.name: Een zelfgekozen naam voor deze Modbus hub.slave: 3: De Unit ID (of Slave ID) van de SMA omvormer. Dit is doorgaans3voor directe communicatie met SMA omvormers.address: Het Modbus-registeradres. De adressen30775(actueel vermogen),31405(uitlezen limiet in Watt) en41255(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:inputvoor read-only input registers,holdingvoor holding registers die gelezen en geschreven kunnen worden.data_type: Het type data in het register (bijv.int32,int16).scaleenprecision: Voor het correct weergeven van de waarden. Register41255wordt vaak gebruikt met een schaal van0.01omdat de omvormer een waarde als5000kan 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:
- Ga in Home Assistant naar “Instellingen” -> “Apparaten & Diensten” -> tabblad “Helpers”.
- Klik op “+ Helper aanmaken”.
- Kies “Nummer”.
- Geef het een naam, bijvoorbeeld “SMA vermogenslimiet percentage”.
- Stel een minimum (bijv.
0), maximum (bijv.100) en stapgrootte (bijv.1) in. - Kies een eenheid, bijvoorbeeld
%. - 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
Uitleg van de automatisering:
trigger: De automatisering start wanneer de waarde van deinput_number.sma_vermogenslimiet_percentageverandert.action: Roept demodbus.write_registerservice aan.hub: Verwijst naar de naam van je Modbus-configuratie inconfiguration.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: single
Alternatief: DC-vermogensbegrenzing in Watt (register 40915)
Lezer Rimco stuurt een alternatieve aanpak in die bij hem werkt op de SMA Sunny Tripower 10.0 (firmware 4.10.10.R). Het verschil met de bovenstaande oplossing zit in twee dingen:
- De methode hierboven gebruikt register 41255 — dat is de vermogenslimiet aan de AC-zijde in procenten (0–10000 = 0–100%). Je schrijft één 16-bit register.
- Rimco’s methode gebruikt register 40915 — dat is de vermogenslimiet aan de DC-zijde in Watt (absoluut). Dit is een 32-bit register, dus je schrijft twee waarden tegelijk.
Voeg deze sensor toe aan je modbus.yaml of configuration.yaml:
- name: "SetActivePowerLimit"
unique_id: setactivepowerlimit
slave: 3
address: 40915
input_type: holding
unit_of_measurement: Watt
state_class: measurement
precision: 0
data_type: uint32
En gebruik deze twee automatiseringen:
alias: "SMA DC-limiet: stop bij negatieve prijs"
trigger:
- trigger: numeric_state
entity_id: sensor.zonneplan_current_electricity_tariff # vervang door jouw prijssensor
below: 0
for:
seconds: 10
actions:
- action: modbus.write_register
data:
hub: TCP_SMA
address: 40915
slave: 3
value:
- 0
- 0
mode: single
alias: "SMA DC-limiet: herstel bij positieve prijs"
trigger:
- trigger: numeric_state
entity_id: sensor.zonneplan_current_electricity_tariff # vervang door jouw prijssensor
above: 0
for:
seconds: 10
actions:
- action: modbus.write_register
data:
hub: TCP_SMA
address: 40915
slave: 3
value:
- 0
- 10000 # 10.000 Watt — pas aan naar het maximale vermogen van jouw omvormer
mode: single
Let op: bij het herstellen schrijft deze methode een absolute waarde in Watt terug (hier 10.000 W, passend bij een Tripower 10.0). Heb je een ander model, dan moet je deze waarde aanpassen naar het maximale DC-vermogen van jouw omvormer. De procentuele methode via register 41255 (hierboven) is in dat opzicht universeler.









Gregory
5 juni 2025Ik 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?
Danny Oosterveer
5 juni 2025Hi 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
7 juni 2025Hi 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.
Fonske
17 augustus 2025Hoi
Ik vermoed dat de HM2.0 registratie in sunnyvportal er voor zorgt dat je niet kan regelen op je omvormer
De waardes worden telkens overschreven door de portal/hm 2.0
Zie ook:
https://userbase.be/forum/viewtopic.php?p=1032078#p1032078
Ik heb mijn sunnyvportal installatie verwijderd en kan weer regelen op de omvormer.
mvanrijnen
1 juli 2025Met deze info ben ik op het goede pad gezet.
Ik heb een SMA STP5.0 & een HM 2.0
In het geval van deze combi (is voor mij) de goede oplossing, om modbus ook voor de HM aan te zetten. Vervolgens schrijven naar register 40016 van de HM (niet de STP!)
dus in het kort:
(configuration.yaml)
modbus:
– type: tcp
host: 192.168.1.199 # VERVANG DIT MET HET IP-ADRES VAN JE SMA OMVORMER
port: 502
name: “modbus_homemanager20” # Je kunt hier een eigen naam kiezen
delay: 5
message_wait_milliseconds: 600
timeout: 5
automation (op boolean helper)
alias: SMA_HOMEMAN_TERUGLEVERING
description: “”
triggers:
– trigger: state
entity_id: input_boolean.pvgarage_terugleveringaanuit
conditions: []
actions:
– if:
– condition: state
entity_id: input_boolean.pvgarage_terugleveringaanuit
state: “on”
then:
– action: modbus.write_register
data:
hub: modbus_homemanager20
slave: 2
address: 40016
value: 100
else:
– action: modbus.write_register
data:
hub: modbus_homemanager20
slave: 2
address: 40016
value: 0
mode: single
mvanrijnen
1 juli 2025ben nog even aan het uitzoeken hoe het zit met de 60minuten herhaling zoals vermeld in de modbus spec van deHM.
Danny Oosterveer
11 juli 2025Thnx, wat goed om te horen!
Robin Haba
17 augustus 2025Wij hebben op 2 daken verschillende systemen liggen: 1 met een sma tripower en de ander met Enphase micro omvormers. Een thuisbatterij overwegen wij serieus, bij zon de ene dag gebruik maken van de panelen en de batterij opladen, de andere dag om de batterij leeg te trekken.
Maar dan moeten de panelen dus wel uit staan zodat wij in de zomer niet te veel gaan terug leveren.
Met veel interesse dit stuk zitten lezen en overweeg om mij ook te verdiepen in een Raspberry.
Nu (pas🙃) komt mijn vraag: i Het is mij niet duidelijk of ik de Sunny Home Manager (€600,- +) nu wel of niet nodig heb als ik de boel wil regelen via modbus en home assistent.
Ton Annegarn
26 augustus 2025Je kan ipv de Sunny Home Manager (€ 600,- +) gewoon de HomeWizard P1-meter van € 25,- nemen.
Ik heb zelf een 1 jr vast contract met terugleverschalen. Mijn verwachte netafname is 3200 kWh. Ik wil dus niet meer dan 3000 kWh terugleveren à10 ct per kWh. Mijn vergoeding boven de saldering is 6 ct per kW. De schalen gaan per 1000 kWh.
Ik gebruik de volgende automatisering om de slider te “besturen”:
alias: ZeroExport
description: ”
triggers:
– trigger: state
entity_id:
– sensor.p1_meter_power
conditions:
– condition: template
value_template: “{% set p1_pwr = states(‘sensor.p1_meter_power’) | float(0) %}
{% if p1_pwr 15 %}
true
{% else %}
false
{% endif %}”
actions:
– action: input_number.set_value
target:
entity_id: input_number.sma_vermogenslimiet_percentage
data:
value: “{# Modbus scan interval 15 seconds. sb5 interval every second #}
{% set c_1percent = 5000 / 100 %}
{% set sma_actual = states(‘sensor.sma_actueel_vermogen_mb’) | float(0) %}
{% set sma_pwr = states(‘sensor.sb5_0_1av_41_197_grid_power’) | float(0) %}
{% set p1_pwr = states(‘sensor.p1_meter_power’) | float(0) %}
{% if sma_actual < 0 %} {# after sunset #}
0
{% elif sma_pwr == 0 %} {# pretty dark #}
100
{% else %}
{% set lim = ((p1_pwr + sma_pwr) / c_1percent) | round(1) %}
{{ max( min(lim, 100), 0) }} {# 0 – 100 #}
{% endif %}"
– delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
mode: single
De automatisering doet dus niets als de import/export tussen de -15 en +15 kW ligt.
Mijn Sunny Boy kan max 5000 watt aan en 1% is dus 50 watt. Ik stuur de slider daaron met 1 decimaal achter de komma (5 watt).
Ton Annegarn
26 augustus 2025Klein foutje bij het kopiëren.
{% if p1_pwr 15 %}
moet zijn
{% if p1_pwr 15 %}
De SMA omvormer geeft een negatieve waarde (sma_actual) na sunset als de omvormer automatisch uitgaat.
De delay van 10 seconden is om flipperen van de slider te voorkomen. De omvormer reageert best snel op wijzigingen van 41255 # Modbus register voor vermogenslimiet in %.
Ton Annegarn
26 augustus 2025“{% if p1_pwr 15 %}”
Blijkbaar een webpage probleem.
Hierboven staat if p1_pwr kleiner dan -15 or p1_pwr groter dan 15
Kodjo
23 maart 2026Ik heb je automatisering gekopieerd. Werkt goed! Zat alleen ff te stoeien met de ” {% if p1_pwr 15 %}” maar zo klopt die toch?
Kodjo
23 maart 2026JE hebt gelijk, de code is niet te plakken in de reactie. Mijn vorige bijdrage is dus ook onjuist…
Danny Oosterveer
23 maart 2026Dat dus 🙂
Danny Oosterveer
23 maart 2026Wat Ton denk ik bedoelde is dat uit zijn reactie de kleiner dan / groter dan tekens zijn verwijderd. De website zal die als HTML karakter beschouwen en verwijderen. Maar dan weet je dat die tekens er nog bij moeten.
Thijs
27 augustus 2025Voor de Sunny tripower kan ik nu in homeassistant ook het vermogen regelen, enige is dat ik 40023 moest gebruiken voor de sma_ingestelde_limiet_procent.
Ik wil eigenlijk ook mijn teruglevering kunnen monitoren en eventueel zelf stop zetten. Ik zit nu bijna op een overgang binnen de terugleverschalen die 120 euro meer kost. Contract loopt af in Oktober dus een beetje hierop sturen is denk ik wel een goed idee.
Ik kan natuurlijk het vermogen terugschroeven zodanig dat ik nauwelijks meer terug lever maar dit is wel lastig te voorspellen. Hoe zou ik dit slim kunnen inregelen?
Thijs
27 augustus 2025ik ben vergeten de 4.0 achter Sunny Tripower te zetten.
Ton Annegarn
27 augustus 2025Zie vorige bericht aan Robin Haba. Een P1 meter geeft je alle informatie over je net afname / injectie.
Yen
24 april 2026Bedankt voor het artikel!
Ik loop helaas vast bij het aanpassen van ‘Bedr.mod. voorinstel. act. vermogen’ naar ‘Externe instelling werkelijk vermogen’. Ik ben aangemeld als installer, maar er staat een slotje naast deze configuratie met de melding: ‘Om deze parameter te kunnen wijzigen, moet u zich in het menu Gebruikersinstellingen aanmelden met uw persoonlijke SMA Grid Guard-code.’. Zijn hier oplossingen voor?
Arnoud
24 april 2026Ik heb dit artikel een tijdje geleden ook uitgeprobeerd, maar met mijn sunny boy 2.0 gaf dat veel problemen. Inloggen als installateur, GridGuard code verkregen, maar stabiel sturen: Nee. Ik heb met behulp van ChatGpt de sunspec modbus kant uitgetest (unit 126/127) Dat werkt nu netjes stabiel, ik heb standaard een teruglevering van ongeveer 100W die door Home assistant netjes wordt aangepast o.b.v. vraag vanuit de HomeWizard P1 meter. Mijn advies? vraag Chatgpt. die begeleidde me volledig door het proces.
Yen
28 april 2026Bedankt voor het delen, Arnoud. Zelf kreeg ik het helaas ook niet werkend. ik vrees dat de omvormer de registers negeert zolang de ‘Bedr.mod. voorinstel. act. vermogen’ setting niet op ‘Externe instelling werkelijk vermogen’ staat, waarvoor ik een grid-guard code nodig heb. Dit kan ik voor zover ik begrijp niet bekomen als gebruiker.
broke23
9 mei 2026grid guard code van sma kan je wel aanvragen hoor:
https://my.sma-service.com/s/osc-30-grid-guard-code?language=en_US
Danny Oosterveer
10 mei 2026Hi broke23,
Dank voor de tip! Goed om te weten dat de grid guard code via die SMA-service-pagina aan te vragen is. Ga ik ook in ’t stuk zetten, thnx!
Laurens Nijland
21 mei 2026Hey Danny,
Het toevoegen van de Grid Guard onder ‘benodigdheden’ zal toekomstige lezers wellicht behoeden voor het onnodig opgeven van dit project.
En @broke23, Enorm bedankt voor het delen van de link! Ik had het bijna opgegeven omdat de artikelen die ik over de GridGuard las, mij het idee gaven dat het alleen beschikbaar is voor gecertificeerde elektriciens.
Mark S.
28 mei 2026Ik probeer ook een dynamische productie limiet in te stellen, maar lijk (ook) te stranden op de grid guard code. Net (als particulier) proberen aan te vragen: kan niet. Is het één van jullie wel gelukt? Is er een bevriende installateur die codes kan geven?
MHV642
30 mei 2026Ik had dezelfde problemen, en alle registers geprobeerd, maar door register 40915 te gebruiken (zie hierboven) geen SMA Grid Guard code nodig gehad (Sunny boy 1.5)
Rimco Visser
10 mei 2026Ik zie heel wat oplossingen voor Home Asssitant, voor mij werkt dit met mijn SUNNY TRIPOWER 10.0, firmware 4.10.10.R.
Het modbus register 40915 is het vermogen aan DC zijde in Watt, een 32 bits register, dus ook 2 registers schrijven.
modbus.yaml
– name: “TCP_SMA”
type: tcp
host: 192.168.178.23
port: 502
sensors:
– name: SetActivePowerLimit
unique_id: setactivepowerlimit
slave: 3
address: 40915
input_type: holding
unit_of_measurement: Watt
state_class: measurement
precision: 0
data_type: uint32
automations.yaml
– id: ‘1778263104975’
alias: Stroomprijs onder 0, panelen uit
description: ”
triggers:
– trigger: numeric_state
entity_id:
– sensor.zonneplan_current_electricity_tariff
for:
hours: 0
minutes: 0
seconds: 10
below: 0
conditions: []
actions:
– action: modbus.write_register
metadata: {}
data:
hub: TCP_SMA
address: 40915
slave: 3
value:
– 0
– 0
mode: single
– id: ‘1778263840506’
alias: Stroomprijs boven 0, panelen aan
description: ”
triggers:
– trigger: numeric_state
entity_id:
– sensor.zonneplan_current_electricity_tariff
for:
hours: 0
minutes: 0
seconds: 10
above: 0
conditions: []
actions:
– action: modbus.write_register
metadata: {}
data:
hub: TCP_SMA
address: 40915
slave: 3
value:
– 0
– 10000
mode: single
Danny Oosterveer
10 mei 2026Hi Rimco,
Dank voor het delen van je modbus-config voor de SMA Sunny Tripower 10.0! Mooi dat register 40915 voor jou werkt om het DC-vermogen te begrenzen op basis van het Zonneplan-tarief. Ik ga kijken of ik je opzet als alternatief kan opnemen in het artikel.
Mark S.
29 mei 2026Hoi,
Bij register 40915 wordt gewaarschuwd voor cyclical writing. Bij 41255 & 40023 niet. Enige verschil tussen deze is dat 41255 iets nieuwer is en ook RW ipv RO.
Mark S.
29 mei 2026Oeps RO -> WO
Yen
18 mei 2026Ter info, ik heb een alternatieve methode werkend gekregen via webconnect en deze werkt zonder het aanpassen van een grid-guard beveiligde setting. De oplossing gebruikt wel een HACS integratie:
– https://github.com/littleyoda/ha-pysmaplus/blob/main/docs/set_parameter.md
– https://github.com/littleyoda/ha-pysmaplus/issues/106
Tom
18 mei 2026Voor de oudere types Sunny Boy (De 1AV-40) heb ik parameter 40023 gebruikt om naar toe te schrijven.
In de settings van de omvormer moet je de instelling Configuration of feed-in management -> Operating mode Active power op “Act. power lim. via PV system ctrl” zetten.
Vincent
16 juni 2026Heeft iemand ervaring met een Sunny Boy 4000TL-21 om via een RS485 naar RJ45 Ethernet-converter en Home Assistant het vermogen te begrenzen?