Output van Omnik omvormer loggen
Ongeveer 7 jaar geleden hebben wij zonnepanelen op het huis geplaatst en in gebruik genomen. Als omvormer wordt een Omnik TL1.5 gebruikt met een wifi module. Deze module uploadt standaard de gegevens rondom de opgewekte energie naar de website van de leverancier waar we via de site www.omnikportal.com alles in konden zien.
Helaas blijkt de Omnikportal site de laatste tijd niet de meest betrouwbare site waardoor de informatie regelmatig niet beschikbaar is. Na wat googlen kwam ik allerlei mensen tegen die de informatie van de omvormer zelf uitlezen met python en bijvoorbeeld een raspberry pi.
Nu had ik nog een Raspberry pi liggen en dacht ik laat ik dat ook proberen. Ik heb allereerst geprobeerd om de code op mijn PC aan de gang te krijgen om dit vervolgens op de Raspberry Pi te kopieren en daar automatisch te laten starten. Hieronder een aantal dingen die ik heb geleerd.
Voorbereidingen
- Allereerst een Raspberry Pi met SD kaart voorzien van de laatste Raspian image (lite). Zie hier voor een handleiding voor een headless installatie: https://hackernoon.com/raspberry-pi-headless-install-462ccabd75d0
(Inclusief SSH toegang en wijzigen van wachtwoorden) - Een vast IP adres toewijzen aan de omvormer.
- Een account en installatie aanmaken op https://PVOutput.org (als alternatieve site voor de OmnikPortal)
Hier kan vervolgens een API key en een installatie code gekopieerd worden. - Download de sourcecode van de Inverter-Data-Logger van: https://github.com/XtheOne/Inverter-Data-Logger
- Zorg dat Python op de PC is geinstalleerd.
Stappenplan
- Allereerst op mijn PC de benodigde Python libraries installeren
- pip install six
- pip install paho-mqtt
- pip install pytz
- Kopieer de config-org.cfg in de sourcecode naar config.cfg en pas de instellingen aan
- Onder de [logger] sectie vul het IP adres gevolgd door het serienummer van de wifi module gescheiden door een comma.
- zet een # voor de gateways = auto regel. Hierdoor wordt dit commentaar.
- Run python LiveStats.py dit zal laten zien of de verbinding gemaakt kan worden met de omvormer. Hier komt ook het Inverter ID voorbij. Kopieer deze.
- Open het config.cfg bestand opnieuw en ga naar de [pvout] sectie
- Pas de apikey en sysid aan door deze aan te vullen met het Inverter ID en geef ze vervolgens de waarde van de PVOut site.
[pvout] apikey-InverterID = apikey_gekopieerd_van_PVOUT sysid-InverterID = siteid_gekopieerd_van_PVOUT
- Run nu Python InverterExport.py
Het resultaat zou nu zichtbaar moeten worden op PVOut - LET OP: Het standaard InverterExport script bevat een if-statement dat het alleen informatie naar PVOut stuurt op de 5e minuut. Deze statement kan er ook uit.
- Pas de apikey en sysid aan door deze aan te vullen met het Inverter ID en geef ze vervolgens de waarde van de PVOut site.
- Nu hebben we werkende code en kan het naar de Raspberry Pi.
- Open een SSH verbinding met de Raspberry Pi
- Geef de Raspberry Pi ook een statisch IP adres:
- sudo nano /etc/dhcpcd.conf
- Vergeet ook de router niet in te stellen anders kan de Raspberry pi het internet niet op.
- Maak een folder aan op de raspberry pi voor de Inverter-Data_logger
- Kopieer de bestanden van de PC naar de Raspberry Pi.
- Dit kan met het SCP commando
- scp . USERNAME@IP-adres_Raspberrypi:DoelFolder
- Installeer Python en PIP op de raspberry PI
- sudo apt-get install Python3
- sudo apt-get instal Python3-pip
- Met name de expliciete versie van Python toevoegen had ik niet verwacht en duurde even voor ik het door had.
- Maak een alias voor Python die wijst naar de python versie door in mijn geval alias python=’python3.7′ in te voeren.
- Installeer dezelfde PIP libraries door sudo pip3 install …. te gebruiken.
- Nu kan het script weer op dezelfde manier getest worden door python LiveStats.py en python InverterExport.py te proberen.
- Laatste stap CRON inrichten voor het automatisch uitvoeren
- crontab -e opent de cron configuratie
- voeg aan het einde een regel toe voor het automatisch uitvoeren van het export script.
- *** * * * * sudo /usr/bin/python3 /home/username/Inverter-Data-Logger/InverterExport.py**