NEU! UPGRADE IP 10 verfügbar!
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur IP 10
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Gelöst] [V4 IP3] [CV13-Testing] Wie muss MQTT per Websocket konfiguriert werden?

Rund um die CometVisu im Timberwolf Server
Antworten

Ersteller
Auweia
Reactions:
Beiträge: 162
Registriert: Mo Aug 13, 2018 2:48 pm
Wohnort: Barbing
Hat sich bedankt: 59 Mal
Danksagung erhalten: 30 Mal

[V4 IP3] [CV13-Testing] Wie muss MQTT per Websocket konfiguriert werden?

#1

Beitrag von Auweia »

Hallo Chris,
mit dem neuen Tile Design soll ja die gleichzeitige Nutzung der Backends KNX und MQTT in der CV13 ermöglicht werden.
Das KNX Backend habe ich zum Laufen gebracht, jedoch bekomme ich einen Timeout oder Verbindungsfehler beim MQTT.
Folgende Definitionen in der config habe ich gemacht:
<cv-backend default="true" type="knxd" uri="/proxy/cv13/cgi-bin/l"/> --> läuft
keine der folgenden läuft:
<cv-backend name="mqtt" type="mqtt" uri="wss://172.16.25.70:8083/ws" />
<cv-backend name="mqtt" type="mqtt" uri="wss://172.17.0.1:8083/ws" />
<cv-backend name="mqtt" type="mqtt" uri="wss://172.17.0.1:8083" />
Broker Definition:
listener 8083
protocol websockets
allow_anonymous true
socket_domain ipv4
MQTT websocket mit Port 8083 ist konfiguriert und kann mit dem client MQTT-Explorer erreicht werden. Im MQTT log kommen keine Daten von der CV an.
CV13 ist im Docker mit cometvisu/cometvisu:testing installiert und alle Environments-Variablen sind nicht definiert.
Wie muss ich das MQTT Backend definieren ?
Viele Grüße
Albert
Zuletzt geändert von gbglace am Di Mai 16, 2023 6:51 pm, insgesamt 1-mal geändert.
TWS2600 - #191 + PBM291- restart jederzeit - VPN offen

blaubaerli
Reactions:
Beiträge: 2322
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 895 Mal
Danksagung erhalten: 700 Mal

#2

Beitrag von blaubaerli »

Hallo Albert,

schau mal hier viewtopic.php?f=81&t=3676&p=40725&hilit=Mqtt#p40725

In diesem Thread hatte ich das mal beschrieben. Ich hoffe, dass das mit der aktuellen Version vom Mosquitto auch noch genau so klappt.

Welche Version vom Mqtt-Broker hast du wo laufen?

Der Hintergrund ist, dass du den Broker mit zwei unterschiedlichen Listenern parallel laufen lassen musst.

Zudem ist für die Visu von Interesse, dass du dich mit der Persistierung im Broker befasst.

Beste Grüße
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
Bitte WIKI lesen.

blaubaerli
Reactions:
Beiträge: 2322
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 895 Mal
Danksagung erhalten: 700 Mal

#3

Beitrag von blaubaerli »

Hallo Albert,

ich vermute, dass dir ggf. noch die korrekten Einstellungen im Reverse-Proxy fehlen. Es gibt unten in den Einträgen einen entsprechenden Websocket-Passus.

Beste Grüße
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
Bitte WIKI lesen.

Ersteller
Auweia
Reactions:
Beiträge: 162
Registriert: Mo Aug 13, 2018 2:48 pm
Wohnort: Barbing
Hat sich bedankt: 59 Mal
Danksagung erhalten: 30 Mal

#4

Beitrag von Auweia »

Hallo Jens,
Danke für die Hinweise. Ich habe nochmals die gesamte Konfiguration überprüft.
MQTT Docker-Version: eclipse-mosquitto.1.6.
ports 1883 und 8083 sind definiert und open, nur ipv4 wird unterstützt.
Mit MQTT.Explorer komme ich über die Websockets an den MQTT Broker ( "ws://ip-add:8083 " )
Im MQTT logfile werden die Websockets aktiviert mit der Version LWS: 4.2.1
In den reverse proxy Definitionen beim TWS wird nur http unterstützt, es können keine websocket Definitionen vorgenommen werden.
Bisher wird ja nur MQTT oder KNX (neben Openhab) als Backend in der CV unterstütz, was auch bei mir mit der Docker Version der CV12 und CV13-testing funktioniert .
Daher stimmt vermutlich die Konfiguration der CV13-Testing nicht. Bisher gab es ein hidden.php File, in der die MQTT Websockets definiert wurden. Da kann wahrscheinlich nur Chris helfen...
Viele Grüße
Albert
TWS2600 - #191 + PBM291- restart jederzeit - VPN offen

blaubaerli
Reactions:
Beiträge: 2322
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 895 Mal
Danksagung erhalten: 700 Mal

#5

Beitrag von blaubaerli »

Hallo Albert,

die Verbindung von der CV zum Broker muss über den Reverse Proxy mit den entsprechend aktivierten Websocket-Einstellungen für den entsprechenden Eintrag geleitet werden. Ich kann im Moment keine Screenshots beifügen, da ich nicht daheim bin.

Details kann ich morgen wieder beisteuern…

Beste Grüße
Jens
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
Bitte WIKI lesen.
Benutzeravatar

Chris M.
Reactions:
Beiträge: 1194
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 236 Mal
Danksagung erhalten: 857 Mal
Kontaktdaten:

#6

Beitrag von Chris M. »

Ich hab's bisher auch nur mit der Konfig über die Docker Environment Parameter getestet. Bei meinem Test gilt:

Der Mosqito-Container hört auf die Ports:
Port configuration
0.0.0.0:1883 --> 1883/tcp
0.0.0.0:8083 --> 8083/tcp
0.0.0.0:9001 --> 9001/tcp

Im TWS ist für den Mosquito Container als Proxy angelegt:
Bild

Damit kann ich so über den MQTT Explorer zugreifen:
Bild

Und im Portainer für die CometVisu hab ich als Environment ("ENV") diesen Eintrag:


BACKEND_MQTT wss://USERNAME:PASSWORD@timberwolf76.local:443/proxy/mqttws/ws
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

Ersteller
Auweia
Reactions:
Beiträge: 162
Registriert: Mo Aug 13, 2018 2:48 pm
Wohnort: Barbing
Hat sich bedankt: 59 Mal
Danksagung erhalten: 30 Mal

#7

Beitrag von Auweia »

Hallo Chris,
vielen Dank für deine Screenshots. Das ist ja eine wirklich tricky Lösung: Per TLS raus bzw. an den TWS und dann per reverse proxy mit http an MQTT.
Ich habe das exakt so bei mir nachgestellt, auch einen user mit Passwort im MQTT angelegt, da ja TLS das nicht ohne irgendeine security zulässt - leider bisher ohne Erfolg.
Sind beide Ports 1883 und 8083 im MQTT mit protocol http konfiguriert? Und das sogar mit unterschiedlichen Port-Nummern ?
Ich habe Netzwerk bridging Modus im Docker definiert und ich vermute mal du hast auf MacVlan umgestellt. Ist das Voraussetzung?
Auf jeden Fall ist deine Lösung überraschend!
Schönen Abend
Albert
TWS2600 - #191 + PBM291- restart jederzeit - VPN offen
Benutzeravatar

Chris M.
Reactions:
Beiträge: 1194
Registriert: Sa Aug 11, 2018 10:52 pm
Wohnort: Oberbayern
Hat sich bedankt: 236 Mal
Danksagung erhalten: 857 Mal
Kontaktdaten:

#8

Beitrag von Chris M. »

Was ich genau gemacht habe weiß ich gar nicht mehr, ist schon etwas länger her. Aber an spezielle Tricks kann ich mich nicht erinnern.

Die Mosquito-Config Datei sieht für mich auch sehr simpel aus:

Code: Alles auswählen

/ # grep "^[^#]" /mosquitto/config/mosquitto.conf
port 1883
protocol mqtt
listener 8083
protocol websockets
allow_anonymous false
password_file /mosquitto/config/users.txt
Das ganze ist auch ein normales Bridge-Netzwerk:
Bild
CometVisu Entwickler - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

CometVisu Fragen, Bugs, ... bitte im Entwicklungs-Forum, hier nur spezifisches für CV<->Timberwolf.

TWS 2500 ID: 76 + TP-UART - VPN offen, Reboot nur nach Absprache

Ersteller
Auweia
Reactions:
Beiträge: 162
Registriert: Mo Aug 13, 2018 2:48 pm
Wohnort: Barbing
Hat sich bedankt: 59 Mal
Danksagung erhalten: 30 Mal

#9

Beitrag von Auweia »

Hallo Chris,
vielen Dank für deine Hilfe, es klappt jetzt Daten aus KNX und MQTT in der CV anzuzeigen.
Bei mir muss es heißen:

<cv-backend name="mqtt" type="mqtt" uri="wss://timberwolf191.fritz.box:443/proxy/mqttws/ws/"/>

Warum ein zusätzlicher "/" am Ende ..mqttws/ws/ erforderlich ist, weiß ich nicht, aber es funktioniert!

Bitte auf gelöst setzen!

VG
Albert
TWS2600 - #191 + PBM291- restart jederzeit - VPN offen
Antworten

Zurück zu „CometVisu“