07.05.2024

MQTT-Server

Ab sofort stelle ich hier zusätzlich zum V2/MP-Server einen V3/MQTT-Hub bereit.

Der MQTT-Server ("Server V3" im Modul) ist derzeit als Ergänzung zum V2-Server gedacht. Er dient vorerst rein als Datendrehscheibe für MQTT-Clients. Für die Archivierung von Daten, für Push-Nachrichten, die Web-Shell etc. wird weiterhin eine aktive V2-Verbindung benötigt (diese kann aber parallel zur V3-Verbindung laufen).

Hinweis: V3/MQTT ist im Modul derzeit noch als "experimentelles Feature" eingestuft, d.h. die Funktionalität und der Datenaufbau können sich ggf. noch ändern. Das definierte Topic-Schema soweit ist auf der Entwickler-Mailingliste nachlesbar, und ein einfacher Perl-Client ist im OVMS Github-Repository herunterladbar.

Der Zugriff auf den MQTT-Server erfolgt mit dem Login des Nutzerkontos. Alle Fahrzeuge eines Nutzers können nach dem OVMS-Standard-Topicschema unter dem Nutzerlogin gemeinsam verwaltet und abgefragt werden.

  • Serveradresse: ovms.dexters-web.de
  • Ports: MQTT-Standard, d.h. 1883 unverschlüsselt / 8883 verschlüsselt (TLS)
  • Username & Passwort: des Haupt-Nutzerkontos hier
  • Topic-Präfix: OVMS-Standard, d.h. ovms/<username>/<vehicleid>

Der Zugriff ist nur auf die eigenen Topics nach diesem Schema erlaubt.

Vorlage für den Aufruf des OVMS-Beispiel-Clients:

ovms_v3shell.pl --server ovms.dexters-web.de --port 8883 --tls --username '…' --password '…' --id '…'

Vorlage für Aufruf des Mosquitto-Clients mit JSON-Ausgabe:

mosquitto_sub -h ovms.dexters-web.de -p 8883 -u '…' -P '…' -t '#' -F %j

Vorlage für Ausführung eines OVMS-Kommandos (stat) mit dem Mosquitto-Client:

mosquitto_rr -h ovms.dexters-web.de -p 8883 -u '…' -P '…' \
  -t 'ovms/username/vehicleid/client/rr/command/1 \
  -e 'ovms/username/vehicleid/client/rr/response/1' \
  -m 'stat'