Deye via Modbus: wat we leerden terwijl we onze eigen integratie schreven
Zoek je een registerkaart om Deye zelf uit te lezen? We liepen dit pad tijdens het schrijven van Svitgrid, en we delen wat niet in de documentatie staat, registeradressen inbegrepen. En heb je een resultaat nodig en geen project, dan is het klaar.
Deye spreekt geen Modbus TCP rechtstreeks
Via de logger: Solarman V5
De wifi-logger verpakt Modbus RTU in zijn eigen Solarman V5-protocol op TCP-poort 8899. Elk verzoek bevat het serienummer van de logger. Een gewone Modbus TCP-client met een MBAP-header bouwt deze frames niet.
Loggers met een serienummer dat met 26 begint
De nieuwe generatie Deye-loggers accepteert geen lokale verzoeken: data gaat alleen naar de Deye-cloud. Dan blijft de kabel over.
Via een kabel: Modbus RTU
RS-485, 9600 8N1, holdingregisters (functie 0x03). Het adres is het veld Modbus SN op het scherm van de omvormer, meestal 01. Adres 00 is het broadcastadres, en Deye antwoordt daar nooit op. Pinout en kabelvalkuilen.
Valkuilen in de registerkaart die we zelf hebben gemeten
De meeste Deye-kaarten online zijn samengesteld uit documenten van de fabrikant en communityprojecten. Dit bleek op echte omvormers anders te zijn. Adressen zijn decimaal.
De driefasige en eenfasige kaarten verschillen
Op de SG04LP3 is het PV1-vermogen register 672, de batterijlading 588 en het net 625. Op de eenfasige SG01LP1, SG02LP1 en SG05LP1 zijn het 186, 184 en 169. Temperaturen staan ook in verschillende blokken, 540/541 en 90/91, en het verkeerde blok geeft nullen of 65535. Het batterijvermogen (590 en 190) is positief bij ontladen.
Vermogen in eenheden van 10 W
Sommige firmwareversies rapporteren een vermogensregister tien keer te klein terwijl de andere velden kloppen. Op de SG02LP1 gebeurt dit met verbruik 178 en 179, en op de hoogspannings-SG01HP3 met batterijvermogen 590. Controleer aan de hand van de eigen dagtellers van de omvormer (bij eenfasige units: 76 is import, 84 is verbruik, 108 is zon), niet met momentane waarden.
Netstroom is er niet
De gedocumenteerde adressen voor netstroom (610–612 bij driefasig, 160 bij eenfasig) bevatten op echte omvormers iets anders: register 160 toonde ongeveer 5.6 A terwijl de uitwisseling met het net nul was. Bereken de stroom als |P| / U.
Time of Use is niet wat laden van het net mogelijk maakt
De toestemming om van het net te laden is bit 0 van register 130 bij driefasige units en 232 bij eenfasige units. De hoofdschakelaar Time of Use, bit 0 van register 146 of 248, zet alleen het slotschema aan. In onze data laadden omvormers ook met Time of Use uit van het net, en geen enkele deed dat met bit 0 van 130/232 uit.
Een slot heeft geen einde
De zes Time of Use-slots verdelen de dag zonder gaten: het einde van slot N is het begin van slot N+1 (148–153 bij driefasig, 250–255 bij eenfasig). Eén slot schrijven verschuift de grens van zijn buurman, en de starttijden moeten oplopend worden ingevoerd.
Onbekende bits in slot enable
In de registers 172–177 (driefasig) en 274–279 (eenfasig) schakelt bit 0 het slot in, en hogere bits kunnen ook gezet zijn, met een onbekende betekenis. Wijzig alleen bit 0 met lezen, aanpassen en terugschrijven. Schrijf nooit 0 of 1 als heel woord.
Lees een register eerst uit op je omvormer en bewaar wat er stond voordat je ernaar schrijft.
Wat er nog meer nodig is om registers in een station om te zetten
| Stap | Wat erbij komt kijken | Geschatte tijd |
|---|---|---|
| Klant | Solarman V5 of RTU, nieuwe pogingen, time-outs en verbroken verbindingen | dagen |
| De kaart van jouw model | Schalen, tekens, 16 of 32 bits, en een controle op een live omvormer | dagen |
| Schrijfacties | Tijdslots en modi zonder het risico de omvormer in een vreemde toestand achter te laten | een week |
| Alles eromheen | Waar dit 24/7 draait, historieopslag, meldingen en toegang vanaf een telefoon | weken |
| Totaal | enkele weken |
De tijd is bij benadering: tot aan het eerste station dat je elke dag kunt gebruiken.
Support
Vragen of een probleem met je Deye? Schrijf ons.
Schrijf ons op WhatsApp, in het Nederlands, of in de Svitgrid-groep op Telegram. We lezen elk bericht en antwoorden snel: in de groep ziet de bot je station via de diagnosecode uit de app, dus het gesprek begint bij data, niet bij verduidelijkende vragen.
We waarderen mensen die problemen melden. Een bevestigde bug levert punten op, en met punten betaal je je abonnement.
Vragen
Ondersteunt Deye Modbus TCP?
Niet rechtstreeks. De wifi-logger spreekt Solarman V5 op poort 8899: dat is Modbus RTU verpakt in een frame met het serienummer van de logger. Loggers met een serienummer dat met 26 begint, accepteren zelfs dat niet. Via een RS-485-kabel antwoordt de omvormer in gewoon Modbus RTU.
Wat zijn de Modbus RTU-instellingen van Deye?
9600 baud, 8 databits, geen pariteit, 1 stopbit (8N1). Het adres is het veld Modbus SN op het scherm van de omvormer. Deye antwoordt nooit op adres 00, dus stel 01 in, en stel 02, 03 in op elke volgende omvormer aan dezelfde bus.
Hoe lees ik de netstroom van een Deye uit?
Dat kan niet, omdat het niet in de registers staat: de gedocumenteerde adressen (610–612 bij driefasig, 160 bij eenfasig) bevatten iets anders. We delen het absolute netvermogen door de netspanning.
Waarom laadt Deye de batterij niet van het net, ook met Time of Use aan?
Controleer bit 0 van register 130 (driefasig) of 232 (eenfasig): dat is de toestemming om van het net te laden. De hoofdschakelaar Time of Use, register 146 of 248, zet alleen het schema aan en geeft zelf geen toestemming om van het net te laden.
Waar vind ik de registerkaart van Deye?
De belangrijkste adressen staan hierboven. De driefasige SG04LP3 en de eenfasige modellen hebben verschillende kaarten, en sommige firmwareversies rapporteren vermogen in eenheden van 10 W, dus controleer elk adres op je eigen omvormer.
Lees volgende
Probeer het voordat je je eigen versie schrijft
De Svitgrid-firmware op je eigen ESP32-S3 flashen is gratis. Past Svitgrid niet bij je, dan verlies je een avond, geen maand.
