Zonnepanelen aan/uit zetten (Enphase)

Op een zonnige dag met veel wind kan het zijn dat de dynamische stroomprijzen gedurende een periode negatief worden. Indien je zonnepanelen hebt betekent dit dat je (mogelijk) moet betalen om stroom aan het net te leveren. Dat is natuurlijk niet de bedoeling. Enever.nl heeft PHP-script gemaakt om zonnepanelen uit- en aan te zetten.

Met het eerste script kun je controleren wat de huidige status van de zonnepanelen is. Daarna volgen de scripts om de zonnepanelen uit te zetten en aan te zetten (beide scripts zijn bijna hetzelfde, alleen deze regel verschilt: curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"length\":1,\"arr\":[1]}");

Vergeet niet om jouw token in te vullen waar $jwt_token = 'YOUR_TOKEN_HERE'; staat en het IP adres te wijzigen! Mocht je nog geen JWT-token hebben, dan kun je hier lezen hoe je eenvoudig een Enphase token kunt aanmaken middels een PHP-script.

LET OP! Je hebt hier een installer-account voor nodig (mogelijk werkt het ook met een DHZ-account).

STATUS ZONNEPANELEN OPVRAGEN:

ZONNEPANELEN UITZETTEN:

ZONNEPANELEN AANZETTEN:

Written by Enever.nl

16 thoughts on “Zonnepanelen aan/uit zetten (Enphase)

  1. Bedankt voor het delen van deze instructie.
    Ik loop echter wel vast.
    Het maken van een token lukt prima. Ik kan vervolgens voor het controleren van de productie de stap: ‘auth/check_jwt’ ook uitvoeren. Echter bij het daadwerkelijk controleren of de productie aan of uit staat, krijg ik de melding 401 unauthorized.
    Wanneer ik in de browser naar de gateway ga krijg ik met de URL dezelfde fout.
    Zou je voldoende rechten moeten hebben met het token om dit te kunnen opvragen en vervolgens te schakelen?

    Met vriendelijke groet,
    Edwin de Boer

  2. Dag enever.nl,

    Is het (al) mogelijk om, in combinatie met mijn dynamische contract, het uitzetten van de panelen automatisch gaat? Gecombineerd met de negatieve prijzen? Kan je daar iets meer over vertellen of weet je waar ik die informatie kan vinden?

    Alvast bedankt!
    Elisabeth

    1. @edward, kort vraagje. Ik heb HA op mijn Synology geïnstalleerd. En via bovenstaande link probeer ik de repository in HACS te openen. Echter hij blijft hangen bij mij. Enig idee?

      1. welke kies je dan?
        Deze?
        -I am a do-it-yourself user installing Enphase products?

        En ik heb een bestaand systeem dat onder ‘controle’ staat van mijn installateur. kan het dan?

          1. ok, Ik heb dat gedaan. Met een ander mailadres dan mijn ‘normale’ gebruiker/ Dat gaat goed. Alleen neem ik aan dat ik dan daarna in Enphase bij ‘Mijn Toegangscontrole” en dan “Bedrijven” een ander bedrijf toegang geven? Klopt dat? Want als ik dat doe met het :
            -I am a do-it-yourself user installing Enphase products?
            mailadres dan krijg ik de foutmelding :
            There is no company associated with the user info@*********.nl

  3. Ik ben benieuw of het nog werkt.
    Ik krijg namelijk een 401 authorisation required melding wanneer ik de status van de productie wil uitlezen of omschakelen.

    In maart werd mijn systeem zonder aankondiging opeens geupgrade en had met behulp van deze uitleg in node-red dit geheel werkend gemaakt en werkte prima. Voor een week of 2 denk ik. Bij testen werkte het en ook 1 x daadwerkelijk geschakeld vanwege negatieve stroomprijzen.
    Het is net of een DIY Installer account opeens minder rechten heeft gekregen en de productie niet meer mag schakelen.

    Mijn systeem staat ook onder beheer van een installateur en heb via een truc een DIY Installer account kunnen koppelen.

  4. Voor diegene die geen PHP op de uitvoerende machine hebben maar wel een bash script kunnen uitvoeren;

    #!/bin/bash
    # —–
    # Paste in een file met extensie .sh en maak het executable met het commando: chmod +x filename.sh

    # Bash script file to turn on power from the panels on the gateway

    # JWT token (replace with your actual token)
    jwt_token=”YOUR_TOKEN”

    # Data to be sent in the PUT request – TURN ON
    data='{“length”:1,”arr”:[0]}’

    # Make the curl request
    result=$(curl -s -k \
    -X PUT \
    -H “Accept: application/json” \
    -H “Authorization: Bearer $jwt_token” \
    -H “Content-Type: application/x-www-form-urlencoded” \
    -d “$data” \
    “https://LOCAL_IP_ADDR_GATEWAY/ivp/mod/603980032/mode/power”)

    # Check for errors during the curl request
    if [[ $? -ne 0 ]]; then
    echo “Error during the request”
    exit 1
    fi

    # Output the result
    echo “$result” #None if result is oke

    # END OF FILE

    —— Voor het uitzetten hoeft alleen de volgende regel in het script gezet te worden i.p.v. de huidige regel:

    # Data to be sent in the PUT request – TURN OFF
    data='{“length”:1,”arr”:[1]}’

    —–

    Script om te zien of de power productie aan of uit staat:

    #!/bin/bash

    # JWT token (replace with your actual token)
    jwt_token=”jouw_token_hier”

    # Make the curl request
    result=$(curl -s -k \
    -H “Accept: application/json” \
    -H “Authorization: Bearer $jwt_token” \
    “https://192.168.178.146/ivp/mod/603980032/mode/power”)

    # Check for errors during the curl request
    if [[ $? -ne 0 ]]; then
    echo “Error: $(curl -s –stderr -)”
    exit 1
    fi

    # Output the result
    echo “$result”

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *