I've just ordered a nanode in hopeful preperation for my contribution to the OpenEnergyMonitor project. (Oct 2011)
I'm going to be looking at interfacing a nanode to the SMA SunnyBoy range of PV inverters (http://www.sma.de/en/products/solar-inverters/sunny-boy.html)
Newer inverters have a Bluetooth interface for accessing there internal readings, including instant measurements for DC voltage/current (from solar panels) to mains AC, current, voltage and historic generation.
Most of the inverters also contain an inbuilt relay which can be switched over bluetooth by firing the correct commands.
Unfortuntely the SMA protocols which are used over bluetooth are not released to the public, but I've managed to recreate and get a working prototype (written in C# and also ported to Python) and this is now exporting the PV data to my www.solarstats.co.uk website every 10 minutes.
Hopefully OpenEnergyMonitor can eventually display throught its gLCD display PV performance as well as the other measurements.
Update Feb 7th 2012
I've uploaded the first version of my monitoring code to Github https://github.com/stuartpittaway/nanodesmapvmonitor
Its a big sketch/program - compiles to nearly 30.5Kbytes !
https://github.com/stuartpittaway/nanodesmapvmonitor/blob/master/README on GITHUB has more detail.
Tested with SMA3000HF, 3000TL, 4000TL - but in theory should work with all Bluetooth enabled inverters, please email me with your success/failure stories and I'll update/fix !
You will need to modify the code (see APIKey.h for constants) to configure your passwords/keys for Pachube/SolarStats.co.uk and PVOutput.org sites and disable which ones you don’t need.
You can also set the longitude/latitude of your location and the code will automatically determine when to wake up the monitoring of PV from sunrise.
Once the code is uploaded to the Arduino/nanode device, make PIN14 high and power on the board, this forces automatic SMA inverter scan/discovery over bluetooth, once its got the address, this is stored in EEPROM.
Connect a serial cable to the nanode board (115000,8,n,1 baud rates) to see debug messages.
You should see messages like...
Fake time resync
The code still needs integration with OpenEnergyMonitor and heavy reduction in program space, approximately 300 bytes of RAM are free during operation.
Its currently updating emonCMS, Pachube, SolarStats.co.uk and PVOutput.org at the same time
On pachube I'm uploading the free RAM and millis() counter once per minute, so far I've got at least 4 days uptime without a restart.
You can see the output at
Update 21 Feb
Happy to report that my code and Nanode 5 have been running continuiously for 10 days straight now without a single reboot or restart of the BT chip. I'm using Pachube to monitor uptime.
You can see where the code "goes to sleep" (dotted line) and then wakes up at sunrise to begin data capture - during this time the bluetooth and ethernet are kept awake, although I plan to shut them both down and put CPU to sleep.
Additionally, theres no RAM memory leaks, as I'm also logging this to Pachube, and the value has been constant for 10 days now.