MQTT Protokoll Integrieren?

Hallo,

wann gibt es eine MQTT Integration in Symcon wie auch schon hier Besprochen?

Hier gibt es eine Erklärung was MQTT ist:
https://de.wikipedia.org/wiki/MQ_Telemetry_Transport

Für die Nutzung von MQTT braucht man einen „broker“ dieser kann z.B. auf dem Rechner auf dem IP Symcon läuft Installiert werden und alle Sensoren „veröffentlichen“ sowie die Aktoren „abbonieren“ von dort die Datenpunkte, den MQTT ist ein bidirektionales Ereignisbasierentes Protokoll.

Als Anwendungsgebiet sei z.B. das „Wifi Relais V3“ genannt, das gibt es schon ab 15 EUR und kann auch noch mit einem DHT Sensor Temperatur / Luftfeuchte messen. Auch gibt es für alle Mikrokontroller Platformen MQTT Libarys die einen einfachen Slebstbau von Sensoren / Aktoren ermöglichen.

Warum nicht z.B. Modbus --> weil Modbus nicht Bidirektional ist und so die Sensoren / Aktoren von der Zentrale aus gepollt werden müssen und auch weil das Konzept hinter Modbus schon sehr sehr alt ist und es inzwischen bessere Möglichkeiten gibt.

Voraussetzungen:
Einen MQTT Broker wie z.B. mosquitto welcher z.B. im standard Debian Repository ist.

Mögliche Integration in Symcon:
Variante 1:
Aktuell gibt es nur einige Scripts die alle Datenpunkte Manuell übernehmen.

Variante 2:
IPS 4 Modul, hier gibt es schon einen ersten Versuch der leider aber nur Daten Veröffentlichen nicht aber Abbonieren kann.

Variante 3:
IP Symcon selbst ist MQTT Broker und legt einfach alle gesendeten Daten direkt als Datenpunkte ab oder bietet wie z.B. bei Homematic Komponenten eine Auswahl der Datenpunkte an, welche dann als Variablen angelegt werden.

Für mich stellt sich nicht die Frage ob es diese Schnittstelle in der Variante 2 oder 3 geben wird sondern nur wann :wink:

Hallo,

Tja so wie es aussieht wird das heuer nichts mehr mit der MQTT Integration in IP Symcon, naja ich Verstehe auch nicht warum alle über IoT reden und scheinbar ist der Boom um IoT noch nicht groß genug und nicht bis zu den Symcon machern durchgedrungen oder wir die Kunden haben nicht laut genug darum Gerufen!

Auch habe ich bemerkt das dieser Thread gar nicht öffentlich ist.

Ich könnte es auch gut gebrauchen. Da meine Bastellösung nicht wirklich ideal ist. Mir geht es in erster Linie um das abfragen/empfangen von Daten…

Gruß
hardlog

Unter IPSymcon3.x konnte man die MessageLoop anzapfen, das geht mit IPS4.0 nicht mehr. Ohne Zugriff auf alle Ereignisse macht es keinen Sinn, IPS als Publisher einzusetzen. IPS als Consumer bedingt einen ständig geöffneten Service. Das geht auch nicht mit PHP. Man kann höchstens das Protokoll in einem Service außerhalb implementieren und das Setzen der Variablen überdie Json-Api machen. Einzelne Scripte pro Variable finde ich zum Testen zwar machbar, im größeren Umfang aber nicht praktikabel.

Hallo,

ich habe heute noch einige Tests gemacht mit ESP8266 und UNO / Mega mit Ethernet Shield und bin gelinde gesagt Begeistert und Traurig zugleich…

Die MQTT Libary welche über die Arduino IDE (1.6.5) im Libary Manager selbst unter „PubSubClient“ gefunden / Installiert werden kann Funktioniert „out of the Box“ mit meinem mosquitto Server welcher am selben Raspberry Installiert ist wie Symcon 4 auch genau so wie es soll.

Es werden Daten veröffentlicht und auch zur gleichen Zeit vom MQTT Server Abboniert und Ereignisbasierend übermittelt ohne das Nachrichten verloren gehen und auch extrem Stabil.

Traurig bin ich eigentlich nur weil Symcon dieses Protokoll nicht schon längst Integriert hat…

Schnell einfach und schlank, vor allem kein dummes pollen mehr wie bei Modbus was mit Arduinos bei Symcon nur mittelmäßig (ein Adresse geht nicht die ander schon, beim pollen gibt es zwischendurch viele Timeouts, dann wieder keine usw…) Funktioniert weil scheinbar die Modbus Libary mit der Implementierung in Symcon nicht „Harmoniert“…

+1 für natives MQTT unter IPS :slight_smile:

Das würde einiges vereinfachen :slight_smile:

another me, too post!

Plaediere auch fuer eine offizielle Aufnahme von MQTT in symcon auf Modulebene und integrierten subscribern/publishern die direkt auf Variablen/Instanzen mappen.

Derzeit muss ich alles immer drei mal machen wenn was neues dazukommt - -lauft ueber gebastelten hack mit mqttwarn dass als reaktion auf topics den inhalt per json-rpc nach symcon pushed, wo dann ein php script gestartet wird, dass dann in die richtige Variable schreibt… Muehsam aber es funktioniert zumindest…

Kann mich dem nur anschließen. Ich würde gerne meine FS20 Temperatursensoren durch ESP8266 auf Basis ESPEasy ersetzen, anstelle das mit teuren HM Temperatursensoren machen zu müssen. Polling funktioniert nicht, da schlafen die Boards immer ein. MQTT wäre die Lösung!

Würde auch gern mqtt einsetzen.

Mit Klimmzügen und eigenen Scripten geht es ja.

Andreas Treutler

+1
Das wäre auch eine klasse Verbindung zu IFTTT!!!
Dann hätte man sehr viel sehr einfach im Zugriff:
Wetter, Locationservices für iOS, Android, BMW etc.

Gruß,

Oliver

Kannst mir erklären was du mit BMW und MQTT machst ?

Ja, BMW Labs bieten bei IFTTT Geofencingoptionen an.
Man kann damit das Garagenlicht einschalten wenn man auf den Hof fährt, oder einen Alarm auslösen, wenn das Auto zu ungewöhnlicher Stunde das Grundstück verlässt.

Ah ok in Zusammenhang mit IFTTT, habe mich schon gewundert, das ein BMW MQTT sprechen kann :smiley:

Hallo,

ich bin zurzeit dabei ein MQTT Modul in PHP für IP-Symcon 4.1 zu endwickeln. Dafür suche ich noch Mittstreiter die mich unterstützen oder änliches schon angefangen sind.
Das Ziel soll sein, Variablen unter IP-Symcon auf verschiedenen Systemen über MQTT auszutauschen ohne Programmcode schreiben zu müssen. Es giebt ein MQTT Modul als Splitter das über Socket Client mit dem Brocker Kommuniziert. Für die Variableanbindung soll es dann einige Geräte Modul(e) geben.
Ernsthaftes Interesse dann Private Mail erwünscht.

Bevor Du Dir die Arbeit machst: Es gibt schon MQTT-Module für IPS4.1. Evtl kannst Du auch eines der Module mit dem jeweiligen Autor aufbohren, wenn Dir was fehlt.

Tommi

Welche Module gibt es mit denen ich Topics von einem Broker abbonieren kann?
Das Modul zum veröffentlichen kenne ich schon…

Aktuell nutze ich mqttwarn welcher mir die topics per rpc an symcon übergibt…

Was willst Du denn genau machen? Zum Schicken kannst Du doch einfach den Maker Channel nutzten
IFTTT Modul

Für das Senden gibt es mehrere Module, die man direkt nutzen kann.

Für das Empfangen abbonieren Topics benötigt man leider z.Z. einen Gateway-Daemon wie mqttwarn oder auch was Eigenes z.B in Python oder NodeJS, was die Message empfängt, dekodiert und in IPS über die API oder WebHook einpflegt. Der Clientsocket zerhakt die Daten leider so gründlich, das man sie mangels eindeutigem Rahmen nicht wieder so eindeutig zusammen bekommt, das man ein MQTT Paket mit sauberem Anfang und Ende verarbeiten kann Und PHP-Module sind an die kurze max_execution_time von PHP gebunden sind, können also keine Verbindung offenhalten.

Wer das Problem mit dem Empfangsprotokoll über den Clientsocket löst, hat sich dann ein „Fleiss-Bienchen“ verdient.

Tommi

Vielen Dank deinen Beitrag. Interessant sind für mich die Geofencing Funktionen von IFTTT.
Ich werde das mal ausprobieren.

Eine Unterstützung von MQTT wäre aber trotzdem klasse.

Gerade für Geofencing braucht man aber nicht unbedingt IFTTT. Da kann man auch z.B. Geofency nutzten.