[Modul] Tasmota

Hallo!

Seit gestern Nachmittag bekomme ich wieder die Daten rein…
:confused: :confused: :confused: Hab nichts geändert…

Hoffe es bleibt jetzt so…

Danke!!!

Hat das MQTT Topic eine Längenbegrenzung? Das wurde glaube ich schon mal diskutiert, aber ich finde es nicht :(.

„Device State“ wird bei zwei meiner InlinePlugs zeitgleich auf „Offline“ gesetzt, obwohl nur der Zweite (10) stromlos ist.

Topics:

tasmota-steckdose1
tasmota-steckdose10

Update:
Die 1 ist weiterhin steuerbar und sie liefert Daten, nur der „Device State“ geht auf offline.

Im Debug war auch nichts zu finden, es sah so aus, als wäre das Gerät nicht mehr per MQTT verbunden gewesen, kann das sein?

Was passiert nach einem Neustart vom Gerät?

Grüße,
Kai

Es gibt nun die Variablen Weiß und Farbtemperatur in der aktuellen Beta Version, dafür müsst ihr im Konfigurationsformular die Haken setzen, dass die Variablen angelegt werden.

Grüße,
Kai

Habe mir einen LED-Streifen von LE zugelegt. Diesen konnte ich wider Erwarten per Tuya mit Tasmota flashen. Auf dem WBM geht alles.

Bin im Symcon auf Beta-Kanal gewechselt. Dein Modul 4.1 geladen. Dann eine neuen Instanz TasmotaLED angelegt, MQTT-Daten aus dem Device übernommen.Es tut sich weiterhin nichts. Auch im Konfigurationsformular erscheinen keine weitere Schalter. Dann mal den Schalter „System Variablen“ gesetzt. Auch nichts. Keine Reaktion bei den Variablen z.B. Farbe oder Dimmer in der Instanz. Im Debug wie vorher kommen allerdings Daten.

21.01.2021, 14:25:42 |     ReceiveData JSON | {"DataID":"{7F7632D9-FA40-4F38-8DEA-C83CD4325A32}","PacketType":3,"QualityOfService":0,"Retain":false,"Topic":"tele/Wohnzimmer/LED-Terrassenelement/STATE","Payload":"{\"Time\":\"2021-01-21T14:25:41\",\"Uptime\":\"0T00:30:15\",\"UptimeSec\":1815,\"Heap\":30,\"SleepMode\":\"Dynamic\",\"Sleep\":10,\"LoadAvg\":99,\"MqttCount\":1,\"POWER\":\"ON\",\"Dimmer\":67,\"Color\":\"1100AA\",\"HSBColor\":\"246,100,67\",\"Channel\":[7,0,67],\"Scheme\":0,\"Fade\":\"OFF\",\"Speed\":1,\"LedTable\":\"ON\",\"Wifi\":{\"AP\":1,\"SSId\":\"Idefix\",\"BSSId\":\"8A:8A:20:4C:B5:72\",\"Channel\":6,\"RSSI\":100,\"Signal\":-39,\"LinkCount\":1,\"Downtime\":\"0T00:00:09\"}}"}

Allerdings kann ich überraschend per Script kann ich die Farbe oder den Dimmer ändern.

Habe ich in Sachen Bedienung etwas falsch verstanden?

Wie sieht das Webinterface aus?
Welche Konfiguration hast du bei Tasmota genommen?

Ich habe im Modul etwas vergessen, nun solltest du die Checkboxen im Konfigurationsformular sehen.

Grüße,
Kai

Klasse. Gerade geupdatet - Schalter sind da. Tut sich leider dennoch nichts. Habe mehrere Profile in Tasmota probiert, z.B. MagicHome (34). Auch dieses angepasste von :

{"NAME":"LampUX","GPIO":[0,18,17,0,0,38,0,0,39,51,0,37,0],"FLAG":0,"BASE":18}

Oder

 {"NAME":"LE LampUx","GPIO":[0,0,0,0,0,38,0,0,39,0,0,37,0],"FLAG":0,"BASE":34}

Welches schlägst du für einen LED-Streifen vor?

Hallo Andreas,

du solltest schon die passenden GPIO’s für den Controller einstellen, damit der richtig arbeitet.
Welchen hast du den ganz genau ?

Moin Thomas,

die Bezeichnung lautet: LE LampUX 5m RGB LED Strip Model reference: 904103-RGB-F-EU.

Ok, genau den Typ nicht gefunden. Egal.

Geht es mit dem Tasmota WebIF die Farben richtig zu steuern ?
In IPS auf das Tasmota Modul in der Console gehen, und rechte Maustaste - Befehle testen - Farbe auswählen und einstellen geht ?

Ansonsten mal da: IP-Symcon Discord Channel reinschauen, kann man sich schneller unterhalten, und auch auch schnell Bilder einfügen

Schade, 904104 hatte ich gefunden. Ja, die Slider reagieren in WBM - Farben können verändert werden. Dimmen geht auch, Schalten ebenfalls. Diese drei Dinge (und auch nur diese drei) gehen auch über Befehle testen in der Instanz. Nur die Statusvariablen der Instanz zeigen keine Werte.Das wird sicher nicht am Profil im Device liegen, oder?

Software von Tasmota ist 9.1.0

Discord kenne ich gar nicht - schaue ich mir kurzfristig an.

Hallo Andreas,

so wie ich das jetzt sehe, ist das Problem bei deiner Config, da muss was nicht stimmen.

Gerne auch per Telefon, Anydesk und Discord(da sind immer ein paar Leute meistens Online.)
Schau mal rein : Discord Channel

@ralf: Ist das das vollständige Topic? Wie lang ist denn das ganze Topic?

paresy

Ich sach mal „standard“, also


%prefix%/%topic%/

plus das jeweils eingetragene Topic


tasmota-steckdose1
tasmota-steckdose10

Hallo Kai,

ich habe neu den Sonoff Dimmer D1 mit Tasmota 9.1.0. eingebunden. Die Power-Variable und alle System Variablen werden korrekt angelegt und in IPS aktualisiert. Leider bekomme ich keine Variable für den Dimmer-Wert, um diesen aus IPS zu verändern. Im Webfront des Gerätes funktioniert der Dimmer-Slider und der Wert wird auch gesendet (Konsole):

13:38:33 MQT: tele/Dimmer/STATE = {"Time":"2021-01-28T13:38:33","Uptime":"0T01:35:09","UptimeSec":5709,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"OFF","Dimmer":31,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi"

Was mache ich da noch falsch?

Vielen Dank im Voraus!

Marwin

Nachtrag 29.01.21:
Nachdem ich mir den Sourcecode angesehen habe fiel mir auf, dass der Dimmer bei der Tasmota-Instanz nicht ausgewertet wird. Bei der TasmotaLED-Instanz gibt es die Dimmer-Variable. Also habe ich einfach die Instanz gewechselt und schon wird auch der Dimmer als Variable dargestellt und ist aus IPS veränderbar. Ist vielleicht nicht im Sinne des Erfinders, da es sich bei dem D1 ja nicht um LED-Modul handelt, aber das Ergebnis zählt.:slight_smile:

Hallo Zusammen,
ich bekomme aktuell zweimal bis dreimal täglich - in der Regel nachts - den folgenden Fehler:

IPSymcon-Err-PHP 2021-01-29 00:15:00.170 Warning: First parameter must either be an object or the name of an existing class Error in Script C:\ProgramData\Symcon\modules.store\info.schnittcher.ips.tasmota\Tasmota\module.php on Line 169 134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out) 37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err) in IPSLogger_PhpErrorHandler 169 in modules.store\info.schnittcher.ips.tasmota\Tasmota\module.php (call property_exists) 3 in C:\Windows\System32- (call ReceiveData)

Kann damit jemand was anfangen? Liegt das am Modul oder an meiner Hardware? Angebunden sind zwei ESP32 mit der MiFlora Firmware.

Gruß

Hallo,
ich habe ein ESP32 mit Tasmota 9.2.0 geflasht. Das Device wird mir im Tasmota- und MQTT-Konfigurator angezeigt. Mit MQTT kommen die Daten in Symcon rein. Bei Tasmota kommt jedoch nichts an.

Geflasht wurde die Datei „Tasmota32-sensors.bin“

Hallo,

da im Github dieses Moduls offenbar das Anlegen neuer Branches bzw. Pull-Requests gesperrt sind, hier als Anregung eine kleine Ergänzung, die ich für meine Shelly2.5 im Shutter-Betrieb (mit Tasmota) benötigte:

Zunächst wollte ich verhindern, dass jemand mit den Schaltern am Shelly direkt die Rolläden verfahren kann, wenn die Terrassentür offen steht. Dazu habe ich einen Fensterkontakt in IPS eingebunden, den ich auswerten kann. Tasmota bietet hier zum Entkoppeln der Taster von den Relais die „SetOption114“, wenn diese gesetzt ist, wird bei Betätigen eines Tasters/Schalters ein MQTT-Result geschickt, mit den Daten „SwitchN“ (also Switch1, Switch2, …, je nachdem, welcher betätigt wurde) und einem Parameter „Action“ mit einem Wert von z.B. „Toggle“ - abhängig davon, ob man Schalter mit Raste oder Taster verbaut und konfiguriert hat. Die Relais werden durch die SetOption114 nicht mehr direkt betätigt.
Kais Modul hat diese „SwitchN“ Telegramme jedoch leider nicht ausgewertet, bei mir wurden keine entsprechenden Variablen in der Instanz angelegt, die ich hätte auswerten können.

Zusätzlich störte mich, dass das Shelly beim Verfahren des Rolladens zwar fleißig die Position per MQTT sendet, Kais Modul diese jedoch nicht auswertet und an die Instanz im IPS weitergibt, auch diese Variablen werden nicht angelegt.

Nachrüsten lassen sich beide Dinge ganz einfach, indem man in der module.php innerhalb des Blocks von „fnmatch(’*RESULT’“ die folgenden Zeilen hinzufügt, anschließend werden in der Instanz die entsprechenden Variablen angelegt und mit Werten gefüllt, sobald diese gesendet werden:


					if (fnmatch('*Switch*', $Buffer->Payload)) {                    
						$this->SendDebug('Sensor Payload', $Buffer->Payload, 0);
                        $this->SendDebug('Sensor Topic', $Buffer->Topic, 0);
						for ($i = 0; $i <= 15; $i++) {
							if (property_exists($Payload->{'Switch' . $i}, 'Action')) {
								$this->RegisterVariableString('Tasmota_Switch' . $i, 'Switch' . $i, '', 0);
								SetValue($this->GetIDForIdent('Tasmota_Switch' . $i), $Payload->{'Switch' . $i}->{'Action'});
							}
						}
                    }
                    if (fnmatch('*Shutter*', $Buffer->Payload)) {
                        $this->SendDebug('Sensor Payload', $Buffer->Payload, 0);
                        $this->SendDebug('Sensor Topic', $Buffer->Topic, 0);
						for ($i = 0; $i <= 5; $i++) {
							if (property_exists($Payload->{'Shutter' . $i}, 'Position')) {
								$this->RegisterVariableInteger('Tasmota_Shutter' . $i . '_Position', 'Shutter' . $i . '_Position', '', 0);
								SetValue($this->GetIDForIdent('Tasmota_Shutter' . $i . '_Position'), $Payload->{'Shutter' . $i}->{'Position'});
							}
							if (property_exists($Payload->{'Shutter' . $i}, 'Direction')) {
								$this->RegisterVariableInteger('Tasmota_Shutter' . $i . '_Direction', 'Shutter' . $i . '_Direction', '', 0);
								SetValue($this->GetIDForIdent('Tasmota_Shutter' . $i . '_Direction'), $Payload->{'Shutter' . $i}->{'Direction'});
							}
							if (property_exists($Payload->{'Shutter' . $i}, 'Target')) {
								$this->RegisterVariableInteger('Tasmota_Shutter' . $i . '_Target', 'Shutter' . $i . '_Target', '', 0);
								SetValue($this->GetIDForIdent('Tasmota_Shutter' . $i . '_Target'), $Payload->{'Shutter' . $i}->{'Target'});
							}
						}
                    }

Es wäre schön, wenn diese kleine Erweiterung in den Master Branch aufgenommen werden könnte, damit ich kein separates Modul dafür in IPS verwenden muss.

Vielen Dank an Kai für das Erstellen dieses Moduls!

Gruß

lurch

Ja, das Modul ist gewachsen, ich überlege, wie ich diese Modul allgemein umstrukturieren kann und immer genau die Variablen angelegt werden, die benötigt werden.

Kannst du mal versuchen davon ein Debug zu erzeugen?

Kommt im Debug der Instanz etwas an?
Kannst das Debug mal posten?

Wie oben schon erwähnt, das Modul ist sehr gewachsen, da sich Tasmota Firmware sich fast täglich verändert.
Ich überlege wie ich dieses Modul schicker gestalten kann und am besten so, dass immer die richtigen Variablen angelegt werden.

Kannst du kurz erklären, wozu die Schleifen sind? Ich habe kein Gerät hier um das zu testen.

Grüße,
Kai

In der aktuellen Beta Version sollte nun bei dem TasmotaLED Modul Farbtemperatur und Weiß funktionieren.

Grüße,
Kai