IP-Symcon goes MQTT

Hallo,
leider gab es bisher keine Antwort auf diese Fragestellung:

IPS 5.2 ist nun raus. Hierzu habe ich nichts lesen können:
„Dieses Modul kommt vollständig erst zu IP-Symcon 5.2.“

Wie ist zu erkennen, dass IPS 5.2 MQTT vollständig integriert hat?
Ich wünsche mir einen Funktionsumfang wie Mosquitto.

Ist MQTT nun vollständig in 5.2 oder nicht?
Wie kann ich dies feststellen?
Werden die Daten dann auch in MQTTfx angezeigt?

Mit freundlichen Grüßen
Matthias

Hallo liebe Gemeinde und liebe Entwickler,

ich habe seit einer Woche mein MQTT script von Kai auf das native MQTT von IPS umgestellt.
Es funktioniert alles super, und genau so, wie ich es brauche.

Ich arbeite mit „ESP-Easy“ und habe heute mal die Kommunikation von IPS per MQTT an die ESP´s probiert.
Es ist wirklich toll, wie einfach das funktioniert.
Auch die Möglichkeit festzulegen, welchen Variablentyp ich verwenden möchte, ist Super !

An dieser Stelle möchte ich einfach mal nur DANKE an alle sagen, die bei dieser Umsetzung geholfen haben.

DANKE an alle User, die Ideen (und auch erste scripte) geliefert haben.

DANKE an die Entwickler, die trotz nicht optimaler Wirtschaftlicher Rentabilität, das so wunderbar umgesetzt haben.

Ich bin froh IPS mit euch allen benutzen zu dürfen.

Ganz liebe Grüße
Sascha

Leider ist dem bei mir nicht so.
Ich habe massive Probleme mit MQTT und kann nicht eruieren, woher diese kommen.

Da ich bisher keinen im Forum gefunden habe, der sich damit auskennt, bitte ich nochmals um Hilfe.
Ich möchte ungern wieder auf Mosquitto am Rasperry umstellen.

Hier der Link zum anderen Thread.

https://www.symcon.de/forum/threads/41715-IPS-MQTT-Fehlermeldung

Danke euch!

Hallo zusammen,

auch ich nutze das Modul mittlerweile für einige Geräte und bisher hat es super funktioniert. Am Wochenende wollte ich nun meinen Xiaomi Roborock einbinden. Ich habe auf dem Roborock die alternative Firmware Valetudo installiert. Diese bietet auch eine MQTT Funktionalität. Nach dem Einbinden sehe ich drei Attribute in IPSymcon: „attributes“, „map data“ and „state“. „attributes“ wird auch regelmäßig aktualisiert mit Werten. Sobald ich den Roborock jedoch starte werden folgende an IPSymcon gesendet und anscheinend nicht richtig verarbeitet:

BUFFER IN | 31 5D 2C 5B 31 31 39 2C 31 32 31 5D 2C 5B 31 32 30 2C 31 32 31 5D 2C 5B 31 32 31 2C 31 32 31 5D 2C 5B 31 32 32 2C 31 32 31 5D 2C 5B 31 32 33 2C 31 32 31 5D 2C 5B 31 32 34 2C 31 32 31 5D 2C 5B 31 32 35 2C 31 32 31 5D 2C 5B 31 32 36 2C 31 32 31 5D 2C 5B 31 32 37 2C 31 32 31 5D 2C 5B 31 32 38 2C 31 32 31 5D 2C 5B 31 32 39 2C 31 32 31 5D 2C 5B 31 33 30 2C 31 32 31 5D 2C 5B 31 33 31 2C 31 32 31 5D 2C 5B 31 33 32 2C 31 32 31 5D 2C 5B 31 33 33 2C 31 32 31 5D 2C 5B 31 33 34 2C 31 32 31 5D 2C 5B 31 33 35 2C 31 32 31 5D 2C 5B 31 33 36 2C 31 32 31 5D 2C 5B 31 33 37 2C 31 32 31 5D 2C 5B 31 33 38 2C 31 32 31 5D 2C 5B 31 33 39 2C 31 32 31 5D 2C 5B 31 34 30 2C 31 32 31 5D 2C 5B 31 36 36 2C 31 32 31 5D 2C 5B 31 36 37 2C 31 32 31 5D 2C 5B 31 36 38 2C 31 32 31 5D 2C 5B 31 36 39 2C 31 32 31 5D 2C 5B 31 37 30 2C 31 32 31 5D 2C 5B 31 37 31 2C 31 32 31 5D 2C 5B 31 37 32 2C 31 32 31 5D 2C 5B 31 37 33 2C 31 32 31 5D 2C 5B 31 37 34 2C 31 32 31 5D 2C 5B 31 37 35 2C 31 32 31 5D 2C 5B 31 37 36 2C 31 32 31 5D 2C 5B 31 37 37 2C 31 32 31 5D 2C 5B 31 37 38 2C 31 32 31 5D 2C 5B 31 37 39 2C 31 32 31 5D 2C 5B 31 38 30 2C 31 32 31 5D 2C 5B 31 38 31 2C 31 32 31 5D 2C 5B 31 38 32 2C 31 32 31 5D 2C 5B 31 38 33 2C 31 32 31 5D 2C 5B 31 38 34 2C 31 32 31 5D 2C 5B 31 38 35 2C 31 32 31 5D 2C 5B 31 38 36 2C 31 32 31 5D 2C 5B 31 38 37 2C 31 32 31 5D 2C 5B 31 38 38 2C 31 32 31 5D 2C 5B 31 38 39 2C 31 32 31 5D 2C 5B 31 39 30 2C 31 32 31 5D 2C 5B 31 39 31 2C 31 32 31 5D 2C 5B 31 39 32 2C 31 32 31 5D 2C 5B 31 39 33 2C 31 32 31 5D 2C 5B 31 39 34 2C 31 32 31 5D 2C 5B 31 39 35 2C 31 32 31 5D 2C 5B 31 39 36 2C 31 32 31 5D 2C 5B 31 39 37 2C 31 32 31 5D 2C 5B 31 39 38 2C 31 32 31 5D 2C 5B 31 39 39 2C 31 32 31 5D 2C 5B 32 30 30 2C 31 32 31 5D 2C 5B 32 30 31 2C 31 32 31 5D 2C 5B 32 30 32 2C 31 32 31 5D 2C 5B 32 30 33 2C 31 32 31 5D 2C 5B 32 30 34 2C 31 32 31 5D 2C 5B 32 30 35 2C 31 32 31 5D 2C 5B 32 30 36 2C 31 32 31 5D 2C 5B 32 30 37 2C 31 32 31 5D 2C 5B 32 30 38 2C 31 32 31 5D 2C 5B 32 30 39 2C 31 32 31 5D 2C 5B 32 31 30 2C 31 32 31 5D 2C 5B 32 31 31 2C 31 32 31 5D 2C 5B 32 31 32 2C 31 32 31 5D 2C 5B 32 31 33 2C 31 32 31 5D 2C 5B 32 31 34 2C 31 32 31 5D 2C 5B 32 31 35 2C 31 32 31 5D 2C 5B 32 31 37 2C 31 32 31 5D 2C 5B 32 31 38 2C 31 32 31 5D 2C 5B 32 31 39 2C 31 32 31 5D 2C 5B 32 32 30 2C 31 32 31 5D 2C 5B 32 32 31 2C 31 32 31 5D 2C 5B 32 32 32 2C 31 32 31 5D 2C 5B 31 31 30 2C 31 32 30 5D 2C 5B 31 31 31 2C 31 32 30 5D 2C 5B 31 31 32 2C 31 32 30 5D 2C 5B 31 31 33 2C 31 32 30 5D 2C 5B 31 31 34 2C 31 32 30 5D 2C 5B 31 31 35 2C 31 32 30 5D 2C 5B 31 31 36 2C 31 32 30 5D 2C 5B 31 31 37 2C 31 32 30 5D 2C 5B 31 31 38 2C 31 32 30 5D 2C 5B 31 31 39 2C 31 32 30 5D 2C 5B 31 32 30 2C 31 32 30 5D 2C 5B 31 32 31 2C 31 32 30 5D 2C 5B 31 32 32 2C 31 32 30 5D 2C 5B 31 32 33 2C 31 32 30 5D 2C 5B 31 32 34 2C 31 32 30 5D 2C 5B 31 32 35 2C 31 32 30 5D 2C 5B 31 32 36 2C 31 32 30 5D 2C 5B 31 32 37 2C 31 32 30 5D 2C 5B 31 32 38 2C 31 32 30 5D 2C 5B 31 32 39 2C 31 32 30 5D 2C 5B 31 33 30 2C 31 32 30 5D 2C 5B 31 33 31 2C 31 32 30 5D 2C 5B 31 33 32 2C 31 32 30 5D 2C 5B 31 33 33 2C 31 32 30 5D 2C 5B 31 33 34 2C 31 32 30 5D 2C 5B 31 33 35 2C 31 32 30 5D 2C 5B 31 33 36 2C 31 32 30 5D 2C 5B 31 33 37 2C 31 32 30 5D 2C 5B 31 33 38 2C 31 32 30 5D 2C 5B 31 33 39 2C 31 32 30 5D 2C 5B 31 34 30 2C 31 32 30 5D 2C 5B 31 36 36 2C 31 32 30 5D 2C 5B 31 36 37 2C 31 32 30 5D 2C 5B 31 36 38 2C 31 32 30 5D 2C 5B 31 36 39 2C 31 32 30 5D 2C 5B 31 37 30 2C 31 32 30 5D 2C 5B 31 37 31 2C 31 32 30 5D 2C 5B 31 37 32 2C 31 32 30 5D 2C 5B 31 37 33 2C 31 32 30 5D 2C 5B 31 37 34 2C 31 32 30 5D 2C 5B 31 37 35 2C 31 32 30 5D 2C 5B 31 37 36 2C 31 32 30 5D 2C 5B 31 37 37 2C 31 32 30 5D 2C 5B 31 37 38 2C 31 32 30 5D 2C 5B 31 37 39 2C 31 32 30 5D 2C 5B 31 38 30 2C 31 32 30 5D 2C 5B 31 38 31 2C 31 32 30 5D 2C 5B 31 38 32 2C 31 32 30 5D 2C 5B 31 38 33 2C 31 32 30 5D 2C 5B 31 38 34 2C 31 32 30 5D 2C 5B 31 38 35 2C 31 32 30 5D 2C 5B 31 38 36 2C 31 32 30 5D 2C 5B 31 38 37 2C 31 32 30 5D 2C 5B 31 38 38 2C 31 32 30 5D 2C 5B 31 38 39 2C 31 32 30 5D 2C 5B 31 39 30 2C 31 32 30 5D 2C 5B 31 39 31 2C 31 32 30 5D 2C 5B 31 39 32 2C 31 32 30 5D 2C 5B 31 39 33 2C 31 32 30 5D 2C 5B 31 39 34 2C 31 32 30 5D 2C 5B 31 39 35 2C 31 32 30 5D 2C 5B 31 39 36 2C 31 32 30 5D 2C 5B 31 39 37 2C 31 32 30 5D 2C 5B 31 39 38 2C 31 32 30 5D 2C 5B 31 39 39 2C 31 32 30 5D 2C 5B 32 30 30 2C 31 32 30 5D 2C 5B 32 30 31 2C 

Incomplete packet. Wait for more data

Nach kurzer Zeit stürzt der IPSymcon Service (auf RaspberryPi) dann auch ab und muss neugestartet werden. Ich habe auch schon in GitHub einen Bug bei Valetudo aufgemacht, jedoch sagen die, dass es an IPSymcon liegt:

https://github.com/Hypfer/Valetudo/issues/338

Kann sich das einer von Euch vielleicht mal anschauen, ob es wirklich an IPSymcon liegt?

Vielen Dank,

Kai

@KingKahn: Ich schaue mir das an. Wenn es ein Absturz ist, dann klingt das sehr nach einem Fehler in IPS.

Könntest du im Debug Log ggf. noch etwas mehr mitloggen, damit ich mehr Daten zum simulieren habe? Oder ist dies das einzige Paket, welches Probleme macht?

paresy

Hallo Paresy,

ich habe Dir zwei Debug Dateien erzeugt. Ich hoffe die helfen Dir weiter. Lt. dem Entwickler von Valetudo ist das das Paket, welches die „Map“ meiner Wohnung übermittelt. Dies geschieht immer nur, wenn ein Reinigungsvorgang gestartet wurde und dann kontinuierlich.

Viele Grüße,
Kai

MQTT Log nach Neustart von Roborock.txt.zip (143 KB)

MQTT Log nach Reinigungsauftrag für Roborock.txt.zip (157 KB)

Das sieht aber total gut aus. Wir melden, dass Teilpakete kommen und am Ende gibt es ein sauberes Publish mit dem „Riesenpaket“. Kannst du evtl. dies hier probieren? Debugging für Experten (Raspberry Pi, Linux) Dann hätte ich ggf. mehr Informationen an welcher Stelle IP-Symcon abstürzt.

paresy

Hallo Paresy,

irgendwie hat sich das Problem anscheinend in Luft aufgelöst. Ich habe den Roboter jetzt mehrmals laufen lassen und IPSymcon ist trotz eingeschalteter MQTT Funktion nicht abgestürzt. Eventuell liegt es daran, dass ich das Roborock Modul von Wolbolar nicht mehr parallel am Laufen hatte. Sorry für die Umstände…

Kai

Hi Paresy,

heute ist IPSymcon leider wieder abgestürzt. Ich habe dann auch versucht das Debugging für Experten durchzuführen. Es gab jedoch folgende Fehlermeldung, als ich die Daten in die gdb.txt Datei schreiben wollte:

(gdb) thread apply all bt
Unable to fetch general registers.: Kein passender Prozess gefunden.

Anbei auch die Datei und nochmal die Log Datei von Debug des MQTT Servers:

gdb.txt (235 Bytes)
MQTT Server Debug.txt.zip (204 KB)

Kannst Du damit etwas anfangen? Für mich sieht es so aus, dass der MQTT irgendwann ewig wartet und dann der Server Socket geschlossen wird.

@paesy, könnte hier ein Zusammenhang, mit den Verzögerungen im anderem Thread, bestehen?
Da kommen ja beim schnellen hin und her schalten auch viele Pakete.

Grüße,
Kai

Ich befürchte eher, dass dies mit dem Fehler von demel42 zusammenhängt. In Kürze: IP-Symcon stürzt unter Ubuntu/Rasberry Pi ab wenn zu viele Daten auf einmal über den ReceiveFilter geprüft werden.

@KingKahn: Magst du dies mit GDB noch mal probieren? Dies wirkt irgendwie nicht richtig.

paresy

Klar. Ich probiere es heute Abend nochmal.

Gesendet von iPad mit Tapatalk

Also irgendwie funktioniert das mit dem Debugen nicht so wirklich… Wenn ich gdb ans laufende IPSymcon anhänge werden keine Logs geschrieben. Wenn ich gdb mit dem Prozess direkt starte werden logs geschrieben aber ich kann diese am Ende nicht in die txt-datei speichern. Habe die Datei nochmal angehängt und ein Screenshot gemacht:

gdb.txt (72 Bytes)

Hallo,

nachdem ich seit ca. 2 Jahren die KNX Anbindung nutze, versuche ich aktuell MQTT einzurichten.

Schnittstelle ist aktiv und auf Port 1088 konfiguriert. Nun bekomme ich ne Server Socket IP von 0.0.0.0:1088

Was läuft da falsch?

Grüße

Passt doch alles so, mit der IP.
Aber normal bei MQTT ist der Port 1883.

Danke läuft jetzt.

Dummer Fehler von mir. Dachte ich muss bei der Konfiguration von zigbee2mqtt, in der Datei configuration.yaml, die Server IP eintragen, dabei reicht ‚mqtt://localhost:1883‘.

Der zweite Fehler war… fehlende Hochkommas bei User und Passwort :banghead:

Wie nutzt du Zigbee2MQTT?
Du kannst dafür mein Modul nutzen: [Modul] IPS-Zigbee2MQTT

Grüße,
Kai

Also irgendwie funktioniert das mit dem Debugen nicht so wirklich… Wenn ich gdb ans laufende IPSymcon anhänge werden keine Logs geschrieben. Wenn ich gdb mit dem Prozess direkt starte werden logs geschrieben aber ich kann diese am Ende nicht in die txt-datei speichern. Habe die Datei nochmal angehängt und ein Screenshot gemacht:

Klicken Sie auf die Grafik für eine größere Ansicht

Name: gdb.jpg
Hits: 47
Größe: 147.2 KB
ID: 50833

gdb.txt

Habt ihr hier noch einen Tipp für mich? Wird das Problem - es betrifft ja so wie ich verstanden habe noch andere - in einem der nächsten Releases gelöst oder hilft mir hier nur ein Umsteigen auf eine andere Platform?

@KingKahn: Falls du den Fehler von Demel42 meinst den ich referenziert habe. Ja, wir werden uns darum kümmern. Da jedoch sehr wenige davon betroffen sind und ein Wechsel des Compiler/Stdlib ordentlich geplant/getestet werden muss, kann das noch etwas dauern.

Magst du mal testen ob IP-Symcon auch abstürzt wenn keine Module hinter dem MQTT Server sind und er nur „für sich“ arbeitet? (Das würde verifizieren, dass die PHP hintern dem MQTT Server das Problem sind).

paresy

@Paresy: Du meinst, wenn ich die MQTT Funktion vom Roborock abschalte, ob dann IPSymcon sauber weiterläuft?