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.
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.
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:
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:
@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?
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.
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.
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…
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:
@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.
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.
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:
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
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).