Gladys mit einem externen MQTT-Modul verbinden?

Hallo, ich habe ein Modul besorgt, um mit meinem Intex-Spa über MQTT zu kommunizieren. Ich habe in Gladys meine MQTT-Befehle erstellt, um meinen Spa zu steuern, und habe daher diese Topics.
gladys/device/mqtt:Spa/feature/mqtt:Spa/state
gladys/device/mqtt:Bulle Spa/feature/mqtt:Bulle Spa/state
gladys/device/mqtt:Filtre Spa/feature/mqtt:Filtre Spa/state
gladys/device/mqtt:Chauffage Spa/feature/mqtt:Chauffage Spa/state
gladys/device/mqtt:Température désirée/feature/mqtt:Température désirée/state
gladys/master/device/mqtt:Température actuelle/feature/mqtt:Température actuelle/state
Ich benötige, dass Gladys diese Topics des Moduls abruft oder darauf veröffentlicht. Ich habe den Entwickler des Moduls gefragt und er hat mir diese Antwort gegeben.
« Mein System funktioniert wahrscheinlich nicht mit ESPhome, es wurde unter Visual Studio Code codiert.
Warum solltest du es ändern?
Normalerweise sollte Gladys diese Topics abhören und damit kommunizieren können!!
Die 2 Topics sind Pool/# und Wifi/# »



Kann mir jemand sagen, wie ich vorgehen soll, damit Gladys mit diesen Topics kommunizieren kann?

Die einzige Lösung für dich ist, über Node-RED zu gehen, um die Topics zu konvertieren.
Oder eine spezifische Integration zu erstellen…

Danke für deine Antwort, ich hatte auch schon diese Idee zwischenzeitlich. Ich versuche es gerade mit Node Red. Also keine einfache Lösung, um es direkt zu machen :pensive:.

Leider…
Die MQTT-Integration ist wirklich wenig flexibel, da sie keine benutzerdefinierten Topics verwaltet!

Hallo @elfedagger

Du kannst node-red verwenden und dich an den folgenden Tutorials orientieren, um es an deine Bedürfnisse anzupassen

eben

Hallo @elfedagger :slight_smile:

Du kannst ganz einfach mit benutzerdefinierten MQTT-Themen in Gladys kommunizieren, ohne Node-RED zu verwenden!

Wir haben Szenenaktionen, mit denen du MQTT-Nachrichten empfangen und senden kannst.

Beispiel für einen Auslöser:

Beispiel für eine Aktion:

Ich habe das Gefühl, dass diese Funktion wenig bekannt ist :smiley:


Ich habe das gestern Abend zusammengebastelt und es funktioniert sehr gut. Ich hole mir die Temperatur meines Whirlpools, alle Befehle funktionieren. Das Einzige, was etwas hakt, ist die gewünschte Temperaturänderung mit dem + und dem -, mein Whirlpool reagiert nicht immer.
Ich werde deine Lösung ohne Node Red anschauen, Pierre-gilles.

Stimmt! Ich hatte völlig vergessen, dass es das gibt. Das ist, glaube ich, später als Funktion dazugekommen und ich hatte aufgegeben, meine wankelmütigen Geräte zu nutzen.
Der Reflex ist, ein Gerät zu erstellen, um es in Gladys zu integrieren. Über Szenen zu gehen, ist nicht intuitiv, weil die empfangene Nachricht den Zustand eines fiktiven Geräts ändern kann und, entschuldige, wenn ich mich irre, man braucht zwei Szenen für einen einfachen Schalter: eine Szene, um den Zustand zu empfangen, und eine, um ihn zu steuern :exploding_head:
Na gut, da werde ich mal genauer hinschauen müssen!

Effektiv, da es sich um eine benutzerdefinierte Lösung handelt, muss man es so machen, genau wie bei Node-RED, man braucht verschiedene Auslöser :slight_smile:

Auch wenn ich zugebe, dass man in Node-RED den Eindruck hat, dass es weniger Aufwand ist, da man mehrere Szenen auf derselben „Karte“ haben kann

Ich habe es geschafft, meine Start- und Stoppbefehle für alle Funktionen meines Spas zu senden. Aber ich habe es nicht geschafft, die aktuelle Temperatur abzurufen oder die gewünschte Temperatur mit Senden und Empfangen einer MQTT-Nachricht zu senden.

Um die aktuelle Temperatur abzurufen, bin ich mir nicht sicher, ob das nur über Gladys möglich ist (über Node-RED geht es).

Aber um die gewünschte Temperatur zu senden, erstellst du ein virtuelles MQTT-Gerät in Gladys und erstellst dann eine Szene, in der du den Wert dieses Geräts jedes Mal per MQTT sendest, wenn sich sein Zustand ändert.

Verstehst du, was ich meine?

Ja, das habe ich gemacht, ich habe ein MQTT-Gerät „gewünschte Temperatur“ erstellt, das dem Widget „gewünschte Temperatur“ entspricht.


et ich habe die folgende Szene erstellt.



Ich muss etwas falsch gemacht haben, denn es funktioniert nicht. Jedenfalls, wenn ich nicht alles in Gladys haben kann, bleibe ich bei Node Red.

Ja, die Variable wird nicht injiziert, es ist nicht normal, {{ 1.1 ..} zu sehen.

Du musst diesen Text löschen und die Variable erneut injizieren.

Als Auslöser würde ich die aktuelle Temperatur deines SPA nehmen! Oder?

Seit Version 4.41 habe ich mein Problem gelöst. Die Möglichkeit, ein benutzerdefiniertes MQTT-Topic abzuhören, hat es mir ermöglicht, die aktuelle Wassertemperatur meines Whirlpools abzurufen. Seit 2 Tagen ist es Gladys, die meinen Whirlpool steuert, ohne über Node Red zu gehen. Das einzige Problem, das ich noch lösen muss, ist, dass meine Szenen, die den Whirlpool und die Filterung morgens und abends ein- und ausschalten, die MQTT-Nachrichten „on“ und „off“ direkt an die Topics des Moduls in meinem Whirlpool senden, und daher sehe ich auf meinem Dashboard nicht, dass sich die Ein/Aus-Tasten ändern. Ich weiß nicht, ob mein Whirlpool ein- oder ausgeschaltet ist.

@elfedagger Großartig :slight_smile: Schön, dass das dein Problem löst.

In deiner Szene kannst du diese Geräte so steuern, dass es auch bei Gladys angezeigt wird :slight_smile:

Ich grabe dieses Thema wieder aus…

Ich habe ein Modul gebastelt, um auch mein Intex-Spa anzuschließen. Statt mit benutzerdefinierten Topics (die nur zuhören, aber nicht steuern) habe ich direkt das Programm, das vermutlich dasselbe ist wie deins, so modifiziert, dass es Gladys-Topics sendet und empfängt sowie Gladys-Werte (1 und 0 statt an und aus).

Falls es dich interessiert, kann ich den modifizierten Firmware-Code teilen (und sogar die Schaltung, auch wenn sie auf GitHub ist).

Hier ist das Ergebnis:

Hallo, ich habe mein Problem gelöst, indem ich Node Red verwendet habe, um die 1 und 0 von Gladys in Ein und Aus für mein Spa zu verwandeln. Die Karte habe ich bei Patitan gekauft, der seine Karten über das Home Assistant-Forum herstellt und verkauft. Das Firmware stammt von ihm und er sagte mir, dass es in Visual Studio Code codiert ist. Ich habe keine Ahnung, was das ist und wie man es ändert. Ich sehe, dass du das WLAN-Signal abfängst, das ist interessant.

Wie finde ich das auf GitHub?

Ich habe diesen sogenannten PaTiTan überall gesehen, wo ich recherchiert habe, aber ich weiß nicht genau, welche Hardware er in seiner Box verwendet hat. Ich dachte, du hättest die Infos direkt von dem Typen geholt, der den ursprünglichen Code geschrieben hat (GitHub - jnsbyr/esp8266-intexsbh20: MQTT WiFi remote control for the Intex PureSpa SB-H20 and SJB-HS whirlpools · GitHub), denn die Themen, die du oben im Screenshot gezeigt hast, entsprechen dieser Entwicklung.

Ich werde dich also nicht bitten, dein Modul zu zerlegen, um es zu flashen (auch wenn ein Thema zur drahtlosen Aktualisierung von Grund auf vorgesehen ist), und ich werde dir auch nicht vorschlagen, im Allgemeinen weiter zu gehen, solange wir nicht wissen, auf welcher Karte der Firmware deines Moduls installiert ist.

Man wird sehen, ob deine aktuelle Lösung dich zufriedenstellt oder ob du bereit bist, daran herumzubasteln (es ist technisch, aber nicht unüberwindbar)!

Ach ja, noch etwas, das ich tun muss… Mein GitHub aktualisieren :stuck_out_tongue:

Das Thema, das du abhören musst, ist wifi/rssi, genau so als benutzerdefiniertes Thema in deinem virtuellen MQTT-Gerät