Aanbod

Uitschakelen zonnepanelen bij negatieve prijzen

Voorlichting & advies
Illustration

Aantal voorwaarden:

  • Je hebt een dynamisch energiecontract per uur en dus last van negatieve prijzen (op dit moment -zomer23- vooral weekend-middagen in de zomer).
  • Je hebt zonnepanelen aangesloten op je eigen meterkast.
  • Je hebt er een hekel aan om te moeten betalen als je zonnestroom levert.
  • Je bent handig genoeg om een klein relais op te nemen in de 230-volt lijn van de zonneinstallatie.

Dan:

Heb ik hieronder een handleiding met een klein script die geladen moet worden op een actief realais van Shelly.

Hoe:

  • Koop een Shelly1(PM) voor rond de 20 euro via bv. een nederlands website. Bouw deze bv. in een kabel-kast oid. (zie foto).
  • Vraag een (gratis) toegangstoken aan op https://enever.nl/prijzenfeeds/

Electra

  • Onderbreek de kabel tussen omvormer en meterkast. (Schakel nartuurlijk wel eerst de panelen en de zekering in de meterkast uit).
  • Verbind de aarde draad (geel-groen)weer met elkaar.
  • Sluit de nul-draad (blauw) aan op een 'N' aansluiting (en natuurlijk ook weer aan de meterkast-kant en de omvormer).
  • De zwarte (soms bruin) draad uit de meterkast op een 'L' en de zwarte (soms bruin) op de '0' die naar de omvormer gaat.
  • Zet panelen en zekering uit de meterkast weer aan.

WiFi

  • Sluit WiFi aan op de Shelly1 zodat het de website kan raadplegen. (Zie handleiding, is niet echt lastig)
  • Log in op de Shelly en maak script (kies een handige naam) aan met onderstaande code (cut-paste).
  • Vervang de tekst 'Your Token' met de token van enever.nl. Zorg dat de " voor en achter de token blijven staan.

Activeer

  • Druk op Save - Start. Als je geen fouten tegenkomt in de logging ben je actief. Als je dit soort gegevens ({"00":"0.091620","01":"0.084000","02":"0.082400", ...) in het Console scherm tegenkomt zit je helemaal goed.
  • Vergeet niet om schakelaartje bij script (helemaal rechts) aan te zetten, anders start de Shelly niet na een powerdown van de Shelly.

Support

  • Meld mij dat je installatie actief hebt, dan hou ik je op de hoogte bij calamiteiten of bij noodzakelijke updates. Mail me op energie@buurtbuzz.nl

Paar opmerkingen/Disclaimer:

Het relais kan 16A schakelen,  in de praktijk komt dat neer op zo'n 3Kw (8 panelen) max. Bij grotere vermogens dien je een extra relais op te nemen. Vaak moet je dan ook 3 fasen schakelen, dit hier is slechts voor 1 fase.

Het script is as-is. Toepassen is op eigen risico. Vergoeding uit dank en voor voor mijn Koffie-geld: ==> de Voedselbank Gouda

Ik hoor graag ervaringen om zaken te kunnen verbeteren, dit soort projecten zijn nooit af.

Werking:

Na de start wordt er elke 5 minuten gekeken wat de stroomprijs voor dat uur is, Als er een prijs gegeven is EN die prijs is negatief dan wordt het relais uitgeschakeld. Zonder actuele prijs of een positieve prijs wordt de verbinding weer hersteld. 

Elke dag wordt de prijs opnieuw opgevraagd. Dat gebeurt 1 keer per nacht of na het opnieuw opstarten van het script/relais.

In de nacht wordt het relais uitgeschakeld om relais-verkleving (indien noodzakelijk) te voorkomen.

Fine tuning van dit process -zoals eerst eigen verbruik meerekenen - is zonder andere fysieke componenten niet mogelijk. Maar verras me.

 

//Start
// Version 20230707  Public domain, useing for your own risk. Enjoy
// Wim van Beek: energie@buurtbuzz.nl 
// Empty lines can be deleted

 let yourToken = "Your Token";
 let url = "https://enever.nl/api/simpelprijs.php?token="+yourToken;
 print ('Start on', url);
 let obj = {};
 
 function intervalMethod(){  // function is being called every interval
     let curtime = Shelly.getComponentStatus("sys").time;
     curtime = curtime.slice(0,curtime.indexOf(':'));  // Current hour
     if (curtime > 21 ){  // Dark ourtside
        switchOff();   // Switch off to avoid relay adhesion
        obj = {};   // Kill current values
        return;
     }
     if (curtime < 5 ){   // Still dark ourtside
        switchOff();
        return;
     }    
     if (obj[curtime] == null ){  // No prices, get them now. Tipical once per day
        print('Get Prices now');
        getPrices();
     }
     if (obj[curtime] == 'undefined' || obj[curtime] > 0 ){    // No prices OR Positive prices
        switchOn();
        return;
     }
     if ( obj[curtime] < 0  ){    // price is negative and valid
        switchOff();
     }        
};

Timer.set(
   300000,   // Nr of millisec for interval Val 300000 = 5min
   true,
   intervalMethod
);

function getPrices(){ // Make call to service
    Shelly.call(
      "HTTP.GET", {
        "url": url,
      },
      function(result) {
       print("Result", result.body);
       obj = JSON.parse(result.body);
    })
};

function switchOff(){
    Shelly.call("Switch.set", {'id': 0, 'on': false});  // In use with Shelly1PM
    print ('Switched off');
}
function switchOn(){
    Shelly.call("Switch.set", {'id': 0, 'on': true}); // In use with Shelly1PM
    print ('Switched ON');
}
intervalMethod();  // Initial call

 

// End

 

 

Geplaatst op 18 juni 2023, 15:47 uur
Deel dit:
2 reacties

Carel De Vink

di 11 juli 2023 18:12
Mooie oplossing. Ga je uit van de prijzen met of zonder (€0,15) belasting.? Schakelen als de prijs met belasting <0 is lijkt mij het beste, want dan heb de netto prijs (al is er de verrekening van die belasting ivm saldering aan het eind van het contract-jaar).

Wim van beek

di 11 juli 2023 18:21
Beste Carel. Lang niet gezien/gesproken.
Ik ga uit van de kale energieprijzen zonder BTW beurswaarde (zie https://enever.nl/) . Bij teruglevering speelt BTW ed. geen rol, wel bij verbruik.
Saldering is bij uur-contracten (dynamische) ook niet
van toepassing. De schakelwaarde is te vinden bij obj[cur... lees meer