Gladys und externer MQTT-Broker

Hallo

Ich installiere Gladys erneut.

Ich habe einen externen MQTT-Broker und wenn ich versuche, Gladys und diesen zu verbinden, funktioniert es nicht… Die einzige Lösung ist, über einen Container in Gladys zu gehen, das funktioniert, aber wenn ich zu meiner Situation zurückkehren möchte, ist das unmöglich.

Hat schon mal jemand diesen Fall gehabt?

Vielen Dank im Voraus

Hallo,

Vielleicht kannst du ein paar Details geben:

  • Welcher externe Broker?
  • Wie ist er installiert?
  • Ist er im selben Netzwerk wie Gladys?
  • Kannst du dich damit über eine App wie MQTTBox oder ähnlich verbinden?

Als Beispiel:
Ich verwende einen mosquitto, der über Docker installiert ist und über die IP im internen Netzwerk oder über eine authentifizierte mqtts-URL für den externen Zugriff erreichbar ist.

Ja, ich bin im gleichen Netzwerk und kann mich mit einem Client (Benutzer aldi, mit MQTT Explorer oder über die Kommandozeile, auchan) mit dem Broker verbinden.

Es handelt sich um einen ganz normalen Mosquitto-Broker, würde ich sagen. Ich verwende einen Raspberry und die Distribution ist Dietpi, und es ist daher über die Menüs installiert.

In den Logs des Brokers sieht man, dass er es nicht einmal versucht.

Feb 27 14:32:56 jakku mosquitto[11748]: 1709044376: New client connected from 10.8.0.2:37682 as mqtt-explorer-a8b51e9f (p2, c1, k60, u'aldi').
Feb 27 15:02:56 jakku mosquitto[11748]: 1709046176: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
Feb 27 15:04:52 jakku mosquitto[11748]: 1709046292: New connection from ::1:39908 on port 1883.
Feb 27 15:04:52 jakku mosquitto[11748]: 1709046292: New client connected from ::1:39908 as auto-E16CFA39-A5B7-7115-BE34-3929FAC7C5F9 (p2, c1, k60, u'auchan').
Feb 27 15:04:52 jakku mosquitto[11748]: 1709046292: Client auto-E16CFA39-A5B7-7115-BE34-3929FAC7C5F9 disconnected.
Feb 27 15:32:57 jakku mosquitto[11748]: 1709047977: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
Feb 27 16:02:58 jakku mosquitto[11748]: 1709049778: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
Feb 27 16:32:59 jakku mosquitto[11748]: 1709051579: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
Feb 27 17:03:00 jakku mosquitto[11748]: 1709053380: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
Bonjour Protz

Feb 27 17:33:01 jakku mosquitto[11748]: 1709055181: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.

Ich habe zwischen 14:30 Uhr und jetzt zahlreiche Versuche unternommen.

Olivier

Hallo @bong101,

In der Tat seltsam, ich verwende diese Konfiguration (mosquitto auf einem anderen Pi installiert) seit Jahren und hatte nie Probleme. Wie hast du es in Gladys konfiguriert?

So:

Die Namensauflösung funktioniert gut vom Gladys-Server aus

root@raspberrypi:~# ping jakku.openwarp.lan
PING jakku.openwarp.lan (10.16.5.20) 56(84) bytes of data.
64 bytes from jakku.openwarp.lan (10.16.5.20): icmp_seq=1 ttl=64 time=0.542 ms

Port 1883 ist offen

root@raspberrypi:~# openssl s_client -connect jakku.openwarp.lan:1883
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 324 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)

die Gladys-Logs zeigen nichts…

2024-03-01T09:30:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:30:00 GMT
2024-03-01T09:30:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:30:00 GMT
2024-03-01T09:31:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:31:00 GMT
2024-03-01T09:31:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:31:00 GMT
2024-03-01T09:31:18+0100 lan-manager.scan.js:19 (LANManager.scan) LANManager starts scanning devices…
2024-03-01T09:31:32+0100 lan-manager.scan.js:66 (NmapScan.onSuccess) LANManager discovers 8 devices
2024-03-01T09:31:32+0100 lan-manager.stop.js:12 (LANManager.stop) LANManager stops scanning devices
2024-03-01T09:32:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:32:00 GMT
2024-03-01T09:32:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:32:00 GMT
2024-03-01T09:33:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:33:00 GMT
2024-03-01T09:33:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:33:00 GMT
2024-03-01T09:33:18+0100 lan-manager.scan.js:19 (LANManager.scan) LANManager starts scanning devices…
2024-03-01T09:33:32+0100 lan-manager.scan.js:66 (NmapScan.onSuccess) LANManager discovers 8 devices
2024-03-01T09:33:32+0100 lan-manager.stop.js:12 (LANManager.stop) LANManager stops scanning devices
2024-03-01T09:34:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:34:00 GMT
2024-03-01T09:34:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:34:00 GMT
2024-03-01T09:35:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:35:00 GMT
2024-03-01T09:35:00+0100 scene.checkCalendarTriggers.js:25 (SceneManager.checkCalendarTriggers) Checking calendar triggers at Fri, 01 Mar 2024 08:35:00 GMT

Ich habe mindestens 5 Versuche zwischen 9:30 und 9:35 gemacht

et in den Mosquitto-Logs gibt es keine Verbindungsversuche

Mar 01 08:58:30 jakku mosquitto[465]: 1709279910: New connection from 10.8.0.2:55308 on port 1883.
Mar 01 08:58:30 jakku mosquitto[465]: 1709279910: New client connected from 10.8.0.2:55308 as mqtt-explorer-a8b51e9f (p2, c1, k60, u'aldi').
Mar 01 09:10:58 jakku mosquitto[465]: 1709280658: Client mqtt-explorer-a8b51e9f disconnected.
Mar 01 09:11:20 jakku mosquitto[465]: 1709280680: New connection from 10.8.0.2:34648 on port 1883.
Mar 01 09:11:20 jakku mosquitto[465]: 1709280680: New client connected from 10.8.0.2:34648 as mqtt-explorer-a8b51e9f (p2, c1, k60, u'aldi').
Mar 01 09:18:41 jakku mosquitto[465]: 1709281121: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
root@jakku:~#

Keine Verbindungsspur von 10.16… aber ich bin über mein VPN verbunden

Ich denke eher an einen Bug, denn im Konfigurationsbildschirm, wenn ich zu Integrationen/MQTT/Konfiguration zurückkehre, verriegelt sich der Button auf AN für „Broker in einem Docker-Container/Verwenden eines Brokers in einem Docker-Container.“

Bin ich der Einzige in diesem Fall?

Danke

Olivier

Ich möchte darauf hinweisen, dass mir dieses Problem auftritt auf

  • einem Raspberry 3, Distro Raspberry
  • einem Raspberry 4, Distro Dietpi
  • einem Nano R4S, Distro Dietpi

Was für eine Seltsamkeit … kannst du es mit Folgendem versuchen:

  • mqtt://jakku.openwarp.lan (ohne Port)
  • mqtt://j10.16.5.20
  • mqtt://j10.16.5.20:1883
    ?

Ohne das ‹ j ›, vermute ich :innocent:

Zufällig keine Probleme mit der Autovervollständigung auf deiner Gladys-Konfigurationsseite?

Ich habe alles versucht!!

Ohne die Leute, die mir helfen wollen, zu verachten, bin ich Informatiker und installiere und konfigurieren Anwendungen usw., aber ich bin nicht vor Fehlern meinerseits gefeit.

Das wäre super, wenn jemand einen Raspberry testen könnte, eine Installation eines MQTT-Brokers und dann los geht’s Guiguand !!!

Nochmals vielen Dank!!
Olivier

Hallo @bong101,

Wie oben erwähnt, habe ich genau diese Konfiguration, mein Mosquitto-Broker ist 12.5.0.100, mein Gladys und die meisten meiner Geräte sind auf 12.5.0.xxx und einige Geräte auf 12.1.0.xxx, und ich habe keine Probleme, wenn ich die Broker-Adresse in Gladys mit mqtt://12.5.0.100:1883 angeben.

Wie oben vorgeschlagen, bist du sicher, dass dein Browser die Felder nicht automatisch ausfüllt? (Nur um diese Möglichkeit auszuschließen)
Denn normalerweise sind die gelb hervorgehobenen Felder, wie auf deinem Foto, Autovervollständigung:

Und laut anderer Gespräche, die es im Forum gab, ersetzen einige Browser das Passwort beim Klicken auf Speichern, soweit ich das verstanden habe.

Ist es wichtig, ob der Browser die gelben Felder ersetzt oder nicht? Im Sinne von, dass ich auf dem Broker keinen Verbindungsversuch sehe? Und es scheint auch nicht in Gladys zu passieren.

@Terdious, seit welcher Version von Gladys funktionierst du so?
@all, hat jemand von euch das auf einer aktuellen Version von Gladys getestet?

Olivier

Kannst du versuchen, deinen MQTT-Server vom Docker-Container Gladys aus zu kontaktieren (und nicht vom Raspberry Pi-Host)? Vielleicht kennt Gladys den Domainnamen jakku.openwarp.lan nicht :thinking:

docker exec -it gladys /bin/sh

ping jakku.openwarp.lan

openssl s_client -connect jakku.openwarp.lan:1883

ah, interessant, ich teste das gleich, wenn ich nach Hause komme!!

Hallo @bong101,

Es gibt bereits eine Diskussion über den Docker Node-RED, bei der, wenn man im MQTT-Node localhost eingibt, es nicht funktioniert. Man muss die IP-Adresse eingeben (DNS-Auflösung funktioniert außerhalb des Containers nicht).

In deinem Fall gib also « mqtt:xxx.xxx.xxx.xxx:1883 » ein, wobei die xxxx die IP-Adresse deines MQTT-Brokers ist. Das sollte funktionieren.

re,


root@raspberrypi:~ $ sudo su -
root@raspberrypi:~# docker exec -it gladys /bin/sh
/src/server # ping jakku.openwarp.lan
PING jakku.openwarp.lan (10.16.5.20): 56 data bytes
64 bytes from 10.16.5.20: seq=0 ttl=64 time=1.287 ms
^C
--- jakku.openwarp.lan ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.610/0.760/1.287 ms
/src/server # openssl s_client -connect jakku.openwarp.lan:1883
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 320 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
This TLS version forbids renegotiation.
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
/src/server #

Es handelt sich doch um einen Bug, oder?

Danke für die Überprüfung.
Tatsächlich funktioniert es für mehrere Personen (mich eingeschlossen) und bei dir nicht.
Daher ist ein Bug möglich, aber wir müssen eine Spur finden oder eine Reproduktionsmethode, sonst können wir es nicht beheben.

Hallo zusammen,

Ich habe das gleiche Problem mit Gladys, das in Docker auf einer Proxmox-VM installiert ist. Ich teste gerade Gladys.

Ich versuche, mich mit dem Mosquitto-Broker meines Home Assistant zu verbinden. Die Verbindung funktioniert über MQTT Explorer.

Ich habe ein GIF für euch, der Schalter schaltet automatisch im Docker-Container.

gladys mqttbroquer

Vielen Dank im Voraus

Version von gladys 4.38
PS: Wenn ihr lieber möchtet, dass ich ein anderes Thema eröffne, kann ich das tun.

Ah, willkommen @McFlyPartages !!!

und danke, ich fühle mich nicht mehr so allein !!!

Geht es dir wie mir, dass der Toggle beim Speichern der Einstellungen von alleine zurückspringt?

ja!!! als ob wir keine Wahl hätten