AHOY-DTU (https://github.com/grindylow/ahoy) delivers power metrics from inverter via MQTT to ioBroker. Your ioBroker writes this data to InfluxDB. The Grafana dashboard consumes data from InfluxDB. This is the successor of the former solution https://github.com/c1328/ahoy-mosquitto-telegraf-influx-grafana
(Hoymiles-)Inverter -> Ahoy-DTU -> ioBroker (MQTT Broker/Client Adapter) -> InfluxDB 2.x -> Grafana
Warning: The connection Ahoy-DTU -> ioBroker (MQTT Broker/Client Adapter) is currently insecure (no SSL available).
Dashboard has five sections:
- Overview: Main power metrics from Ahoy-DTU, Shelly power consumption, Cloudiness (forecast), daily production of last month
- Production history by day and by week
- Ahoy-DTU details like uptime and MQTT status
- Details: Some inverter metrics like power limit, irridation details of your panels. This section repeats for each inverter you have.
- Balance: Ahoy-DTU power vs. Shelly power consumtion
- Ahoy-DTU with configured MQTT broker/server (topic will be "ahoy-dtu" and name of inverter 0 will be "Hoymiles1")
- ioBroker has MQTT Broker/Client Adapter installed and instanced with default settings (listening on port 1883; SSL is not supported by Ahoy-DTU yet)
- with the first connection og Ahoy-DTU to ioBroker all objects are created as shown:
- (this step is not needed for latest version of Ahoy) if you want to set power limits via your ioBroker later you have to create "ctrl" datapoints manually with MQTT explorer (http://mqtt-explorer.com), I only created the nonpersistent ones:
- Please check https://github.com/lumapu/ahoy/blob/main/User_Manual.md accordingly and how to control your inverter via MQTT messages.
- ensure having an influxDB (version 2.x) connected to your ioBroker environment (in an former version I used Influx 1.x, you can find the latest dashboard version but it will no longer maintained by me).
- choose your desired datapoints to be stored in a influxDB by click on the custom settings wheel at the right and activate influxDB:
- ensure that you setup the same influxDB as data-source in your Grafana installation.
- import the JSON file of this repo.... Important: This JSON contains my individual dashboard. It might be needed to adjust it to your needs. There are also some "historical" queries because I switched from a Inverter -> Ahoy-DTU -> MQTT (mosquitto) -> Telegraf -> InfluxDB -> Grafana architecture to the one with ioBroker, plesae checkout here the former solution: https://github.com/c1328/ahoy-mosquitto-telegraf-influx-grafana
Enjoy dashboard and producing energy (dashboard is currenly configured for one inverter and two panels east/west - please adjust to your needs)
Dashboard variables:
- kwhPrice: Define your individual price of a kWh to calculate your potential daily savings - in case you consumed all of your produced energy.
- ahoyTopic: currenly not in use
- ahoyInvertername: currenly not in use
I added some weather metrics to the dashboard (e.g. cloudiness of the region my PV/inverter is located). To get the weather metrics working:
- Get an API key from https://openweathermap.org
- add and configure the openweathermap.org adapter to you ioBroker
- choose desired metrics and write them to your influxDB, e.g. "clouds":
I added some shelly metrics to the dashboard (e.g. power) to have a balance chart that shows production vs. consumption. I have only some shelly plugs to measure my consumption but thats fine so far. If you have any better data source (Shelly EM3 or direct access to your smart meter please change accordingly):
- add and configure the Shelly adapter to you ioBroker
- choose desired metrics and write them to your influxDB, e.g. "Power"
- configure your transform of the consumption panel:
Feel free to feedback!