====Die JSON Daten eines SMA Batterie Wechselrichters über Telegraf in die InfluxDB schreiben===== Im Prinzip gleich wie bei [[prod:telegraf_influx_shelly_plug|Die Daten eines Shelly Plugs über Telegraf in die InfluxDB schreiben]]. Der Trick ist der Parameter "insecure_skip_verify = true" in der "[[inputs.http]]" Section um den Zertifkatfehler zu händelen. Für das Parsen des JSON Datensatzes ist das Tool https://gjson.dev/ hilfreich ---- === JSON aufrufen und Werte finden ==== Über die URL **https:///dyn/getDashValues.json** lassen sich die Daten des Batterie Storages auslesen. Ausgewertet werden soll der Ladezustand % und der aktuelle Ladung, der passenden Schlüssel über die Werte in der Startseite des Batterie Storages. ---- ==== Konfiguration ==== Abgelegt unter /etc/telegraf/telegarf.d/sma_batterie.conf # Configuration for sending metrics to InfluxDB [agent] round_interval=true interval="30s" [[outputs.influxdb]] urls = ["http://192.168.1.212:8086"] database = "SOLAR" # Send telegraf metrics also to file [[outputs.file]] ## Files to write to, "stdout" is a specially handled file. files = ["stdout", "/srv/telegraf/metrics_SMA_BAT_SOLAR.out"] ## Use batch serialization format instead of line based delimiting. The ## batch format allows for the production of non line based output formats and ## may more efficiently encode metric groups. # use_batch_format = false ## The file will be rotated after the time interval specified. When set ## to 0 no time based rotation is performed. rotation_interval = "1d" ## The logfile will be rotated when it becomes larger than the specified ## size. When set to 0 no size based rotation is performed. #rotation_max_size = "10MB" ## Maximum number of rotated archives to keep, any older logs are deleted. ## If set to -1, no archives are removed. rotation_max_archives = -1 ## Data format to output. data_format = "influx" # # Read SMA Batterie Storage [[inputs.http]] urls = [ "https://sma3012693486/dyn/getDashValues.json" ] method = "GET" insecure_skip_verify = true data_format = "json_v2" #tagexclude = [ "host","url"] [[inputs.http.json_v2]] measurement_name = "sma_bat_load" #timestamp_path = "unixtime" timestamp_format = "unix" timestamp_timezone = "Europe/Berlin" #-------------- Schlüssel [[inputs.http.json_v2.tag]] path = "result.0169-B3920DEE.6800_10821E00.7.#.val" rename = "sn" #-------------- Felder [[inputs.http.json_v2.field]] path = "result.0169-B3920DEE.6100_40263F00.7.#.val" rename = "akt_load" [[inputs.http.json_v2.field]] path = "result.0169-B3920DEE.6100_00295A00.7.#.val" rename = "total_load_status" ---- ==== Quellen====