Gosund SP112 (TASMOTA) - permanenter Neustart

Hallo in die Gemeinde,

ich brauche mal Eure Unterstützung.

System:
IPS auf Raspi, 5.5
Tasmota Modul installiert.
Gosund Sp112 geflashed und eingerichtet.
Gosund via Tasmota Modul eingerichtet und alles gut.

Heute:
3 weitere Gosund analog fertig gemacht und eingerichtet.
In der Instanz dann noch die Schalter entsprechend gesetzt, Message retain eingeschaltet und danach immer „Tasmota Gerät neu starten“ gedrückt (fragt jetzt bitte nicht, wozu).

Problem:
bei allen 3 „neuen“ ist festzustellen, dass diese im Sekundentakt neu booten.
Wenn ich den MQTT Server des Symcon ausstelle, hört das auf.

In der Console des Tasmota steht sowas:
00:00:00 CFG: Loaded from flash at F7, Count 29
00:00:00 QPC: Count 1
00:00:00 Project tasmota SP112_01 Version 9.2.0(lite)-2_7_4_9(2020-12-17T10:06:08)
00:00:00 WIF: Connecting to AP1 Querty2 Channel 13 BSSId 00:24:FE:49:0B:67 in mode 11n as SP112_01-6074…
00:00:01 WIF: Connected
00:00:02 HTP: Web server active on SP112_01-6074 with IP address 192.168.180.70
00:00:05 MQT: Attempting connection…
00:00:05 MQT: Connected
00:00:05 MQT: tele/SP112_01/LWT = Online (retained)
00:00:05 MQT: cmnd/SP112_01/POWER =
00:00:05 MQT: tele/SP112_01/INFO1 = {„Module“:„SP112new“,„Version“:„9.2.0(lite)“,„FallbackTopic“:„cmnd/DVES_1CD7BA_fb/“,„GroupTopic“:„cmnd/tasmotas/“}
00:00:05 MQT: tele/SP112_01/INFO2 = {„WebServerMode“:„Admin“,„Hostname“:„SP112_01-6074“,„IPAddress“:„192.168.180.70“}
00:00:05 MQT: tele/SP112_01/INFO3 = {„RestartReason“:„Software/System restart“}
00:00:05 MQT: stat/SP112_01/RESULT = {„POWER1“:„OFF“}
00:00:05 MQT: stat/SP112_01/POWER1 = OFF
00:00:05 MQT: stat/SP112_01/RESULT = {„POWER2“:„OFF“}
00:00:05 MQT: stat/SP112_01/POWER2 = OFF
00:00:06 QPC: Reset
00:00:07 MQT: stat/SP112_01/RESULT = {„Restart“:„Restarting“}
00:00:08 MQT: stat/SP112_01/RESULT = {„PowerOnState“:3}
00:00:09 MQT: stat/SP112_01/RESULT = {„POWER1“:„ON“}
00:00:09 MQT: stat/SP112_01/POWER1 = ON
00:00:09 MQT: tele/SP112_01/STATE = {„Time“:„1970-01-01T00:00:09“,„Uptime“:„0T00:00:11“,„UptimeSec“:11,„Vcc“:4.466,„Heap“:28,„SleepMode“:„Dynamic“,„Sleep“:50,„LoadAvg“:657,„MqttCount“:1,„POWER1“:„ON“,„POWER2“:„OFF“,„Wifi“:{„AP“:1,„SSId“:„Querty2“,„BSSId“:„00:24:FE:49:0B:67“,„Channel“:13,„RSSI“:72,„Signal“:-64,„LinkCount“:1,„Downtime“:„0T00:00:03“}}
00:00:09 MQT: tele/SP112_01/SENSOR = {„Time“:„1970-01-01T00:00:09“,„ENERGY“:{„TotalStartTime“:„2021-03-07T18:28:52“,„Total“:0.247,„Yesterday“:0.000,„Today“:0.247,„Period“:0,„Power“:0,„ApparentPower“:0,„ReactivePower“:0,„Factor“:0.00,„Voltage“:297,„Current“:0.000}}

Und dann folgt der Neustart.

Zur Ursachensuche habe ich dann bei meinem einzig funktionierenden SP112 mal auf „Tasmota Gerät neu starten“ gedrückt (hatte ich bei der Einrichtung aller anderen ja auch getan) und seit dem ist der auch „hinüber“.

Zum Verzweifeln.

Habe die Geräte schon alle im Tasmota WebUi zurückgesetzt und neu eingerichtet, ohne Erfolg.

Deinstallation von Tasmota-Modul ändert auch nichts daran.

Ich denke mal, das ist nichts großes, nur was?

Könnt Ihr mir helfen?

Danke

Eric

Hast du den Hinweis für die Gosund SP112 berücksichtigt?

It is possible that your device will enter a bootloop due to a conflict with UART/serial logging.

Fix this using: SerialLog 0

(Quelle: Gosund SP112 Power Monitoring Plug Template for Tasmota)

Hallo,

danke für den Tipp, der das Problem jedoch nicht löst.

Ich konnte jetzt den Fehler erneut reproduzieren:
Habe die Einstellungen im Tasmota-WebUI geändert, einfach ein anderes Topic im Config MQTT eingetragen und das auch in der Tasmota-Instanz im IPS angepasst. Schau, da geht es wieder. Danach wieder Retain an und auf die Neustart-Schaltfläche geklickt. Zack, ging der Quatsch wieder los.

Ergo:
Sobald man mit „Retain“ eingeschaltet in der Instanz einen Neustart mittels der Schaltfläche darunter startet, beginnt eine Boot-Schleife. Im Debug ist zu sehen, dass IPS den Restart Befehl immer wieder sendet. Die Ursache scheint also im IPS (vermutlich wegen des Retain). Beim Löschen einer Instanz bleibt das „zurück“.

Naja, zumindest habe ich für mich einen Workaround gefunden:
Ich habe das Modul von Kai so modifiziert, dass es bei Retain AN keinen Neustart über den Button zulässt. Behebt zwar nicht das Problem, aber verhindert zumindest dessen Trigger.

Vllt kann sich mal das IPS-Team oder Kai der grundlegenden Ursache mal annehmen.

Danke

Eric

Hallo Eric,

kannst du mir bitte erklären, was du im Modul angepasst hast? Ich habe genau das selbe Problem.
@KaiS hast du eine Idee, woran das liegen kann?

PS eine Frage noch an @Fuchskusu, Eric, funktioniert bei dir der Button auf den SP112?

lg
Andreas

Hallo,

Der Knopf geht bei mir auch nicht.

Die Änderung betrifft das Skript TasmotaService.php im Ordner var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/libs.
Ich habe einen Raspi, keine Ahnung, wo das Skript auf anderen Plattformen liegt.

Der Umgang mit dem Retain-Schalter im Code ist recht undurchsichtig, um nicht zu sagen inkonsequent. Das in der Funktion restart an die Funktion MQTTCommand mitgegebene Retain wird dann in der MQTTCommand ignoriert und neu ausgelesen. Da ich keine Muse hatte, dass Modul umzuschreiben, sieht auch mein Workaround recht merkwürdig aus. Er knüpft an das Design an.

Alt:
public function restart()
{
$command = ‚restart‘;
$msg = strval(1);
$retain = false;

    $this->MQTTCommand($command, $msg, $retain);
}

Quick & Dirty Änderung:

public function restart()
{
$command = ‚restart‘;
$msg = strval(1);

    $retain = $this->ReadPropertyBoolean('MessageRetain');
    
if ($retain) 
{
        $retain = true;
        // tue nix
    } 
else //Neustart nur wenn Retain aus
{
        $retain = false;
    $this->MQTTCommand($command, $msg, $retain);
    }

   
}

Gruß

Eric

Soweit ich weiß hat @KaiS das Problem in der neusten Version bereits korrigiert, sodass Reboot nie mit Retain versendet wird :slight_smile: Sofern du aber die Nachricht per Retain bereits in IP-Symcon drin hast willst du diese „löschen“. Das geht ab der 5.6 einfach, für die 5.5 musst du manuell ran.

  • IP-Symcon beenden

  • settings.json öffnen

  • Nach RetainedMessages suchen

  • Anpassen, sodass es wie folgt aussieht:

              "attributes": {
                  "RetainedMessages": "{}"
              }
    
  • Speichern und IP-Symcon starten

paresy

Das Problem hatte ich schon längst behoben.

@Fuchskusu um mich zu rechtfertigen, warum das mit dem Retain so undurchsichtig ist:

Das Tasmota Modul ist das erste richtige Modul welches ich für IP-Symcon entwickelt habe.
Damals gab es noch keinen internen MQTT Server geschweige denn einen internen MQTT Client.
Also als ich das Modul entwickelt habe, wurde ein MQTT Client genutzt, den ein User aus dem Forum entwickelt hat, diesen habe ich damals soweit angepasst, dass er mit einem Modul genutzt werden konnte und nicht nur mit Scripten und damals gab es keine Möglichkeit Retain Messages zu versenden.

Mit den internen MQTT Geschichten wurde dann alles einfacher und besser, allerdings funktionierte dort soweit ich weiß, am Anfang auch noch kein Retain und deswegen sind da einfach viele komische Dinge im Modul. Auf meiner ToDo Liste steht auch, dass ich dieses Modul irgendwann nochmal neu machen möchte.

Grüße,
Kai

Hi,

das mit dem Button habe ich über ein Firmware Upgrade direkt am Gerät gelöst.

lg
Andreas