Zonnepaneel energie monitoring deed ik al een tijdje met een standaard energie verbruiksmeter die is omgebouwd om teruglevering te meten. Hierdoor krijg je natuurlijk een duidelijke meting van de totaal opbrengst maar regelmatig ging de meter in storing en dan was de kwh opbrengst niet meer bewaard.

EmonCMS is een mooie manier om de dagelijkse opbrengst te meten en als je wilt kun je natuurlijk ook een verbruiksmeting doen en dit zichtbaar maken in de overzichten in combinatie met de teruglevering.

emoncms voorbeeldVoor de opzet van het meetsysteem gebruik ik de RaspberryPi B+ 512mB slechts als een pulse0 teller die de puls doorzet naar een lokale EmonCMS installatie die draait op een Synology NAS. Een RaspberryPi is misschien een beetje overkill voor een teller systeem, maar wel eenvoudig op te zetten, zuinig met energie en stabiel.

Digitale Kwh meter met pulse0 uitgang

De pulse0 komen van een digitale Kwh meter (DRS155D, gekocht via Ebay) die meteen ook als backup de totale opbrengst (teruglevering) telt en op de Raspberry Pi bewaard.

Test opzet van de zonnepaneel energie monitoring met RaspberryPi en pulse0 kwh meter

Test opzet van de zonnepaneel energie monitoring met RaspberryPi en pulse0 kwh meter

Pulse0 teller software voor EmonCMS

Voor het tellen van de pulsen die uit de Kwh teller(DRS155D) komen is er gelukkig al software beschikbaar dat eenvoudig op de RaspberryPi te installeren is. Ondrej1024 heeft dit al mooi in elkaar gezet. Alleen is dit script bedoelt om de data naar emoncms.org te sturen en niet naar een lokale EmonCMS. Gelukkig is dit eenvoudig op te lossen door het teller script aan te passen voordat je dit instaleert in de RPi. Zie de beschrijving hier onder over de noodzakelijke aanpassingen.

Aanpassingen van het script

Door het bestand /src/webapi.c aan te passen kunnen je jouw lokale EmonCMS benaderen in plaats van de emoncms.org website.  Kijk op regel 25 waar je de domeinnaam ziet en pas die aan naar jouw lokale EmonCMS lokatie.

#define EMONCMS_API_BASE_URI "http://emoncms.org"

UPDATE: Inmiddels heeft de maker van het script een aantal aanpassingen gedaan zodat je nu in de configuratie van het script een eigen url kunt opgegeven. De aanpassing hierboven is dus niet meer noodzakelijk.

Daarnaast heb ik meteen het configuratie bestand aangepast zodat ik dit niet na de installatie hoef te doen en dus ook meteen een werkende versie heb na de installatie. Hiervoor pas je het bestand aan in /conf/emon.conf. De volgende zaken moeten worden aangepast:

# Pulse counter specific parameters
################################################
[counter]
pulse_input_pin = 4 # BCM pin number used for pulse input from energy meter
wh_per_pulse = 1 # Wh per pulse (from the Energy meter setting)
pulse_length =  # pulse length (in ms), leave blank for auto detection
max_power = 3300 # max possible power (in W) provided by energy company

En vergeet ook niet de ‘write’ api key uit jouw lokale EmonCMS te kopieren en toe te voegen.

Update: Nieuw is het nu in de configuratie toegevoegde api_base_url.

# WebAPI specific parameters
################################################
[webapi]
api_base_uri = http://emoncms.org # Public EmonCMS server
api_key     = 1234567890  # Personal EmonCMS API key

Voor de pulse + input heb ik Rpi gpio nummer 7 gebruikt. Let wel op dat de teller configuratie de BCM nummers gebruikt, dus in mijn geval moet dat dus 4 zijn.

RaspberryPi opzet

Voor de Installatie van Energy Monitor software op de RaspberyPi volg je de instructies van Ondrej op Github. Let op: De hierboven beschreven aanpassingen in het teller script doe je voor de installatie stap (Build and install).

Het Energy Monitor script is geïnstalleerd op de RaspberryPi B+ 512Mb die draait met Noobs 1.4.1 en een TP-Link usb wifi stick.

Veel monitoring plezier!