Shelly Full Guide mit InfluxDB und MQTT sowie Telegraf in Grafana visualisieren (Überlange!!!)

preview_player
Показать описание
#shelly #homeautomation #smarthome #grafana

Hallo,
heute zeig ich wie man die Daten der Shell Plug S Plus via MQTT ausliest und mit Hilfe von Telegraf in die InfluxDB schreibt, das ganze wird dann mit Grafan visualisiert. Das Video richtet sich an alle die die Ihr Home ein wenig automatisieren und visualisieren wollen. Der Scope des Videos liegt bei der Installation und Konfiguration des TIG Stacks.

Link zur Shelly API:

Das Video hat voll die ÜBERLÄNGE!!!!!

Schaut gern wieder mal vorbei und Supported Vati
Grüße
Daniel

Befehle Installation InfluxDB:
------------------------------------------------------------------------------------------------------------------

sudo service influxdb start
------------------------------------------------------------------------------------------------------------------

Befehle Installation Grafana:
------------------------------------------------------------------------------------------------------------------
sudo apt-get install -y adduser libfontconfig1

sudo /bin/systemctl enable grafana-server

sudo /bin/systemctl start grafana-server
------------------------------------------------------------------------------------------------------------------

Befehle Installation Telegraf:
------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------

Befehle Installation MQTT:
------------------------------------------------------------------------------------------------------------------
sudo apt install mosquitto mosquitto-clients -y

sudo systemctl is-enabled mosquitto

sudo systemctl status mosquitto
------------------------------------------------------------------------------------------------------------------

Befehle TESTEN MQTT:
------------------------------------------------------------------------------------------------------------------
Empfänger/Subscriber:
sudo mosquitto_sub -h localhost -t test

Auf zweiten Terminal Versender:
sudo mosquitto_pub -h localhost -t test -m "#Support Vati"
------------------------------------------------------------------------------------------------------------------

Befehle Password absichern MQTT:
------------------------------------------------------------------------------------------------------------------
sudo mosquitto_passwd -c /etc/mosquitto/.passwd vati

Passwort vergeben

Datei Editieren:

listener 1883
allow_anonymous false
password_file /etc/mosquitto/.passwd

Dienst starten:
sudo systemctl restart mosquitto
------------------------------------------------------------------------------------------------------------------

Befehle TESTEN mit Kennwort MQTT:
------------------------------------------------------------------------------------------------------------------
Empfänger/Subscriber:
sudo mosquitto_sub -h localhost -t test -u "vati" -P "PASSWORD"

Auf zweiten Terminal Versender:
sudo mosquitto_pub -h localhost -t test -m "Support Vati" -u "vati" -P "Password"
------------------------------------------------------------------------------------------------------------------

Befehle Debug Telegraf (Nur zum Testen)
------------------------------------------------------------------------------------------------------------------
Telegraf Testen ob MQTT an kommt:
------------------------------------------------------------------------------------------------------------------

Befehle Debug MQTT (Nur zum Testen)
------------------------------------------------------------------------------------------------------------------
MQTT Testen ob was an kommt:
mosquitto_sub -h localhost -t homelab-001/status/switch:0 -u "vati" -P "Password"
------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------
Timeline
00:00 Intro
00:40 Erklärung und SupportVati
01:53 Voraussetzungen
03:06 Installation
42:10 Grafana Dashboard erstellen
1:11:53 Fazit, Sonstige und Outro
---------------------------------------------------------------------------------------
Рекомендации по теме
Комментарии
Автор

Super Video, vielen Dank. MQTT in den Shelly's hat mir die letzten zwei Tage mehrere Knoten im Kopf gemacht, die durch deine Tipps gelöst wurden. Jetzt kann ich weiter an meiner QNAP Containervariante von dem Ganzen frickeln :-)

tndrs
Автор

Sehr gutes Video, gut erklärt und nicht langweilig. Auch wenn es in Deinen Augen länger gedauert hat als geplant, war es Top um erste Erfahrungen mit MQTT Daten in Grafana zu machen.

Hat mir sehr geholfen, Danke Dir.

(Wenn Du magst, kannst ja in Zukunft Sprungmarken setzen, ich hatte alles schon installiert und brauchte nur den Teil um alles zu verbinden und damit zu arbeiten)

StephanRaue
Автор

Ich glaube der Wert den du bei Topics einträgst ist nicht die Client ID sondern das MQTT Präfix. Ich kämpfe gerade damit wie man am bestene mehrere Shellys unterscheidet, da die Client ID nicht mitgesendet wird

josefgschwentner
Автор

Vielen Dank für diesen sehr informativen Beitrag.

yahmk
Автор

Hi, hab keine Ahnung was Du da machst sieht aber professionell aus. Daumen hoch und abo gelassen, vielleicht kommt mal was einfacheres für Laien 👍

Usefulhacksfreeofcharge
Автор

Super Video! Bietet eine super Grundlage um mit dem Shelly Monitoring einzusteigen und funktioniert sogar im 1. Anlauf beim nachmachen!`

2 Sachen die ich jetzt nur noch verstehen muss:

-> kann ich irgendwie sagen dass er nur bestimmte Fehler aus der MQTT Nachricht in die DB schreiben soll? Weil sowas wie "Power by Minute" kann ich ja auch einfach immer nur den 0. wert speichern und hab damit alle, das ist im Grunde also nur Redundanz... bzw. brauche ich den Wert eigentlich gar nicht und könnte drauf verzichten den zu speichern, genauso z.B. auch den Wert für °F da ich wenn überhaupt in °C messen möchte
=> dürfte ja etwas Speicherplatz sparen auf lange Sicht

-> und dann macht mein Grafana komische Sachen... also der Shelly sendet bei mir nur eine MQTT Nachricht wenn sich an den Werten was ändert oder eben nach ner bestimmten zeit einmal sporadisch... InfluxDB kommt damit klar und das macht an sich ja auch Sinn dass das so funktoniert => keine unnötigen daten die immer gleich sind quasi.... wenn ich mir das auf der Influx GUI anschaue bekomme ich auch einen wunderschönen Graphen der absolut stimmig ist... wenn ich mir das gleiche jetzt aber in Grafana anschauen will, dann hab ich immer so Spikes und dazwischen ist er bei null... bekommt wie bekommt man das umgemoodelt dass er das auch wie in Influx anzeigt?

mathie
Автор

Wie immer Top video. Ich habe anstatt Telegraph, NoteRed am Start. Geht um einiges einfacher und man kann ihn für noch mehr Schandtaten nutzen 😅

ocinemod
Автор

Ist exht sehr lang ;) 1:11:15 Hier kann man auch gut ein Tablet nehmen. und danke für deine mühe. top Video :)

JKoslowski
Автор

Sehr gutes Video, alles genau erklärt zum nachvollziehen. Eine Anmerkung hätte ich noch:
data_format = "json" in der telegraf.config funktioniert bei mir nicht. Tut einfach nichts mit der Einstellung. Was aber funktioiert ist:
data_format = "value"
data_type = "float"

steppenwolf
Автор

Hi Daniel,
Danke für das tolle Video. Habe das ganze auf einer Synology in Containern am laufen. Hast Du eine Idee, wie ich dem Telegrafen eine weitere Datenquelle bekannt gebe, damit diese Daten dann in einer separaten DB der Influx landen? Oder muss ich für die nächste Datenquelle einen separaten Telegraf aufsetzen?

Gruß

Peter

ppqwicz
Автор

Meine frage jetzt ist nur: wie kann man das für einen zweiten shelly konfigurieren? benötige ich jetzt eine zweite telegraf configuration? muss ich auch im etc/telegraf/config file etwas ändern?

Ich habe jetzt shelly2/status/switch:0 bei der config im /etc/telegraf und in der web oberfläche in der config hinzugefügt, aber leider sagt der zweite shelly noch: disconnected
und natürlich habe ich auch im zweiten shelly den user und das passwort angegeben.

bierhoch
Автор

ich bekomme folgenden fehler error loading config file /etc/telegraf/telegraf.conf: line 1: configuration specified the fields ["urls" "token"], but they weren't used

Rer
Автор

kann man Bei Grafana als DatenQuelle nicht auch direkt MQTT wählen ….warum den Umweg über influx DB ?

stefanschmidt