EmonHub SDS011 PM Sensor Interfacer

While Im at it with the EmonHub Tesla PowerWall interfacer, the other EmonHub interfacer that has crossed my mind to implement recently is one for the SDS011 PM Sensor. This would remove the need to use the docker implementation or install the service we created here usefulscripts/SDS011 at master · emoncms/usefulscripts · GitHub

image

Here is a basic SDS011 reader currently as a development branch for further testing: interfacer for SDS011 Nova PM sensor by TrystanLea · Pull Request #94 · openenergymonitor/emonhub · GitHub

Steps to test

On latest emonSD image.

cd /opt/openenergymonitor/emonhub
git pull origin
git checkout SDS011
sudo service emonhub restart

Then in emonhub.conf add the following interfacer configuration:

[[SDS011]]
    Type = EmonHubSDS011Interfacer
    [[[init_settings]]]
        serial_port = /dev/ttyUSB0
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,
        nodename = SDS011
        readinterval = 10

A key limitation of this interfacer (and the original docker and service examples) is that it does not put the SDS011 to sleep and therefore may degrade the lifespan of the SDS011 quicker than it could. I need to look at how to enable the sleep mode.