Mqtt Client & Mqtt Hub, wie verschlüsselte Übertragung via Domain?

Hallo,

als Alternative zur Kommunikation zu/von Homey mit einem Webscript über Webhooks, habe ich nun ergänzend die Kommunikation via Mqtt eigerichtet.

Zur Verbindung von Homey mit dem Broker (Mosquitto auf einer VM), nutze ich die Apps Mqtt-Client und Mqtt-Hub. Funktioniert soweit bestens, der Mqtt Explorer (zum testen) zeigt brav den Status und die Änderungen.

Nun zu meiner Frage bezüglich verschlüsselter datenübertragung:

Der Broker ist mit SSL eingerichtet, und eigentlich erreichbar über die Domain https://mqtt.domain.de (Wildcard Domain Zertifikat).

In der App Mqtt-Client wird scheinbar nur eine IP als Host akzeptiert (?), die IP ist jedoch nicht über das Zertifikat abgesichert und wird geblockt. Als Lösung habe ich die Funktion “Disable Certificate checking” aktiviert.

Kann mir eventuell jemand sagen, wie ich mit Mqtt-Client eine Domain (zB. https://mqtt.domain.de ) zur verschlüsselten Datenübertragung einsetzen muss bzw. verwenden kann?

Du brauchst kein https:// davor setzen. Einfach nur den Namen deiner Domain.

MQTT benutzt kein 443, sondern den von dir definierten Port:

Wenn du lokal bist, brauchst du auch eine lokale Domain - servername.local oder so. Kein fqdn aus dem Internet.

Na, .local sollte man möglichst vermeiden, es gibt sinnvollere Endungen die auch speziell für lokale Netzwerke vorgesehen sind :wink:

Was meinst du mit “Kein fqdn" aus dem Internet”? Eine Domain wie deinname.de kann selbstverständlich auch auf einem lokalen Webserver eingerichtet werden…

Die beste Lösung für eine Verschlüsselte Verbindung im lokalen Netz, ist immer eine Subdomain einer bestehenden TLD. Damit erhälst du ein Zertifikat von einem offiziellen CA, was alle Clients akzeptieren.

Guter Gedanke :+1:
Hat leider auch nicht funktioniert :thinking:

Jain, der FQDN muss dann aber auch in deinem lokalen Netz, bzw, auf deinem Router so eingerichtet sein. Bzw. Musst du den deinem lokalen DNS mitteilen. ansonsten wird Homey immer versuchen den Weg übers Internet zu gehen.

Als Port nutzt du auch 8883? Also du hast das auf dem mosquito auch so konfiguriert?

Selbstverständlich :wink: ist so eingerichtet.

Yes, Verbindung mit dem MQTT-Explorer funktioniert ohne Probleme mit der Domain als Host.

kurz noch mal zum Verständnis:

als Hostname nutzt du mein.name.tld.de, ohne irgendwelche https Geschichten? Kannst du mal nur den servernamen versuchen? Ohne fqdn?

Konkret: mqtt.domain.de wird aufgeschlüsselt auf die IP des Broker (VM mit Ubuntu-Server).

Wie mit meiner Frage beschrieben: Es funktioniert unter Verwendung der IP mit aktivierung “dass die Prüfung auf Gültigkeit des Zertifikat ignoriert wird”…

Wieso verwendet Du nicht den offiziellen MQTT Server von Emile, da musst Du nur “localhost” angeben und der funktioniert ausgezeichnet?

Nun, der einfachste Weg ist nicht immer der ausreichende. Je nach Einsatzzweck und Ansicht :wink:

Stichwort: Zuverlässigkeit & Redundanz. Wenn der Homey mal aussteigt, übernimmt weitgehendst mein Webserver, der auch gespiegelt ist.

Also der Homey dient mir hauptsächlich als Schnittstelle zu den unterschiedlichsten Aktoren/Sensoren und als ideale Erfassung der Geräte und Scripts (Flow). Hier zeigte sich nun auch die App Mqtt-Hub als perfekter übermittler aller benötigten Daten nur durch setzen eines :white_check_mark: , zur dynamischen/automatischen Erstellung anderer Mqtt-Clients.

Und… Jede Herausforderung möchte auch gelöst werden :smiling_face_with_sunglasses: