Zonnepanelen die de zon omzetten in stroom blijft fantastisch. Maar niet altijd. Tijdens negatieve energieprijzen wil je de teruglevering beperken of stopzetten. Probleem is dat omvormers dit vrijwel niet ondersteunen. Deze handleiding brengt daar verandering in. Met deze oplossing kun je de teruglevering met vrijwel elke omvormer met behulp van Modbus uitschakelen of limiteren. Hoe je dat doet, leggen we in dit artikel uit.
De voordelen van deze methode
Er zijn verschillende manieren om je omvormer uit te schakelen. Bij een enkele omvormer wordt het ondersteund, en soms kun je het via je smart home software via bv. een api of een cloud aansturen. Maar dit kan vaker niet dan wel.
De voordelen van deze oplossing t.o.v. de alternatieven:
- Hij werkt voor vrijwel elk merk omvormer
- Je bent niet afhankelijk van of het merk omvormer zelf een lokale API of cloudoplossing beschikbaar maakt met deze functie
- Hij werkt lokaal, er is geen afhankelijkheid van communicatie met de cloud
- Je kunt het aansturen vanuit Home Assistant, Homey en andere smart home oplossingen
- Je kunt de omvormer niet alleen aan- of uitzetten, maar ook de teruglevering beperken
- Er is tweerichtingscommunicatie mogelijk. Je kunt er ook informatie van je omvormer mee uitlezen.
- Het is veiliger dan een schakelaar omzetten om de stroom er in een klap te halen
- Je beschikt over real-time data, daar waar data via de cloud vaak elk kwartier ververst
Het resultaat
Grofweg heeft deze oplossing twee use-cases.
1. Automatisch stoppen met terugleveren van zonnestroom bij negatieve energieprijzen
De eerste usecase is dat je beschikt over een dynamisch energiecontract, waarbij er soms sprake is van negatieve energieprijzen. Dan zijn uurprijzen voor stroom zo laag, dat je geld krijgt om stroom te gebruiken, en anderzijds geld moet betalen om terug te leveren. Op dat moment wil je dus dat je omvormer automatisch stopt met het terugleveren van stroom aan het elektriciteitsnet.
Met een automatisering in Home Assistant (of je eigen favoriete smart home software) stel je in dat, in het geval van negatieve dynamische energieprijzen, je een signaal stuurt naar de omvormer dat de teruglevering moet stoppen. Met dit als resultaat:
2. Automatisch voorzien in eigen gebruik, zonder terug te leveren aan het net
Heb je dynamische energieprijzen maar wil je wel voorzien in je eigen gebruik? Of heb je een andere contractvorm, en wil je zorgen dat je zelf je eigen zonnestroom kunt gebruiken met niet teruglevert aan het net? Dan kun je de teruglevering van de zonnestroom beperken tot je eigen gebruik. Door je gebruik via de slimme meter in te lezen, en de teruglevering daar op aan te passen, kun je in je eigen energieverbruik voorzien. Met als resultaat, een energieverbruik dat rond het nulpunt ligt.
Aan de slag
Eerst zal ik wat vertellen over de technologie waar deze oplossing mee werkt, vervolgens gaan we de hardware klaarmaken en als laatste gaan we met de software aan de slag.
Wat is Modbus?
Modbus is een communicatieprotocol dat wordt gebruikt voor het verbinden van industriële elektronische apparaten, bijvoorbeeld bij bedrijven en zonneparken om de teruglevering van zonnepanelen te beperken (curtailment), op afstand. Het is eenvoudig, robuust en makkelijk te gebruiken en wordt veel toegepast in industriële omgevingen om gegevens tussen controleapparaten zoals sensoren, meters en actuatoren te versturen. Modbus is ontwikkeld in de jaren ’80 voor programmeerbare logische controllers (PLC’s). Het kan functioneren op verschillende netwerklagen en wordt vaak gebruikt over RS-485, RS-232 en TCP/IP-netwerken. Vaak worden Modbus en RS485 door elkaar gebruikt. Maar RS485 is eigenlijk het medium, en Modbus is de laag er bovenop.
Wat is ESPHome?
ESPHome is een open-source platform dat ontworpen is om het automatiseren van apparaten in huizen gemakkelijker te maken, vooral voor diegenen die gebruik maken van het ESP8266- en ESP32-microcontrollerplatform. Je kunt met ESPHome sensoren, schakelaars en andere apparaten maken en configureren met eenvoudige YAML-bestanden, wat programmeerkennis minder noodzakelijk maakt.
Het platform integreert naadloos met Home Assistant, een populair systeem voor huisautomatisering, waardoor gebruikers hun apparaten via een gebruikersvriendelijke interface kunnen beheren en automatiseren. Met ESPHome kun je firmware creëren die draadloos geüpdatet kan worden (OTA), en het heeft een grote gemeenschap van gebruikers die voortdurend nieuwe componenten en functionaliteiten toevoegen.
Stappenplan
We gaan grofweg een paar dingen doen. Allereerst gaan we een kabel maken zodat we, vanaf onze eigen laptop, met de omvormer kunnen communiceren. Daarna gaan we, op basis van de documentatie van de omvormer, de ’taal’ van de omvormer leren spreken. Zodat we daarna data kunnen uitlezen, of versturen (wat nodig is om de teruglevering te stoppen). Zodra we dit principe hebben uitgevogeld, gaan we zelf een slim kastje maken dat we kunnen aansluiten op de omvormer. Dat slimme kastje hangt in je netwerk en kun je vervolgens aan Home Assistant koppelen, zodat je hem vanuit daar kunt aansturen.
1. Voorbereidingen
In deze handleiding beschrijven we het proces zo universeel mogelijk. In de handleiding werken we met een SAJ omvormer. De handleiding is getest met een SAJ SunTrio Plus 5K en een SAJ SunTrio Plus 8K. Dit is een wat oudere variant dan de R5 series (o.a. Zonneplan).
Er zijn een aantal zaken die verstandig zijn om van te voren voor te bereiden dan wel te checken.
Documentatie
Voor mijn SAJ omvormer moet ik weten hoe ik er via Modbus mee kan communiceren. Dat kun je vaak vinden in een installateurshandleiding. In mijn geval is er een SAJ Modbus Communication Protocol pdf. Zonder deze documentatie wordt dit proces een moeilijk verhaal.
Export-limit functie
Nu we weten welke ‘taal’ de omvormer spreekt, kijken we meteen in de documentatie naar een functie die de omvormer aan of uit kan zetten of de omvormer kan beperken in zijn teruglevering. Vaak heet deze ‘power limit’. In het document van SAJ staat helemaal aan het eind een functie met de naam ‘LimitPower’, die als volgt wordt beschreven:
Firmware-versie
Voor de SAJ-omvormer hebben we gemerkt dat het uitmaakt welke versie firmware je draait. Onze SAJ-omvormers draaien v2.030 (master) v2.030 (slave) v3.024 (display). Vooral oude versies hebben geen ondersteuning voor een zogeheten ‘export limit’.
Voor een SAJ-omvormer kun je dit controleren, door op LCD-scherm van de omvormer naar Settings -> Export Limit te gaan. Heb je dit menu-item niet, dan kan het zijn dat je de firmware dient te updaten. Neem hiervoor contact op met je installateur.
<foto van omvormer>
2. Maak een kabel + connector
Moet Modbus via een aparte kabel?
Moet je wel een aparte kabel maken om via Modbus te communiceren? Dat hangt er ervan af. Sommige omvormers (bijvoorbeeld SolarEdge) hebben ook de mogelijkheid om Modbus via TCP/IP te doen. In dat geval loopt Modbus dus via je internetverbinding.
Lokaliseer de Modbus-poort
De meeste omvormers hebben een of meerdere RS485, RS232 en TCP/IP aansluitingen ten behoeve van communicatie met de omvormer. Zo heeft mijn SAJ ook een RS232-poort, die gebruikt wordt door de WiFi dongle zodat ik hem via mijn app kan uitlezen. De poorten vind je doorgaans aan de onderzijde van de omvormer, en meestal staat er bij de omvormer vernoemd welk type poort het is.
Deze poorten vind je bij de meeste inverters aan de onderkant, en hij wordt aangeduid met RS-485. Deze poort heeft drie pinnen: GND, A en B. Alleen A en B zijn nodig.
We hebben een connector nodig die we op de poort kunnen aansluiten. Hiervoor gebruiken we een connector van het type Weipu SP13. Deze heeft de volgende pin-out (let goed op, het laatste plaatje is vanaf de achterkant):
In de connector plaatsen we een twee-aderige kabel, die we met 1 en 2 verbinden. Let goed op welke kleur in welk gaatje gaat.
Nadat de connector aan de kabel verbonden is kun je deze op de omvormer aansluiten:
Om de kabel uit te kunnen lezen, verbinden we het andere eind van de kabel aan een RS485 naar USB connector. Deze zijn voor zo’n 10 a 15 euro te koop, bijvoorbeeld bij Amazon.
De twee-aderige kabel kun je verbinden met de groene connector aan het uiteinde van de RS485 naar USB connector. Let hierbij op om A aan A (of +) te koppelen, en B aan B (of -). Indien er een aansluiting is voor GND (aarde), dan is het vaak niet nodig om deze aan te sluiten.
Om met de omvormer te communiceren, moeten we nog afstemmen dat we op de juiste manier communiceren. De instellingen voor Modbus dien je in de invormer te configureren. Normaal staat dit op adres 1 met een baud rate van 9600. Je kunt dit vinden onder Settings -> Communication. De instellingen an sich maken niet uit, maar dienen wel overeen te komen met de hardware/software aan het ‘andere eind van de kabel’.
3. Communicatie opzetten
Om met de communicatie met de omvormer te testen, kun je het programma QModbus gebruiken. Dit is een programma dat het mogelijk maakt Modbus-commando’s te versturen, en te kijken wat de responses zijn.
Om de communicatie op te zetten, putten we uit informatie uit de installateurshandleiding van de omvormer of door informatie in de omvormer zelf op te zoeken. In ons geval vinden we de noodzakelijke instellingen op de omvormer. Door op het LED-display van de omvormer te navigeren naar Settings -> Communicate, vinden we het volgende. Ik registreer het RS-485 adres (1) en de baudrate (9600).
Een complete beeld vinden we in de eerder genoemde handleiding, in de tweede paragraaf:
Ook hier staat genoemd dat voor een 3-fase omvormer de Baud Rate van de RS-485 interface 9600 bps bedraagt. We moeten ook weten wat de data bit is (8), stop bit (1) en parity (none). Deze informatie stellen we in in QModbus (1):
Om te testen of de communicatie werkt, moeten we ook daadwerkelijk iets communiceren. In paragraaf 4 van de handleiding staat welke informatie je kunt ophalen. De eerste is het ophalen van het type omvormer. Dit staat in register 8F00H. De H vertel je dat het een Hex is, 8F00 is het nummer.
Deze moeten we naar een getal vertalen, wat kan met een Hex to Decimal converter. Die vertelt ons dat 8F00 staat voor 36608.
In het tweede blok, ‘ModBus request’, vullen we vervolgens in wat we willen gaan communiceren. We vragen hier adres 36608 op. Het resultaat zou het type omvormer moeten zijn.
Als resultaat krijgen we in blok 3 data terug! Dat betekent dat de communicatie succesvol lijkt. De data die we terugkrijgen is 0x0021. Dit komt overeen met onze handleiding, waar staat dat 0x0021 overeenkomt met ‘Suntrio Plus inverter’!
We kunnen ook veranderende (realtime) data ophalen. Bijvoorbeeld het voltage. In de handleiding zijn ook enkele registers te zien om het voltage, de ampere en de frequentie van de eerste fase op te halen. Het voltage van de fase 1 zit op register 0116.
De converter vertelt ons dat dit adres 278 is. Als we met QModbus het adres 278 aanroepen, dan krijgen we de waarde 2411 terug.
Dit komt overeen met het voltage van de eerste fase die op het LED-display van de omvormer wordt weergegeven.
4. Data versturen
Data ophalen is gelukt, maar nu willen we ook data versturen. In sectie 4.6 van onze handleiding staat een speciaal Modbus-register gedocumenteerd voor een export limit. Dit is het hexadecimale adres 801F. Door hier een percentage naar toe te schrijven, kan de export beperkt worden.
Althans, zo hebben we dat ondervonden. De handleiding specificeert niet wat je er heen kunt sturen, of wat de schaal is. Met wat error en trial kwamen we er uiteindelijk achter dat we waarden van 0 t/m 1100 konden sturen. Dit is waarschijnlijk 0% tot 110%. Bij een hogere waarde kregen we een foutmelding terug. Sturen we 044d (hex voor 1101), dan krijgen we de melding ‘Illegal data value’ terug.
Als we de teruglevering tot een minimum willen beperken, sturen we de waarde 0 (0x0000) naar de omvormer. Onderaan krijgen we de melding ‘Value succesfully sent’ te zien 💚.
Op het display van de omvormer is vervolgens te zien dat de teruglevering tot een minimum (3 W) is beperkt:
We kunnen nu de omvormer uitlezen en aansturen via Modbus. In beginsel is wat we nu gedaan hebben voldoende om de omvormer ook met Home Assistant direct aan te kunnen sturen. Dit kan door de USB-connector aan te sluiten op de Raspberry Pi (of andere hardware( waar Home Assistant op draait, en de omvormer met een bestaande integratie te verbinden.
5. Een ‘slim kastje’ maken met ESPHome
Maar Bas gaat met zijn oplossing nog een stap verder. Hij heeft een ‘slim kastje’ gemaakt met ESPHome. Waarom?
- Fysieke beperking
Niet bij iedereen staat de Home Assistant server in de buurt van de omvormer. Bij mij thuis ook niet: de server staat in de meterkast, de omvormer op zolder. Een slim kastje wat er tussenzit en via het netwerk met Home Assistant kan communiceren, is dan wel zo praktisch. - Geen opwek, geen communicatie
Bij veel omvormers is er geen communicatie mogelijk als er geen opwek is. Zou je vanuit Home Assistant, ESPHome of andere domotica-platformen direct communiceren via Modbus, dan komt er de nodige logica om hier omheen te werken. Dit kastje zorgt er tevens voor dat, als de omvormer weer aangaat, hij ook weer ingesteld wordt zoals jij dat wilt.
Boodschappenlijstje
Allereerst een boodschappenlijstje voor een slim kastje:
Seeed Studio Xiao ESP32 C3 (5-15 euro)
UART to RS485 chip (2-5 euro)
USB-C netvoeding (Kiwi Electronics, 7-20 euro)
Gaatjesbord printplaat (2-5 euro)
Hardware bouwen
Hier komen we bij de meest ingewikkelde stap van deze handleiding, want hier is enige handigheid met printplaatjes en solderen van belang. We hebben een gaatjesbord waar we de ESP32 chip en UART to RS485 chip op monteren. Vervolgens dienen we deze op elkaar aan te sluiten. En als laatste sluiten we de netvoeding en de twee-aderige kabel op de UART to RS485 chip aan.
Het prikken van de chips op het gaatjesbord is eenvoudig. Maar dan dienen we ze met elkaar te verbinden. Hiervoor kijken we eerst naar de layout van de ESP32 chip. Die is als volgt:
We gaan D8, D9 en D10 gebruiken voor de connectie, GND en 3V3 voor de voeding en aarde.
De verbindingen maak je met soldeer en een soldeerbout. Zie hier voor video-instructies.
Als laatste sluit je de netvoeding op de ESP32 chip aan, en verbind je de twee-aderige kabel met de UART to RS485 chip.
Installeer ESPHome
Nu je de hardware hebt is het zaak om de software van ESPHome te installeren. Dit kan je via Docker doen, of tegenwoordig ook direct vanuit Home Assistant zelf. Kies de methode die je zelf het meest prettig vindt en volg de instructies.
5. Voeg ESPHome toe aan Home Assistant
Om met ESPHome te werken vanuit Home Assistant, voegen we eerst de ESPHome integratie toe. Dit doe je onder Instellingen -> Apparaten & diensten -> Integratie toevoegen. Volg de stappen om de integratie te installeren.
We gaan, voor nu, je slimme kastje eerst met de USB-C kabel op je laptop of pc aansluiten. We gaan dan naar Instellingen -> Addons, open ESPHome en klik op ‘Open WebUI’. In de ESPHome interface klik je vervolgens op + New device, en geef je je device een naam. Ik kies voor Modbus-inverter.
ESPHome gaat nu je configuratie maken en deze installeren op het apparaat. Gedurende de vervolgstappen, zal Home Assistant aan te geven op welke poort het apparaat is aangesloten.
Na de stappen doorlopen te hebben, krijg je een nieuw ESPHome apparaat in de interface te zien. Klik hierbij op ‘Edit’ om de configuratie te bewerken.
In de configuratie dien je een aantal zaken aan te passen en toe te voegen. Zo dien je het juiste board te benoemen.
Zo pas ik de configuratie van esp32 aan naar:
esp32:
board: seeed_xiao_esp32c3
framework:
type: arduino
In het eerste deel wordt de naam gedefinieerd. Het wifiwachtwoord zal hij automatisch overnemen, als de !secret wifi_ssid en wifi_password in Home Assistant zijn gedefinieerd. Anders zet je de netwerknaam en het wachtwoord in deze code.
Daarnaast dienen we een aantal zaken toe te voegen aan de configuratie. Plak je onderaan de configuratie. De tx_pin, rx_pin en flow_control_pin matchen met de pins op de chip die we eerder verbonden hebben. De baud_rate, stop_bits, data_bits en parity hebben we eerder in deze handleiding vastgesteld in de documentatie van de omvormer.
Vanaf ‘modbus_controller’ maken we een nieuw device wat straks in Home Assistant wordt herkend.
In deze configuratie staat een getal, bedoeld voor de ‘export limit’. In dit getal geven we de teruglevering aan, die we bij deze omvormer aangeven in de rage van 0 t/m 1100. Deze luistert op het hexadecimale adres 801f, die we eerder in deze handleiding in stap 4 hebben vastgesteld op basis van de documentatie van de omvormer. Ter info: een heximaal adres kun je schrijven als 801fH of als 0x801f.
Daarnaast definiëren we een sensor die het type omvormer laat zien. Deze hebben we ook eerder in de handleiding gebruikt, en is aan te roepen op heximaal adres 0x8f00. Deze geeft in mijn geval cijfer 33 terug, die overeenkomt met de ‘Suntrio inverter’. Als laatste een sensor ‘Energy today’, die toont hoeveel energie (in kWh) er vandaag is opgewekt.
# Specifieke code voor Modbus
uart:
tx_pin: GPIO9 # Bord-afhankelijk.
rx_pin: GPIO10 # Bord-afhankelijk.
baud_rate: 9600 # Inverter-afhankelijk.
stop_bits: 1 # Inverter-afhankelijk.
data_bits: 8 # Inverter-afhankelijk.
parity: NONE # Inverter-afhankelijk.
modbus:
id: modbus1
flow_control_pin: GPIO8 # Bord-afhankelijk.
modbus_controller:
- id: modbus_controller1
modbus_id: modbus1
address: 0x01 # Inverter-afhankelijk.
number:
- platform: modbus_controller
id: export_limit
modbus_controller_id: modbus_controller1
use_write_multiple: true
name: "Export limit"
address: 0x801f # Decimaal 32799.
register_type: holding
value_type: U_WORD
min_value: 0
max_value: 1100
sensor:
- platform: modbus_controller
modbus_controller_id: modbus_controller1
name: "Type omvormer"
register_type: holding
address: 0x8f00 # Decimaal 36608.
value_type: U_WORD
- platform: modbus_controller
modbus_controller_id: modbus_controller1
name: "Energy Today"
register_type: holding
address: 0x12c # Decimaal 300
accuracy_decimals: 2
filters:
- multiply: 0.01 # Schaalfactor 100
unit_of_measurement: "kWh"
value_type: U_WORD
Het is uiteraard nog mogelijk om nog veel meer velden toe te voegen. Denk aan de huidige opwek of het voltage per fase. Maar voor nu hou ik het in deze handleiding bij deze velden.
Vervolgens kies je rechtsboven voor ‘Save’, en daarna ‘Install’. Nu ga je de nieuwe configuratie op je apparaat deployen. Kies in de popup wederom voor ‘Plug into this computer’ en selecteer de juiste USB-poort waarop het apparaat is aangesloten.
Wanneer de ESPHome met je wifi-netwerk verbonden is, zal deze automatisch voor je Home Assistant worden herkend. Ga hiervoor naar Instellingen -> Apparaten & diensten. Bovenaan vind je de apparaten die automatisch worden herkend. Klik op configureren om het toevoegen te starten.
Doorloop de stappen, en hierna verschijnt er een nieuw apparaat met 4 entiteiten: ons slimme kastje! Open het apparaat en zie hier de sensoren en controls waar je over beschikt.
6. Teruglevering stoppen of beperken
Om de teruglevering van de omvormer te beperken, vul ik een getal in het ‘Export limit’ veld, van 0 (geen teruglevering) tot 1100 (volledige teruglevering).
7. Automatiseren
In deze stap gaan we een automatisering instellen. In mijn geval wil ik de teruglevering automatisch stoppen zodra de dynamische energieprijzen negatief worden. Oftewel, wanneer ik moet betalen om terug te leveren. Om dit voor elkaar te krijgen gaan we twee automatiseringen instellen. Eén om bij negatieve energieprijzen de teruglevering te stoppen, en één om bij positieve energieprijzen de teruglevering weer aan te zetten.
Dynamische energieprijzen inlezen
Voor het script maken we gebruik van dynamische prijzen. Om dynamische prijzen in Home Assistant te krijgen, kun je deze handleiding volgen.
De automatiseringen
We maken de volgende twee automatiseringen aan. Ga hiervoor in Home Assistant naar Instellingen -> Automatiseringen en scenes en klik op ‘Automatisering toevoegen’. We gaan de automatiseringen optuigen volgens deze logica:
Omvormers uitzetten bij negatieve energieprijzen:
- Wanneer: de <selecteer hier de sensor met de huidige dynamische energieprijs> onder 0 is
- Doe dan: stuur een notificatie naar <jouw telefoon>
- Doe dan: stel de export limit in op 0
Omvormers aanzetten bij positieve energieprijzen:
- Wanneer: de <selecteer hier de sensor met de huidige dynamische energieprijs> boven 0 is
- Doe dan: stuur een notificatie naar <jouw telefoon>
- Doe dan: stel de export limit in op 1100
Als data-gedreven marketeer weet Danny als geen ander hoe je je energie thuis kunt managen. Zo laadt hij z’n elektrische fiets op als de zon schijnt. Dankzij zijn interesse in duurzaamheid en techniek kan hij je alles vertellen over een slimme, duurzame woning.
Hi, super tof dit! Ik heb nog wel een solplanet (in gebruik) en Huawei (ongetest) configuratie voor esphome via modbus. Laat maar even weten als jullie die zouden willen hebben, dan deel ik deze graag als dank voor jullie leuke podcast/YouTube videos.
Dankjewel Martijn, en heel tof dat jij dit thuis ook al hebt draaien. De ESPHome configuratie zou heel waardevol zijn om te kunnen delen met andere Solplanet en Huawei gebruikers, dus als je die wilt delen heel graag!
Helemaal goed! Waar kan ik deze naartoe sturen?
Ik mail je
Top podcast heren!
Ik zou graag met “buurman bas” in contact komen om eens wat gedachten uit te wisselen over de do’s and dont’s.
Kunnen jullie mij met hem in contact brengen?
Zeker! Het meest eenvoudig is om hem aan te spreken in de Telegram community. LinkedIn kan ook.
Het zou geweldig zijn dat dit automatisch aangestuurd zou kunnen worden door HA, alhoewel het dit jaar nog maar een enkele keer is voorgekomen dat de stroomprijs echt negatief was. De verwachting is wel dat dit vaker zal voorkomen. Het zal wel lukken met de RS485 modbus en ESP32, maar ik zou wel willen weten hoe ik mijn Solax X1-4.2-T-D(L) moet aansturen met Home Assistant.
Ik heb gezien dat je registerwaardes ophaalt, ik heb al gezocht, maar zou niet weten waar ik ze kan vinden. Ik kan wel de Solax remote af en aanschakelen.
Mijn stroomleverancier is Tibber.
Zo te zien is het voor Solax ook beschikbaar, als ik dit modbus document mag geloven. Er is voor Solax ook een Home Assistant integratie maar dat is alleen om data uit te lezen.
heel leuk artikel, heb zelf een SAJ SunUno Plus 5K-M, echter de firmware is wss te oud.
Omvormer: Master Controller Version 1.011, Display Controller Version 1.018.
Wifi RS-232 adapter: bootloader v.1.0.0 en firmware v.1.012.
Als ik rondkijk op het internet zijn deze versies heel oud.
Waar zou ik ergens firmware update files kunnen vinden om deze te updaten ?
alvast dank.
Ha Bert, ik denk dat je hiervoor het beste je installateur kunt benaderen. De documentatie / bestanden om dit zelf te kunnen doen lijkt niet echt publiek ontsloten te worden.
Hoi Danny,
Erg interessant verhaal. Wij hebben zelf een Goodwe (GW2000-NS) omvormer zonder wifi dongle waardoor uitlezen via de modbus aansluiting eigenlijk de enige oplossing was. Werkt prima met uitlezen. Volgens de handleidingen zou het ook mogelijk zijn om de omvormer via twee dedicated registers in/uit wachtstand te zetten/halen. Heb jij enig idee hoe dit aan te pakken in ESPHOME?
Wat goed om te horen!
De oplossing met de twee registers die volgt nog op papier. Vanwege drukke agenda is dat er hier nog niet van gekomen, maar als ik terug ben van vakantie dan volgt die snel.
Beste Danny,
Via via via kom ik bij jou terecht.
Helemaal top natuurlijk.
Zelf heb ik een 1 fase growatt omvormer.
MIN 4200TL-XH
Via circuits online forum werd de
SolarEdge Inline 3fase meter benoemd.
Simpel gedacht natuurlijk maar kunnen deze twee met elkaar communiceren?
Dan kan ik inline meter op 0% instellen als er aan het net geleverd wordt.
Dan zou deze meter de omvormer moeten begrenzen tot het verbruik van de woning.
Ik hoor het wel.
Groeten Ed Bakker
Hi Ed, sorry ik durf niet te zeggen of die twee succesvol met elkaar communiceren… wellicht is er iemand die ze installeert die deze vraag kan beantwoorden.
Je gebruikt verschillende ESP32 modules in stap 5. De componenten en een deel van de handleiding zijn ESP32 S3 terwijl de code ESP32 C3 is. De Seeed Studio Xiao ESP32 S3 wordt niet volledig ondersteund in Home Assitant, beter kun je de C3 variant gebruiken, dat werkt zonder problemen. Het is ook aan te bevelen om de hele instructie op 1 variant te schijven.
Hi Bart,
Dat is dan een fout in het boodschappenlijstje, we hebben de C3 variant gebruikt. Ik heb het aangepast, dankjewel voor het scherpe oog.
Perfect, met deze methode kan ik nu ook een Solax X3-MIC 8K uitlezen en output regelen via Modbus. Dit wordt officieel niet ondersteund door Solax maar via-via heb ik de write registers gevonden om het power limit percentage te sturen.
Dank voor de duidelijke uitleg! Ik ga het niet voor een omvormer gebruiken, maar om mijn dynamische energieprijzen te schrijven naar mijn warmtepomp, zodat deze op het meest gunstige moment wat extra vermogen levert.
Ik heb wel nog een vraag.
De TTL RS485 converter lijkt veranderd te zijn als je die uit het boodschappenlijstje besteld. Je krijgt er nu 1 met een GND,RX,TX,VCC ipv DI,DE,RE,RO.
Nu is dat opzich niet zo’n probleem, echter raak ik in de war bij het feit dat in de code de GPIO 8 en 9 pinnen gebruikt worden, terwijl RX en TX op andere poorten zitten (te weten: D6,D7 ofwel respectievelijk, GPIO43, GPIO44)
Is dat een bewuste keuze en zijn de TX/RX poorten van de ESP32 niet dedicated daarvoor bedoeld?
Daarnaast zit de flowcontrol pin niet op dit bordje, maar ik begrijp dat dit niet noodzakelijk is voor RS485 connecties. Moet wel nog even uitzoeken of het impact heeft op de samplecode of niet.
Hallo Danny,
Geweldig project! Heb alleen een probleem, ik krijg onderstaande Warning en kom er niet van af.
Enig idee wat er fout gaat? Ik heb een SAJ Suntrio Plus 10k. Een soortgelijke omvormer zoals in jullie voorbeeld met een Controlboard Versie V2.088.
[11:10:55][W][modbus:114]: Modbus CRC Check failed! C022!=00
Groet Dirk
Alvast bedankt voor jullie terug melding.