[Modul] Tasmota

Hallo Kai,

in der Konsole des (Tasmota-)Shelly werden weder Eingang1 noch Eingang2 angezeigt. Scheinbar werden diese nur in der Original-FW übertragen.
Heute ist mir aufgefallen, dass die Tasmota-Schnittstelle ständig Fehlermeldungen wirft. Ich haben mal die Meldungen und ein Debug bereitgestellt. TASMOTA-Version für den 2.5 ist 8.5.1. Irgendwie scheint es Probleme mit dem Format zu geben.

Kannst du dir das bitte mal anschauen ? Weißt du schon, ob TASMOTA 9.1 mit deiner Schnittstelle kompatibel ist ?

Habe heute alle Tasmota’s auf 9.1.0.1 hochgezogen, Modul von Kais ist hier die Beta.

Kannst du mir die neue Fehlermeldung nochmal geben und ein Debug von dem Gerät, welches den Fehler auslöst?

Grüße,
Kai

Sind deine Geräte per Passwort geschützt?

Grüße,
Kai

Angelegt werden die Variablen, richtig?
Kannst du das Debug mal das Textdatei hochladen?

Grüße,
Kai

debug_53456.txt (114 KB)

ich denke, du meinst das - die Meldungen dazu sind ja die gleichen wie in dem Bild vom letzten Post.

Hier noch die Variablen:

Ich habe jetzt mal einen Shelly 2.5 als tasmota-Shutter konfiguriert. Beim Steuern nach ist mir aufgefallen, dass der Shelly über stat\Result im Sekundentakt die aktuelle Position des Rollladen liefert … die Variablen tasmota\shutter1 Position und tasmota\shutter1 Target erst mit dem nächsten zyklischen Logging aktualsiert wird. Ich kann nachvollziehen, dass Result nicht ständig zerlegt wird um den laufenden Stand anzuzeigen aber die beiden anderen Variablen müssten doch zumindest dann aktualisiert werden, wenn der Rollladen steht, oder ?

Die laufenden Änderungen bei Result kommen im IPS übrigens an.
Wenn ich die Target-Variable im IPS ändere… müsste dann nicht der Shelly an die Zielposition fahren ?

Oder ist an dem Script was falsch ?

$Hauptinstanz = IPS_GetObjectIDByName('Tasmota', IPS_GetParent($_IPS['SELF']));

$Positionsinstanz = IPS_GetObjectIDByName('Shutter1 Position', $Hauptinstanz);
$Zielinstanz = IPS_GetObjectIDByName('Shutter1 Target', $Hauptinstanz);

if (GetValueFloat($Positionsinstanz) != GetValueFloat($Zielinstanz))
   {
   

   RequestAction($Positionsinstanz,GetValueFloat($Zielinstanz)); //Rolladen auf Sollposition fahren
   }

Im Debug der Instanz tut sich nichts.

Der Fehler tritt auf, weil dort ein Array gesendet wird.
Zur Zeit gab es noch kein Gerät, welches hier ein Array gesendet hat.
Das Shelly Gerät hat eine Leistungsmessung pro Kanal.

Da möchte ich jetzt keinen Schnellschuss machen und irgendwas einbauen. Das will ich mir erstmal überlegen.

Grüße,
Kai

Da ich kein Shelly mit der Tasmota Firmware hier habe, kann ich es nicht genau nachvollziehen.
Verändern kannst du die Variablen nicht, da die Variable keine Aktion besitzt.

Wieso willst du die Geräte denn mit Tasmota betrieben und nicht mit der originalen Firmware?

Grüße,
Kai

Mit der Shelly-FW habe ich ständig Probleme mit der Erreichbarkeit - mal sind sie nur per MQTT nicht erreichbar, manchmal überhaupt nicht mehr per WLAN und darüber hinaus rebooten sie ständig unkontrolliert. Ich habe diesbezüglich im Shelly-Forum schon diskutiert und mit dem Support von Shelly ein paar Dinge versucht, aber keine Besserung erreicht. Dann habe ich TASMOTA draufgespielt und damit laufen die völlig problemlos und sind ständig erreichbar. Bin auch nicht scharf drauf, überall zu flashen, aber wenn das die einzige Möglichkeit ist, dann mache ich das. Sobald ich das mit Shutter und Dimmer zum Laufen bekommen habe, werde ich alle umstellen. Allerdings sollte natürlich schon eine MQTT-Nachricht an den Shelly rausgehen. Über Weboberfläche und Konsole im Tasmota-Shelly funktioniert es.

Hallo Frank,

die Eingänge werden so mit Tasmota nicht gehen, wie das vorher mit der Shelly Firmware war.
Sitze da gerade dran, um einen Eingang(switch) vom Relais zu trennen, klappt aber mit den MQTT Meldungen leider nicht.

Und ich bin ehrlich, im Moment habe ich auch keine Lust das umzusetzen. :frowning:
Da ich selbst kein Gerät habe mit dem ich das so testen kann. Irgendwann vielleicht mal, aber im Moment habe ich andere Baustellen, die ich erstmal fertig bekommen möchte.

Grüße,
Kai

@Kai: Das mit dem Eingang ist auch kein Problem - da finde ich einen Workaround, aber das mit den Shutter-Funktionen wäre schon wichtig - kannst du mich dabei unterstützen ?

Was genau brauchst du denn da?

Grüße,
Kai

Zum einen muss ich ja zumindest hinter die Target-Variable ein Aktions-Script legen, welches über Request-Action einen MQTT-Befehl an den Shelly schickt und zum anderen ist mir nicht klar, warum die Variablen Direction und Position erst mit dem nächsten Logging-Zyklus verändert werden und nicht sofort beim Auslösen am Taster bzw. im Webfront des Shellies.

Hallo Kai,
Danke für deine tollen Module. :smiley:
Wie ein anderer User hier, werde ich mit Fehlermeldungen zugemüllt :frowning:
Teilweise kommt diese Fehlermeldung auch, wenn ich den Tasmota Konfigurator aufrufe.
Falls es hilft, ich habe ein Passwort aus Zahlen beim MQTT Server eingetragen.


Konnte Konfigurationsform nicht laden
<br />
<b>Fatal error</b>:  Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php:177
Stack trace:
#0 /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php(177): json_decode(false, true)
#1 /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php(124): TasmotaConfigurator->getFriendlyName('192.168.1.109')
#2 /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php(28): TasmotaConfigurator->getTasmotaDevices()
#3 /-(3): TasmotaConfigurator->GetConfigurationForm()
#4 {main}
  thrown in <b>/var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php</b> on line <b>177</b><br />
Abort Processing during Fatal-Error: Uncaught TypeError: json_decode() expects parameter 1 to be string, bool given in /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php:177
Stack trace:
#0 /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php(177): json_decode(false, true)
#1 /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php(124): TasmotaConfigurator->getFriendlyName('192.168.1.109')
#2 /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php(28): TasmotaConfigurator->getTasmotaDevices()
#3 /-(3): TasmotaConfigurator->GetConfigurationForm()
#4 {main}
  thrown
   Error in Script /var/lib/symcon/modules/.store/info.schnittcher.ips.tasmota/TasmotaConfigurator/module.php on Line 177 (Code: -32603)


Hallo,

der Tasmota Konfigurator kann euer IP-Symcon sehr langsam machen.
Ich habe gestern Ewigkeiten damit verbracht, die Ursache zu finden, wieso bei mir alles so extrem langsam ist.

@paresy nochmal vielen Dank für die Unterstützung bis spät Abends! :slight_smile:
Nun konnte ich herausfinden, dass es der Tasmota Konfigurator ist, immer wenn die Konsole offen war, dann gab es Verzögerungen von bis zu 1 - 3 Minuten. Nun habe ich den Konfigurator entfernt und die Verzögerungen sind verschwunden.

Also wer Probleme haben sollte, löscht den Konfigurator erstmal.

Grüße,
Kai

Hallo Kai,

ich habe immer wieder Probleme mit den MQTT Schnittstellen, sowohl Client als auch Server.
Schnittstellen bleiben nicht offen.
Da der Server den Online Status nicht aktualisiert, habe ich die meisten Tasmota wieder auf den Mosquitto (auf gleichem Raspi ) geändert.
Nun ist aber so, dass da auch immer wieder die Verbindung abbricht. Es wechselt ständig zwischen „Schnittstelle ist geöffnet“ und „Schnittstelle ist als fehlerhaft markiert…“.
Im Debug des Client Socket kommt aber kein Fehler sondern nur die Anfragen der Geräte

MQTT Client.txt (15.3 KB)

Den Mosquitto auf dem Raspi neu zu starten, hat nichts geändert.

Gruß

Oliver

Welchen Client nutzt du denn?
Ich würden mittlerweile auf den internen Broker umstellen mit den neuen Versionen von IPS sollte das alles funktionieren.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk