Just a simple energy monitoring system using :-
- Raspberry pi
- Eastron SDM 230 energy meter
- Modbus RS 485 to USB converter to read my house energy consumptions through Modbus RS 485 protocol
Just a simple project which I used as my Final Year Project during my degree :)
- Read the Modbus raw data based on the Eastron SDM 230 documentations manual , you can just get it online or download it from this repo
- Decode the Modbus raw data into readable format or more specifically decode it into float data type
- Build a JSON object for ease of reading so your eyes wont hurt :)
- Publish the JSON object to InfluxDB as well as MQTT Broker for easy access of the Data and persistent storage for further analysis
- Build Grafana dashboard for data visualizations
Below JSON object is the example data output which the Node-Red program has processed
{
"Voltage":233.97,
"Instantaneous Current":10.97,
"Instantaneous Power":2549.95,
"Frequency":50.05,
"Energy Consumptions":19541.08,
"Instantaneous Apparent":2553,
"Instantaneous Reactive":124.68,
"Power Factor":0.999,
"Maximum Power Demand":10291.84,
"Maximum Current Demand":47.44
}
Below image shows the JSON object has been successfully published to the MQTT Broker , I viewed all the topics in the broker using MQTT Explorer
Below image shows the JSON object has been succesfully inserted into the databasse (InfluxDB)
Below Image shows my final dashboard using Grafana for Monitoring Home Energy Consumptions