MQTT: Habe ich die Funktionsweise verstanden? [Spoiler-Alarm] Nein

Hallo zusammen

Ich folge dem Projekt seit mindestens Version 3, habe es mehrmals installiert, ohne meine Peripheriegeräte richtig verwalten zu können. Darüber werde ich ein anderes Mal sprechen, aber ZWAVE (die Hardware, nicht die Integration in Gladys) hat nie richtig funktioniert, große Enttäuschung.

Letzte Woche habe ich das Video von @Pierre-Gilles gesehen (dessen immense Arbeit ich hier grüße), und das hat mir die Idee gegeben, mit einer Installation in 4.5 neu zu beginnen, um das Multi-Dashboard zu nutzen
Ich warte auch auf die Datenkurven, denn die alten waren nicht gut!!

Der Punkt, der mich jetzt beschäftigt, ist MQTT mit einem Broker in meinem lokalen Netzwerk
Gladys scheint gut darauf zuzugreifen

In meinem Broker bin ich in der Test-/Integrationsphase, ich habe die folgenden Topics

Wenn ich zum Beispiel mqtt:Internet:data:Indice_UV teste, erhalte ich eine Fehlermeldung

Kurz gesagt, ich verstehe nicht, wie es funktioniert. Ich habe die Nachrichten hier gelesen, aber nein, ich habe nichts verstanden..

Wenn ihr seht, wo es hakt, bin ich dankbar.
Vielen Dank im Voraus
Olivier

Ich habe die MQTT-API-Dokumentation => MQTT API | Gladys Assistant
Die Dokumentation des Dienstes => MQTT | Gladys Assistant


du möchtest anscheinend Werte von deinem Broker lesen

Gladys erfordert eine bestimmte Struktur, du hast Internet/data/#

Gladys erwartet gladys/master/device/:device_external_id/feature/:device_feature_external_id/state

Was in deinem Fall

gladys/master/device/mqtt:Internet/feature/mqtt:Internet:IndiceUV/state ergeben würde

Ich weiß nicht, wie du deine Daten an deinen Broker schiebst, aber du musst diesen Teil überarbeiten, um das MQTT-API-Schema von Gladys zu respektieren

Sobald das erledigt ist, musst du in Gladys ein Gerät ‹ Internet › mit den Funktionen UV-Index, Luftqualität usw. erstellen…

Danke @VonOx für die schnelle Antwort

Also, ja, ich möchte Informationen aus dem Internet abrufen und in einem Broker organisieren
Und auch Informationen von meinen Sensoren hinzufügen..das wird nicht im Internet sein..

Jetzt muss ich herausfinden, wie ich die Informationen organisieren soll, es ist nichts festgesetzt in meinem Broker, alles muss gemacht werden, aber es muss einfach sein

Aber jetzt, mit den Dokumenten und den Erklärungen, verstehe ich NICHTS. Ich präzisiere, ich bin Informatiker, ich mache den ganzen Tag Bash, Python, Ansible, aber hier verstehe ich nichts.

Die Syntax erscheint mir redundant und kompliziert

Angenommen, ich habe einen Temperatursensor im Wohnzimmer auf Basis eines DS1820, der die Temperatur in Celsius veröffentlicht

Ich möchte in meinem MQTT-Broker ein Topic Wohnzimmer/Temperatur mit der Temperatur haben, und vielleicht das Datum der letzten erfassten Temperatur.
Also würde das ergeben

  • Wohnzimmer/Temperatur/Temperatur*
  • Wohnzimmer/Temperatur/Letzter_Temperatur_Datum*

Wie konfiguriert man das in Gladys? Und gibt es eine generische Syntax wie WERT={{PROTOKOLL}}:{{HOST}}:{{PORT}}:{{TOPIC}}

Vielen Dank im Voraus
Olivier

Das Einfachste ist, dein MQTT-Gerät in Gladys zu erstellen und den am Ende des Formulars angegebenen Link zu kopieren. Auf diesem Topic postest du den Wert, den du an Gladys senden möchtest…
Hilft das?

@GBoulvin hat vollkommen recht

In deinem Post sieht man, dass du ein Gerät erstellst, aber ohne Funktionalität. Es ist also eine leere Hülle.

Wenn du Features hinzufügst, wird Gladys dir das richtige Thema geben

Die Struktur mag kompliziert erscheinen, aber sie ist notwendig (es ist eine API), es ist der einzige Weg, damit Gladys die Entsprechung zwischen Text auf der MQTT-Seite und einem Gerät mit Features herstellen kann, eine Temperatur bezieht sich auf eine Einheit usw…

D’accord, MQTT muss sich an Gladys anpassen und nicht umgekehrt.

Okay, ich erstelle ein Gerät MAURICE mit der Funktion Temperatur, das sich im Wohnzimmer befindet

Ich habe verstanden, dass ich den Wert von MAURICE im MQTT-Topic veröffentlichen muss, das Gladys mir vorschreibt

Der Fehler tritt auf, wenn ich speichere.
Was mache ich also falsch?

Externe ID der Funktion, du hast nichts angegeben, die Einheit kann auch nützlich sein.

mqtt:temperature zum Beispiel

OK, es funktioniert jetzt


Vielen Dank euch beiden…ich werde analog vorgehen, um andere Dinge einzufügen. Nochmals danke

Super, du musst nur noch weitere Features oder Geräte + Features erstellen! :slight_smile:

Ein weiterer Tipp: Du musst kein Zeitstempel angeben => Date_derniere_Temperature
Gladys speichert den Wert in ihrer eigenen Datenbank mit dem Zeitstempel. (Um den Verlauf über Kurven etc. zu nutzen)

Das ist notiert, der Zeitstempel ist nicht unbedingt für Gladys notwendig… Aber ich könnte ihn vielleicht woanders brauchen…

Denk daran, eine Einheit für die Temperatur anzugeben, ohne Einheit wirkt das ein bisschen leer :slight_smile:

Gut gesehen, stimmt, das ist gleich viel besser… :grinning: