Rolladensteuerung mit MQTT / Mosquitto (publishen) läuft wochenlang top, jetzt nicht mehr !

  • Hallo zusammen,

    meine Rolladensteuerung mit "ESP-Publisher für Lichtmessung und ESP's-SubClients zum schalten läuft seit Wochen mit einem Rolladen perfekt. Das Python-Programm schaltet den Rolladen morgens hoch und abends runter.

    Jetzt habe ich weitere Clients hinzu gebracht (glaube aber nicht das es daran liegt, ist wohl Zufall) )und plötzlich wurde das ganze beim publishen instabil. Publishen löst nur noch ganz selten was aus.

    Mal wieder zurück auf Null ohne Python-Programme - nun geht aber auch auf der Terminal-Kommandozeile (mosquitto_pub -t "rl/wohnz" -m "hoch") nichts mehr. Subscriben von Licht und Temperatur mosquitto_sub -t "rl/lichtsensor" wird im Terminal auf Kommandoebene jedoch problemlos angezeigt.


    Ich habe folgendermaßen versucht den Fehler zu beheben:

    - Raspi3B (Buster) geupdatet

    - Mosquitto deinstalliert und wieder installiert

    - Mosquitto Dienst immer wieder manuell gestoppt und gestartet oder restart gemacht. Dienst ist im Status "aktiv"

    - Natürlich auch immer Raspi runter und wieder hoch gefahren

    - statische Adresse ist unverändert in dhcpcd.conf eingetragen (sonst würde das subscriben ja auch nicht gehen)

    - habe schon mit qos 1 und 2 versucht zu subscriben, aber bringt auch nichts

    - Einmal (da ging noch alles) habe ich auf dem Router den Netzwerknamen des Raspi geändert von raspberry oder raspberrypi (weis nicht mehr) nach rlbroker umbenannt und dann wo alles instabil wurde aber wieder zurück auf raspberry geändert. Könnte ich da einen Fehler gemacht haben? Router habe ich nach den Änderungen neu gestartet


    Im Router steht auch beim Eintrag der Netzwerkverbindung "WLAN" müsste das nicht LAN heißen da der Raspi über LAN angeschlossen ist ??


    Könnte verrückt werden :( Bin aber auch (noch) nicht der MQTT-Experte. Wo könnte ich ansetzen?


    Im voraus besten Dank

  • Hallo,

    Problem ist trotz Raspi am LAN ist noch nicht beseitigt. Nur jeder x-te publish-Befehl in der Kommandozeile wird ausgeführt. Change steigt scheinbar wenn man beim Mosquitto einen restart macht.

    Weis mir keinen Rat mehr. :no_sad:

  • So sieht mein Programm auf dem ESP32 aus:

    Je nachdem welche Pins auf high oder low liegen (Drahtbrücke) identifiziert sich der Einsatzort des ESP. Dadurch können alle ESP's gleich programmiert werden.


    Also es ist jetzt fix. Wenn ich 3 - 10 Mal publish sudo mosquitto_pub -t "rollo1" -m "hoch oder runter oder stop" dann schaltet der ESP irgendwann


    Ich hoffe es findet sich noch jemand der helfen könnte. Danke im voraus

  • Erst mal müsste man das Problem eingrenzen, ob das Signal nicht zuverlässig rausgeht oder nicht ankommt.


    Du hast ja serial-Ausgaben drin, kommt gar nicht an oder eventuell etwas "falsches"?


    Subscribe mal in einer anderen Konsole die Topics. Kommen die da zuverlässig an.


    Hast Du alle Clients gleich benannt? Das könnte natürlich alles durcheinanderbringen.

  • Hallo Match1,

    das waren gute Fragen für mich zum reinkämpfen:

    - die Nachrichten kommen an einer anderen Konsole sauber und zügig an

    - die callback Funktion wird im C-Programm auf dem ESP nur selten aufgerufen. So alle ca. 10 Pub's

    - wenn sie aufgerufen wird, dann verarbeitet das C-Programm das richtige Topic und das richtiges Payload und schaltet sauber.


    Aber, was meinst du mit der Frage ob ich alle Clients gleich benannt habe?

    Danke für die Unterstützung