I have a SolarEdge Inverter which is monitored by a energy meter (SolarEdge SE-MTR-3Y-400V-A). The energy meter gets measurements from the inverter and measures voltage and current at the house entry point.
SolarEdge provide a monitoring service and a mobile app to monitor the system. An example is shown here:
To be able to monitor and evaluate the measurements by myself I use the following applications:
- mbmd - to read the measurements from the inverter and energy meter
- nodered - to calculate some derived values
- mqtt - to "transport" the measurements between the apps
- telegraf - to write the measurements into influxdb
- influxdb - to store the measurements
- grafana - to display the measurements
The result looks like this (a snapshot is available
here):
Configuration
mbmd
The mbmd reads the measurements from the inverter and (via the inverter) from the energy meter.
pi@racknode:/etc $ more mbmd.yaml
# REST api, use 127.0.0.1 to restrict to localhost
api: 0.0.0.0:8080
# mqtt config
mqtt:
broker: my.mqtt.server:1883
topic: mbmd
# user:
# password:
clientid: mbmd
qos: 0
homie: ""
# homie: homie
# adapters are referenced by device
adapters:
- device: inverter.ip.addr:1502
# list of devices
devices:
- name: inverter
type: SE
id: 1
subdevice: 0 # use subdevice to access SunSpec subdevices
- name: powermeter
type: SE
id: 1
subdevice: 1 # use subdevice to access SunSpec subdevices
Node-Red
To calculate the "self consumption" and split the measured power in Import/Export I create a Node-Red flow:
Here is the corresponding
flow code.
Telegraf
The telegraf is configured to transfer the mqtt messages to the influxdb.
The config is available
here.
Grafana