[Modul 4.3] Tasmota

Hallo Kai,
danke für die gute Arbeit. Die Einbindung ging absolut problemlos.
Die von dir geänderte MQTT-Client Instanz installiert, dein Tasmota Modul drauf. eben den MQTT Server eingetragen, rennt.
Auch das Konfigurationsmodul läuft einwandfrei… Danke.
Ich bin auch nicht an dem gelb/orangen Knopf auf GitHub vorbei gekommen, ich musste da irgendwie mal draufdrücken.:smiley:

So nun zu meinen Fragen.

Wenn ich bei dem Sonoff den Stecker ziehe und dann im Web-Front einschalte, wird „AN“ angezeigt und für mich sieht es im Debug so aus als würde der MQTT-Server dies auch so beantworten. Ist natürlich nicht wirklich schön.
Habe es mit einer eigen Aktion abgefangen in dem ich den Status auf <Online> prüfe und wenn er nicht Online ist, eine Veränderung nicht zulasse und eine entsprechende Meldung ausgebe. Gibt es da andere Möglichkeiten?
Schade ist, dass kein True oder False je nach Erfolg oder Misserfolg zurück kommt, wenn der MQTT Server dies überhaupt korrekt zurück meldet.

Daraus ergibt sich direkt die nächste Frage.

Ich kann mit Tasmota_sendMQTTCommand auch direkte Befehle absetzen, somit auch Abfragen an das jeweilige Gerät.
Im Debug sieht man auch eine zur Antwort, aber es kommt nichts zurück wenn man den Befehl mit Echo ausführt.
Wie käme man da da ran? Mir reichte der komplette Antwort String, zerlegen kann man den ja selbst.

Dann ein kleine Hinweis, in GitHub ist ein kleiner Fehler im ReadMe:

Tasmota_sendMQTTCommand("POWER „ON“); müsste aber Tasmota_sendMQTTCommand(Instanz_ID,„POWER“, „ON“);
Die kleine Unschönheit ist in Tasmota und TasmotaLED, der Symcon Anfänger stolpert bestimmt darüber.

Ich freue mich, dass du auch an Shelly programmierst, ich bekomme im laufe nächster Woche 2 x Shelly 1 (Trackinnummer seid Freitag) und kann auch das Modul testen. Wenn mir die Shelly’s gefallen werde ich direkt je ein Shelly 2 und 4 ordern, so dass ich auch da mit testen kann.

Gruß Achim
und nochmals vielen Dank!

Ich bin auch nicht an dem gelb/orangen Knopf auf GitHub vorbei gekommen, ich musste da irgendwie mal draufdrücken.:smiley:

Vielen Dank! :slight_smile:

Wenn ich bei dem Sonoff den Stecker ziehe und dann im Web-Front einschalte, wird „AN“ angezeigt und für mich sieht es im Debug so aus als würde der MQTT-Server dies auch so beantworten. Ist natürlich nicht wirklich schön.
Habe es mit einer eigen Aktion abgefangen in dem ich den Status auf <Online> prüfe und wenn er nicht Online ist, eine Veränderung nicht zulasse und eine entsprechende Meldung ausgebe. Gibt es da andere Möglichkeiten?
Schade ist, dass kein True oder False je nach Erfolg oder Misserfolg zurück kommt, wenn der MQTT Server dies überhaupt korrekt zurück meldet.

Im Broker konnte man irgendwie einstellen, dass er einen Cache erstellt, dann dürfte das nicht mehr passieren, wenn ich dich richtig verstanden habe, bekommst du auch Meldungen zurück, wenn das Gerät gar nicht eingeschaltet ist, richtig?

Ich kann mit Tasmota_sendMQTTCommand auch direkte Befehle absetzen, somit auch Abfragen an das jeweilige Gerät.
Im Debug sieht man auch eine zur Antwort, aber es kommt nichts zurück wenn man den Befehl mit Echo ausführt.
Wie käme man da da ran? Mir reichte der komplette Antwort String, zerlegen kann man den ja selbst.

Hast du ein Beispiel, was du genau vor hast?
Du könntest über einen zweiten MQTT Client, mit einem Handle Script auf alles mögliche reagieren. Aber ohne genau zu wissen, was du vor hast, kann ich dir hier nicht weiter helfen. Einfach einen Rückgabewert bei dieser Funktion wird wahrscheinlich gar nicht funktionieren.

Tasmota_sendMQTTCommand("POWER „ON“); müsste aber Tasmota_sendMQTTCommand(Instanz_ID,„POWER“, „ON“);
Die kleine Unschönheit ist in Tasmota und TasmotaLED, der Symcon Anfänger stolpert bestimmt darüber.

Ja, das muss ich noch ändern, danke.

Ich freue mich, dass du auch an Shelly programmierst, ich bekomme im laufe nächster Woche 2 x Shelly 1 (Trackinnummer seid Freitag) und kann auch das Modul testen. Wenn mir die Shelly’s gefallen werde ich direkt je ein Shelly 2 und 4 ordern, so dass ich auch da mit testen kann.

Shelly 1 und Shelly 2 funktionieren schon. :slight_smile:

Grüße,
Kai

Hallo Kai und Co…
ich habe heute ein zweites Tasmota-LED Modul eingebunden und seitdem laufen bei mir die Fehlermeldungen im Log auf:

Beid eModule senden im Sekundentakt

22:56:31 MQT: tele/sonoffled1/LWT = online (beibehalten)
22:56:31 MQT: cmnd/sonoffled1/POWER =
22:56:32 MQT: Verbindungsversuch…
22:56:32 MQT: verbunden
22:56:32 MQT: tele/sonoffled1/LWT = online (beibehalten)
22:56:32 MQT: cmnd/sonoffled1/POWER =
22:56:33 MQT: Verbindungsversuch…
22:56:33 MQT: verbunden

Ich weiss nicht mehr weiter.
Ich habe schon alte gesicherte Backups eingespielt, aber das hilft nicht.
Hat jemand eine Ahnung, woran das liegen kann?

Besten Dank im voraus.
Thilo

OK,
ich war etwas zu schnell und habe den Fehler vom dem MAC nicht mitgekriegt.
Beide Tasmota hatte den gleichen client Namen und haben sich irgendwie selbst „angeregt“.

Client Namen geändert und schon ist Stille und alles geht wieder wesentlich schneller…

Vielleicht sollte man doch nicht so lange vor dem Rechner sitzen…

Viele Grüße
Thilo

Hallo Kai,

so habe jetzt erst wieder ein wenig Zeit.

Im Broker konnte man irgendwie einstellen, dass er einen Cache erstellt, dann dürfte das nicht mehr passieren, wenn ich dich richtig verstanden habe, bekommst du auch Meldungen zurück, wenn das Gerät gar nicht eingeschaltet ist, richtig?

Da haben wir uns nicht richtig verstanden.
Wenn ich beim Sonoff den "den Stecker " ziehe und das Gerät war an, wird beim wieder einstecken (Gerät beim hochfahren Standard aus) in Symcon der Zustand ordentlich geändert. Ich kann da auch Aufgrund der Status-Variablen, im Zweifel die Power-Variable wieder auf false setzen.

Meine Frage ist, wenn der Sonoff Offline ist und ich im WEB-Front auf AN klicke, wird auch die Variable auf true gesetzt.
Obwohl der Sonoff offline ist.
Umgekehrt interessanter weise nicht. War der Sonoff an und wird dann offline , dann bleibt die Variable natürlich true, da keine Meldung kommt. Klicke ich jetzt im WEB-Front auf aus, ändert sich der Wert der Variablen nicht auf false.
Also ist der Sonoff Offline und ich klicke auf an, wird dies umgesetzt, im umgekehrten Falle nicht.

Dies habe ich mit einem eigenem Aktionsscript abgefangen (Prüfung OFFLINE) und ist somit nur ein Hinweis.

Hoffe ich habe mich halbwegs verständlich ausgedrückt.

In dem ursprünglichen Absatz steckte aber meine ursprüngliche Frage.

Ich bin es derzeit in Symcon gewohnt, dass ich beim absetzen einen Befehls im Standard ein True oder False zurück bekomme und entsprechend darauf reagieren kann. Da ich derzeit sehr viel Homematic einsetze ist die Rückmeldung wichtig, da der Schalterfolg nicht immer gewährleistet ist.

Kannst du dies nicht auch bei zum Beispiel Tasmota_setPower verwirklichen, dass dieser Befehl einen Rückgabewert hat? Wenn dies geht bitte auch für Shelly umsetzen.

Zu dem Thema < Tasmota_sendMQTTCommand>
Da geht es mir die Antwort komplett zu bekommen.
Wenn ich zum Beispiel <$Ergebnis=Tasmota_sendMQTTCommand($ID_Tasmota,„STATUS“,„0“);>
absetze, sehe ich im DEBUG die ganzen Rückmeldungen zu dem Gerät… Die hätte ich gerne komplett zum auswerten.
Wobei es auch noch gezieltere Abfragen gäbe.

Gruß
Achim

Ja, ich weiß was du meinst. Das liegt daran, dass ich SetValue nur setze wenn eine Antwort kommt, wenn ich das gerade richtig in Erinnerung habe. Ich schaue mir das nochmal an.

Mit Rückmeldung true oder false beim ausführen eines Befehls muss ich nochmal schauen.

Das mit dem auswerten von dem MQTT Befehl muss ich mir auch anschauen, ob das möglich ist. Ich kann es nicht versprechen. Ich schaue mir das aber auch gerne nochmal an.

Bin aber zur Zeit unterwegs.

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

Hallo Kai,

hier die Bilder der schaltbaren 3-fach Steckdosenleiste Luminea von Pearl

Gruß

Oliver

Hallo Oliver,

schau mal :
CE Smart Home LA WF3 Wifi Plug (TYWE2S) · arendst/Sonoff-Tasmota Wiki · GitHub

Sollte also gehen, aber die Belegung mußt du selber rausfummeln.

Hallo Kai,

ich habe heute eine Steckdose mit der aktuelle 6.30er Firmware aktualisiert.
Es ist eine einfache Sonoff Steckdose. MQTT liefert jetzt immer „POWER1“ als Variable. Damit das verarbeitet wird muss mann in der Instanz das Multidevice aktivieren.

Das haben evtl. schon andere rausgefunden, habe aber im Thread dazu nichts gefunden.

Gruß
Christian

Hallo Christian,

muss ich mal anschauen, das könnte wirklich ein Bug sein.

Grüße,
Kai

Hallo Kai,

mir fällt noch etwas ein. Ich habe seit einiger Zeit immer um Mitternacht im IPS Logger einige Fehlermeldungen:


Warnung Error Eigenschaft State nicht gefunden,
Error in Script...IPS-Tasmota/libs/TasmotaService.php on line 30

Die Meldung kommt jede Nacht.

Hast Du dazu noch eine Idee?

Gruß
Christian

Hi,
irgendwo habe ich noch einen Fehler. Muss ich noch irgendwas wie ein Skript anlegen für die Anzeige der Sensoren? Habe mosquitto installiert bekommen unter Win 10 bzw. der Port ist geöffnet.

Habe jetzt folgende Einstellungen angegeben:

1 MQTT Ckient.JPG

2 Client Socket.JPG

Hi,

das sieht soweit ok aus. Starte doch mal den Debug in der Tasmota Instanz und schaue was dort passiert.
Wenn da nichts reinkommt solltest Du den Debug in der MQTT Instanz anschauen, da kommen ja für alle Geräte die gesendeten Daten an.

Wenn da nichts kommt stimmt meiner Meinung nach mit dem Mosquito was nicht.

Gruß
Christian

@Christian welche Zeile ist das bei dir? Da bin ich gerade überfragt, in der Zeile kommt bei mir nichts mit State vor.

@Stefan71 und setz die MQTT ClientID mal auf symcon.

Grüße,
Kai

In der Debug Konsole kommt wirklich nichts an. Wenn ich den Sonoff An/Aus schalte müsste ja da was kommen.

Habe die Client ID auf symcon gestellt, aber auch ohne Erfolg.

mosquitto Test:

IP Überprüfung:

8 IP.JPG

9 IP.JPG

Hast du einen Pi zur Hand, um es damit mal zu testen.
Wenn ich mich richtig erinnere, gab es schon mal einen User, der Probleme mit dem Broker unter Windows hatte.

Grüße,
Kai

Nein, leider nicht. Wollte mir mal einen zulegen für IPS etc, aber wollte mir nicht noch eine Baustelle an den Hals hängen. Kenne mich damit auch absolut nicht aus.

Hallo Kai,

hier ein Ausschnitt der der TasmotaService.php:

protected function Debug($Meldungsname, $Daten, $Category)
    {
        if ($this->ReadPropertyBoolean($Category) == true) {
            $this->SendDebug($Meldungsname, $Daten, 0);
        }
    }

Zeile 30 ist bei mir die Zeile mit dem If. Ich bin beim Modul auf der aktuellsten Version.

Gruß
Christian

Hallo,

erstmal Danke auch von meiner Seite aus für dieses geniale Modul.

Ich nutze Tasmota für die Lichter im Garten.
Leider ist der Kontakt über WLAN manchmal nicht gewährleistet, wenn zb Regen ist.
MQTT ist ja von der Sache her auch für schlechte Verbindung ausgelegt. Wenn ich es richtig verstehe, können Messages „retained“ werden, so dass diese zugestellt werden, wenn ein Client zum Zeitpunkt des publish Ereignisses nicht erreichbar gewesen ist.
Gibt es diese Möglichkeit auch in Deinem Modul?

Hallo Kai,

noch eine Ergänzung zu meinem letzten Post mit dem Fehler und dem Scriptauszug:

Ich habe 5 Instanzen von Tasmota_LED, davon sind aktuell 4 Instanzen Online. Ich bekomme die Fehler um 00.00 Uhr und zwar genau 4 Stück.

Es scheint so, als würde das Modul um Mitternacht nach einer Variablen mit dem Namen „State“ suchen, die es bei den LED Instanzen nicht gibt, da ich eine Deutsche Tasmota-Firmware verwende. Die Variable heisst bei mit „Status“.

Vielleicht hilft das ja weiter.

Gruß
Christian