Hoymiles Inverter Daten aufbereiten

Hoymiles Inverter Daten aufbereiten

Ein Nachteil der im Artikel „Hoymiles Inverter auslesen“ verwendeten Software AHoy ist, dass die Daten nicht dauerhaft gespeichert werden, sobald sich der Inverter zum Strom sparen schlafen legt. Hier wurde eine datenbankbasierte Lösung gefunden und umgesetzt

Stark geholfen bei der eigenen Implementierung hat dieser Artikel. Ein MQTT-Server war bereits für andere Projekte auf einem RaspberryPi eingerichtet, so dass nur noch Telegraf und Influxdb installiert und konfiguriert werden mussten. Influxdb erhält man in der aktuellen Version 2 hier, die Installationsanleitung für die unterschiedlichen Betriebssysteme sind hier nachzulesen. Geholfen hat außerdem das Video von RaspberryPiCloud, auch wenn wir die Datenbank nicht per CLI sondern per GUI aufgesetzt haben.

Informationen zum Datensammelagenten Telegraf gibt es praktischerweise auch gleich auf der Seite von Influxdb. Die Konfigurationsdatei von Telegraf wurde dann mit Hilfe der bereits oben genannten Seite bei Grafana erledigt. Einzig etwas rechercheintensiv war das Einbinden von OpenWeatherMap, da sich die API mit dem neuen Onecall Zugang geändert hatte. Alle gemachten Einstellungen lauten nun:

/etc/telegraf/telegraf.conf

# Configuration for telegraf agent
[agent]
## Default data collection interval for all inputs
interval = „10s“
## Rounds collection interval to ‚interval‘
## ie, if interval=“10s“ then always collect on :00, :10, :20, etc.
round_interval = true

## Default flushing interval for all outputs. Maximum flush_interval will be
## flush_interval + flush_jitter
flush_interval = „30s“

###################################################
# OUTPUT PLUGINS #
###################################################

[[outputs.influxdb_v2]]
## The URLs of the InfluxDB cluster nodes.
##
## Multiple URLs can be specified for a single cluster, only ONE of the
## urls will be written to each interval.
## ex: urls = [„https://us-west-2-1.aws.cloud2.influxdata.com“]
urls = [„http://YOURIP:8086“]

## API token for authentication.
token = „influxdbTOKEN“

## Organization is the name of the organization you wish to write to; must exist.
organization = „influxdbORGANISATION“

## Destination bucket to write into.
bucket = „influxdbBUCKET“

###################################################
# INPUT PLUGINS #
###################################################

# # Read current weather and forecasts data from openweathermap.org
# Openweathermap
[[inputs.http]]
urls = [
„https://api.openweathermap.org/data/2.5/onecall?lat=50.11579&lon=11.3656020&units=metric&lang=de&exclude=minutely,hourly,daily,alerts&appid=abcdefghijklmnopqrstuvwxyz“
]
name_override = „weather“
method = „GET“
interval = „10m“
timeout = „15s“
data_format = „json“
json_time_format = „unix“
json_time_key = „current_dt“

###################################################
# SERVICE INPUT PLUGINS #
###################################################

# # Read metrics from MQTT topic(s)
[[inputs.mqtt_consumer]]
# ## Broker URLs for the MQTT server or cluster. To connect to multiple
# ## clusters or standalone servers, use a separate plugin instance.
# ## example: servers = [„tcp://localhost:1883“]
# ## servers = [„ssl://localhost:1883“]
# ## servers = [„ws://localhost:1883“]
servers = [„tcp://YOURMQTTSERVER:1883“]
#
# ## Topics that will be subscribed to.
topics = [
„inverter/#“,
]

Startet man nun Telegraf beginnt die Datensammelei und das Überspielen in die Datenbank. Da uns die Visualisierungsmöglichkeiten von influxdb ausreichten, verzichteten wir auf die Benutzung von Grafana. Ein Dashboard zur Visualisierung der Daten kann dann zum Beispiel so aussehen:

Letzte Artikel von Wolfgang Lormes (Alle anzeigen)
Kommentare sind geschlossen.