MQTT offline Neustart Raspberry

  • Ich hab den Raspberry mit iobroker an einer smarten Steckdose.

    Wenn der Raspberry mal wieder abschmiert kann ich nun per Tasmota auf die Steckdose zugreifen und kurz aus und wieder einschalten.

    Kann ich das in Tasmota auch automatisch mit einer Rule machen sobald die Verbindung zum MQTT-Server abgebrochen ist?

    40x Shelly/Sonoff (Tasmota)

    2 x Yeelight (Xiaomi)

    Raspberry Pi4b mit ioBroker und ner kleinen VIS

    Conbee2 mit Ikea, Xiaomi und Philips Aktoren

  • Auf dem Gerät, das den MQTT-Kontakt überwacht:

    rule1 on Mqtt#Disconnected do BEFEHLE endon

    rule1 1

    z. B.:

    rule1 on Mqtt#Disconnected do websend [IP.Des.Raspi.Schalters] restart 1 endon

    Das löst einen Neustart des Geräts aus und wenn Power ON war, dann ist wieder Power ON. Was ich nicht weiß, ist ob die Schaltunterbrechung lang genug ist, dass der Raspi in den reboot geht. Gut gepufferte Netzteile fangen das eventuell ab.

  • Wenn der Raspberry mal wieder abschmiert kann ich nun per Tasmota auf die Steckdose zugreifen und kurz aus und wieder einschalten

    Wäre es nicht besser die Absturzursache zu beheben.

    JörgZ hat es auch schon vermieden die "BEFEHLE" in die Rule zu schreiben. Ich vermute dem tut auch der RasPi und die SD-Karte leid ;)

  • Einstein67 ja, das ging mir auch alles durch den Kopf. Dennoch habe ich die konkrete Rule nachträglich ergänzt. Besser wäre es natürlich per Skript und SSH einen reboot des Raspi bzw. ein sudo systemctl restart mosquitto abzusetzen. Aber das ist nicht mal eben so einfach erklärt. Ach ne, ich seh gerade, da läuft ja IOB mit seinem eigenen MQTT-Broker. Aber der müsste doch auch als Dienst laufen, denke ich. Wäre dasselbe in Grün: sudo systemctl restart iobroker.

    Wäre es nicht besser die Absturzursache zu beheben.

    Das wäre in der Tat die beste Lösung :thumbup:

  • Wenn es ein bessere Lösung gibt dann bitte gerne.

    Das Problem taucht nur auf wenn ich meine Scripts mal wieder falsch geschrieben habe und der Raspi sich totläuft.

    Dabei habe ich halt gesehen das die Tasmotas das fehlen des MQTT Brokers bemerken und dachte mir das einfach als trigger zu benutzen für 10 Sekunden auszuschalten. Da die Verbindung ja nicht sofort wieder aufgebaut wird sollte er auch nicht sofort wieder darauf reagieren.

    Es ist kein grundsätzliches Problem bis jetzt.

    Wenn es denn soweit ist komme ich auch nicht mehr per SSH auf den Raspi um irgendwas auszuführen.

    Der MQTT Broker ist der Sonoff Adapter. War für mich bis jetzt am einfachsten.

    Danke bis jetzt

    40x Shelly/Sonoff (Tasmota)

    2 x Yeelight (Xiaomi)

    Raspberry Pi4b mit ioBroker und ner kleinen VIS

    Conbee2 mit Ikea, Xiaomi und Philips Aktoren

  • Wenn es denn soweit ist komme ich auch nicht mehr per SSH auf den Raspi um irgendwas auszuführen.

    Hast du mal ein Beispiel für ein solches Script, das sogar dazu führt den SSH Zugang zu blockieren? Das ist ja schon ein recht seltsames Verhalten.

  • Wenn ich mal wieder ne Dauerschleife mit sich gegenseitig triggernden Zuständen gebaut hab.:saint:.

    Ich Versuch es mit dem mqttdisconnect.

    40x Shelly/Sonoff (Tasmota)

    2 x Yeelight (Xiaomi)

    Raspberry Pi4b mit ioBroker und ner kleinen VIS

    Conbee2 mit Ikea, Xiaomi und Philips Aktoren