Acties:
  • 0 Henk 'm!

  • PaulSinnema
  • Registratie: Mei 2017
  • Laatst online: 15-04 23:37
Ik heb 16 zonnepanelen met SolarEdge optimizers en een SolarEdge omvormer SE5K in huis. De omvormer is via TCP verbonden aan mijn netwerk. Ik maak gebruik van het Loxone systeem om de omvormer uit te lezen via Modbus - TCP en dat werkt prima. Ik heb daarnaast 3 Sessy thuisbatterijen.

Ik ben een maand geleden begonnen met het schrijven van software voor mijn installatie. Ik stuur mijn thuisbatterijen aan via de open API die erin zit. Haal energieprijzen op van ENTSO-E, weerdata van WeerOnline, zonne productie via de SolarEdge omvormer en bepaal daarmee wanneer ik de thuisbatterijen moet (ont)laden. Ik handel daarmee dus op de EPEX Day-Ahead-Market en dat werkt nu al heel behoorlijk.

Ik wil de omvormer aan kunnen sturen voor Power Control. Volgens de documentatie kan ik daarmee het vermogen van de omvormer aansturen. Dat zou ik dan willen gebruiken voor als de EPEX prijzen te negatief worden. Ik kan dan het vermogen zo aanpassen dat er niets naar het net gaat maar mijn huis optimaal gebruik kan maken van de gegenereerde energie.

Er is veel dat al wel werkt maar ik loopt tegen een probleem aan bij het aansturen van de omvormer.

Volgens een documentatie van november 2017 met de titel 'Technical Note – Power Control Protocol for SolarEdge Inverters' moet ik een aantal waarden via Modbus in registers schrijven.

Om Power Control in te schakelen moeten de volgende bewerking worden gedaan:

Schrijf een 1 in 0xF142 (UInt32)
Schrijf een 4 in 0xF104 (Uint32)

Commit de gegevens door een 1 in 0xF100 (UInt16) te schrijven.

De omvormer herstart daarna en na een aantal minuten wordt de stroomopwek hervat.

Nu zou ik, volgens de documentatie, een percentage in register 0xF001 (UInt16) (0 - 100%) kunnen schrijven wat de 'Active Power' zou moeten beinvloeden. Dat laatste werkt niet.

Wat ook niet werkt is het restoren van de eerdere waarden in 0xF100 en 0xF142 door een 1 in register 0xF101 (Uint16) te schrijven. Ik krijg daar steevast de foutmelding dat het packet 6 bytes moet bevatten wat volledig onduidelijk is. Ik los dat nu op door de 'oude' waarden terug te schrijven in die registers en weer een commit uit te voeren.

Is er iemand die dit herkend en weet wat er aan de hand is?

Acties:
  • 0 Henk 'm!

  • Mrlten
  • Registratie: Februari 2005
  • Laatst online: 18:19

Mrlten

Premium Deluxe Plus

Hi, ik ben sinds gisteren begonnen met een projectje om mijn SolarEdge omvormer aan te sturen via modbus. Het instellen van de Active Power Limit (0xF001) is mij wel gelukt; je hoeft daarvoor helemaal niets te doen met 0xF142, 0xF104 of 0xF100 en je kan het limiet direct wegschrijven naar 0xF001.

Welke programmeertaal gebruik je?

Acties:
  • 0 Henk 'm!

  • Marcel v O
  • Registratie: April 2025
  • Laatst online: 14-04 22:09
Geachte heren,

Ik ben zeer geïnteresseerd in de oplossing die jullie hier bespreken. Mag ik vragen welk Modbus-adres jullie inlezen (bijvoorbeeld 400…)? Ik kan dit niet terugvinden in de documentatie.

Met vriendelijke groet,
Marcel

Acties:
  • 0 Henk 'm!

  • Mrlten
  • Registratie: Februari 2005
  • Laatst online: 18:19

Mrlten

Premium Deluxe Plus

Marcel v O schreef op vrijdag 11 april 2025 @ 16:23:
Geachte heren,

Ik ben zeer geïnteresseerd in de oplossing die jullie hier bespreken. Mag ik vragen welk Modbus-adres jullie inlezen (bijvoorbeeld 400…)? Ik kan dit niet terugvinden in de documentatie.

Met vriendelijke groet,
Marcel
Ik heb de informatie uit deze pdf gehaald: https://www.haroldhalewij...r-SolarEdge-Inverters.pdf

Als je het maximale omvormer vermogen wilt aanpassen dan is dat de "Active Power Limit". Die heeft adres F001, ofwel 0xF001. Let er op dat je bij het uitlezen en wegschrijven de 'type' en 'size' volgt, niet dat je een int (32 bits, signed) gaat wegschrijven terwijl de documentatie zegt dat het een Uint16 (16 bits, unsigned) is.

Voor de active power limit hoef je alleen maar F001 te zetten. De documentatie is wat verwarrend omdat het F001 benoemd en direct over gaat op de geavanceerde instellingen die je verder niet nodig hebt.

Verder heeft SolarEdge meer registers die je kunt uitlezen, namelijk https://knowledge-center....tation-technical-note.pdf vanaf pagina 17.

Acties:
  • 0 Henk 'm!

  • Marcel v O
  • Registratie: April 2025
  • Laatst online: 14-04 22:09
Bedankt voor je feedback, Het is me met behulp van ChatGPT en na wat zoeken en proberen ook gelukt om via Modbus in Loxone de Active Power Limit (0xF001) op i/o adres 61441 middels een 6 - Write Single Register (0x06) en 16UINT aanpasbaar te maken aan mijn actuele verbruik. Nu kan ik op basis van het actuele verbruik gedeeld door mijn max. AC-vermogen van de omvormer de active power limit berekenen en inlezen in Loxone.

Het heeft wat moeite gekost en heb verschillende zaken geprobeerd op basis van de handleiding, maar ik vermoed dat ik voor mijn systeem Commit Power Control (0xF100) op i/o adres 61696 wel dien te wijzigen naar 1 middels een 6 - Write Single Register (0x06) en 16UINT.

Als ik dat doe krijg ik net als bij 0xF001 een confirmation lijn op de log te zien.

Ik heb inmiddels ook mijn energie manage aangepast zodat deze rekening houdt met de verwachte opgewekte zonne energie op basis van 100% Active Power Limit, i.p.v. de actuele opwek, zodat mijn auto lader en verwarming gewoon worden ingeschakeld o.b.v. surplus zonnestroom ongeacht de %-waarde van Active Power Limit.

[ Voor 171% gewijzigd door Marcel v O op 14-04-2025 16:59 . Reden: Nu heb ik wat zinvols te melden ]


Acties:
  • 0 Henk 'm!

  • Mrlten
  • Registratie: Februari 2005
  • Laatst online: 18:19

Mrlten

Premium Deluxe Plus

@Marcel v O Mooi dat het gelukt is :) Wel vreemd dat je 0xF100 moet zetten bij jouw omvormer, de mijne (SE4000H, jaartje oud) voert het direct door en het vermogen zie ik ook in de app binnen 2 tellen aanpassen. Misschien een verschil in omvormer versie/firmware.

Acties:
  • 0 Henk 'm!

  • Marcel v O
  • Registratie: April 2025
  • Laatst online: 14-04 22:09
Ik heb een SC17K van 2020. Heel goed mogelijk dat oudere modellen deze extra stap vereisen.

Acties:
  • +1 Henk 'm!

  • PaulSinnema
  • Registratie: Mei 2017
  • Laatst online: 15-04 23:37
Mrlten schreef op zondag 16 maart 2025 @ 11:07:
Hi, ik ben sinds gisteren begonnen met een projectje om mijn SolarEdge omvormer aan te sturen via modbus. Het instellen van de Active Power Limit (0xF001) is mij wel gelukt; je hoeft daarvoor helemaal niets te doen met 0xF142, 0xF104 of 0xF100 en je kan het limiet direct wegschrijven naar 0xF001.

Welke programmeertaal gebruik je?
Sorry voor de late reactie. Ik maak gebruik van C# om mijn Sessy's aan te sturen. Je vindt mijn project op GitHub: https://github.com/PaulSinnema/SessyWeb.

Het is nu nog helemaal gericht op mijn thuissituatie met SolarEdge en 3 Sessy's maar dat is in principe goed aan te passen.

Mijn installateur heeft me ontmoedigd om via Modbus mijn omvormer aan te sturen i.v.m. garantie die zou vervallen. Nog niet van hem gehoord of dat ook echt het geval is.

Interessant dat je direct 0xF001 aan kunt sturen. Ga ik proberen.

Acties:
  • 0 Henk 'm!

  • PaulSinnema
  • Registratie: Mei 2017
  • Laatst online: 15-04 23:37
Mrlten schreef op zondag 13 april 2025 @ 12:59:
[...]

Ik heb de informatie uit deze pdf gehaald: https://www.haroldhalewij...r-SolarEdge-Inverters.pdf

Als je het maximale omvormer vermogen wilt aanpassen dan is dat de "Active Power Limit". Die heeft adres F001, ofwel 0xF001. Let er op dat je bij het uitlezen en wegschrijven de 'type' en 'size' volgt, niet dat je een int (32 bits, signed) gaat wegschrijven terwijl de documentatie zegt dat het een Uint16 (16 bits, unsigned) is.

Voor de active power limit hoef je alleen maar F001 te zetten. De documentatie is wat verwarrend omdat het F001 benoemd en direct over gaat op de geavanceerde instellingen die je verder niet nodig hebt.

Verder heeft SolarEdge meer registers die je kunt uitlezen, namelijk https://knowledge-center....tation-technical-note.pdf vanaf pagina 17.
Marcel, 0xF001 betekent dat het een hexadecimaal adres betreft. Omgerekend is dat 61441.

Acties:
  • 0 Henk 'm!

  • PaulSinnema
  • Registratie: Mei 2017
  • Laatst online: 15-04 23:37
Marcel v O schreef op zondag 13 april 2025 @ 19:49:
Bedankt voor je feedback, Het is me met behulp van ChatGPT en na wat zoeken en proberen ook gelukt om via Modbus in Loxone de Active Power Limit (0xF001) op i/o adres 61441 middels een 6 - Write Single Register (0x06) en 16UINT aanpasbaar te maken aan mijn actuele verbruik. Nu kan ik op basis van het actuele verbruik gedeeld door mijn max. AC-vermogen van de omvormer de active power limit berekenen en inlezen in Loxone.

Het heeft wat moeite gekost en heb verschillende zaken geprobeerd op basis van de handleiding, maar ik vermoed dat ik voor mijn systeem Commit Power Control (0xF100) op i/o adres 61696 wel dien te wijzigen naar 1 middels een 6 - Write Single Register (0x06) en 16UINT.

Als ik dat doe krijg ik net als bij 0xF001 een confirmation lijn op de log te zien.

Ik heb inmiddels ook mijn energie manage aangepast zodat deze rekening houdt met de verwachte opgewekte zonne energie op basis van 100% Active Power Limit, i.p.v. de actuele opwek, zodat mijn auto lader en verwarming gewoon worden ingeschakeld o.b.v. surplus zonnestroom ongeacht de %-waarde van Active Power Limit.
Ah, je bent er al uit zie ik, top!

Acties:
  • 0 Henk 'm!

  • Mrlten
  • Registratie: Februari 2005
  • Laatst online: 18:19

Mrlten

Premium Deluxe Plus

PaulSinnema schreef op maandag 14 april 2025 @ 22:17:
[...]
Sorry voor de late reactie. Ik maak gebruik van C# om mijn Sessy's aan te sturen. Je vindt mijn project op GitHub: https://github.com/PaulSinnema/SessyWeb.
Dat is zo te zien al een behoorlijk uitgebreide app geworden. Ik ben zelf een .NET developer van beroep en ik werk dagelijks aan een Blazor app :)
Mijn installateur heeft me ontmoedigd om via Modbus mijn omvormer aan te sturen i.v.m. garantie die zou vervallen. Nog niet van hem gehoord of dat ook echt het geval is.
Volgens mij is dat gewoon bangmakerij...

Trouwens, mocht je een SolarEdge energy meter hebben dan kan je de omvormer ook op de "zero export" modus zetten. Dan gaat de omvormer precies opwekken wat het huis verbruikt. En in die modus kan je ook instellen (via modbus) hoeveel watt er nog wel teruggeleverd mag worden.

Icm dynamische prijzen kan je dan bijvoorbeeld iets maken als; boven de 2 cent -> maximaal terugleveren, tussen de 0 en 2 cent -> max 2000 watt terugleveren, beneden de 0 cent -> 0 watt terugleveren.

Ik ga binnenkort een SolarEdge inline meter in de meterkast plaatsen en dan kijken wat ik er mee kan icm dynamische prijzen :*)

Acties:
  • 0 Henk 'm!

  • PaulSinnema
  • Registratie: Mei 2017
  • Laatst online: 15-04 23:37
Ja, het is een flinke applicatie geworden. Ik hink nog een beetje op mijn strategie en er zijn nog zaken die, zij het marginaal, resultaat gaan opleveren zoals het beter inschatten wat mijn huis op welke dag/uur verbruikt bij een bepaalde temperatuur. En beter inschatten wat de zonneopbrengst gaat worden. Dat laatste werkt overigens al best wel goed. Ik zit er per dag maximaal 1 a 2 kWh naast maar dat is prima. Ik kijk sowieso naar wat er real-time wordt opgwekt. Nu nog kijken naar wat er real-time wordt verbruikt. Project is nog niet af :)

Acties:
  • 0 Henk 'm!

  • Kris.docx
  • Registratie: December 2022
  • Laatst online: 17-05 13:13
Ik heb voor mijn systeem dat ik voor mijn systeem Commit Power Control (0xF100) op i/o adres 61696 wel dienen te wijzigen naar 1, voordat ik de advanced powerlimiet kon aanpassen.

Acties:
  • 0 Henk 'm!

  • ReSpawN
  • Registratie: Augustus 2009
  • Laatst online: 13-05 12:41

ReSpawN

Age of the Geek, baby!

Na het lezen van verschillende bronnen (incl. deze thread en de PDF) heb ik intussen het e.a. werkend, echter heb ik nog steeds een snapback van mijn Active Power Limit (F001), die elke keer terug naar 100 schiet.

Wat bij mij wél lijkt te werken, is een Float32 te schrijven naar F322, te kennen als Dynamic Active Power Limit. Als ik die schrijf throttled de F001 automatisch naar 90. Het lijkt dus dat F300 (Enable Dynamic Power Control) het hele idee een beetje tegenspreekt. Nou kan ik b.v. de HASS add-on "SolarEdge Modbus" tweaken om naar een ander register te schrijven, maar ik vraag me af hoe jullie het hebben ingeregeld. F001 lijkt de voorkeur te hebben (wat ik ook in @PaulSinnema's project zie).

Ik pas het op dit moment aan in Modbus Poll omdat ik het eenmaal goed wil hebben, anders zou ik het in zowel C# als Python kunnen schrijven, zodra die behoefte er is.

[ Voor 0% gewijzigd door ReSpawN op 12-05-2025 17:44 . Reden: Grammar Nazi ]

Age of the Geek, baby!


Acties:
  • 0 Henk 'm!

  • Ron O
  • Registratie: Maart 2025
  • Laatst online: 17:04
Een float32 (0-100) schrijven naar F322 (Dynamic Active Power Limit) lijkt ook mij de enige oplossing om het opgewekte vermogen van de omvormer te beperken.
Als je dynamische prijzen in de app bij export zet gaat dit register ook naar 0% als er niet geleverd moet worden.
Pagina: 1