Node.js as a Service
It is no secret that making sure that you data is flowing is biggest concern for reliable statistics (and pretty pictures). Fortunately systemd now available on all popular Linux distributions so we do not have to write much. Mike MacCana has a great write up on bigger subject of Node.js as service but we're going to user only interesting to us part.
Service.js is set to
value changed event on meters. Furthermore it is only looking for changes in power and energy. Once event occurs and it is power or energy change it will send HTTP request to Lumen based logging service. You can test script by running
Now, you can check MySQL to see if data is inserted in tables. By default logging is turn off, so if you see any issue, it is probably good to uncomment
console.log parts of the service.js. Once you sure that data is making its way into SQL, it is time to hand off service monitoring to operation system.
You can find example service definition myapp.service in github repo. Depending on your setup you'll have to update path and copy your service file into the
/etc/systemd/system directory. Then run
to let systemd know about new service and start your service:
systemctl start myapp
It is important that there is no other connections to Z-stick at the same time. Systemd will quietly fail if you have another script with open connection.
Working with service
Just like with any other service, you can use
stop commands to start or stop service.
What is next
Next we're going to look at setting up NoSQL storage service to power up dashboard.