Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [Adapter] Sonoff- Tasmota

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[Adapter] Sonoff- Tasmota

Geplant Angeheftet Gesperrt Verschoben Tester
720 Beiträge 75 Kommentatoren 253.4k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    TimmBo
    schrieb am zuletzt editiert von
    #429

    Danke das war mir nicht bewusst. Hab ich jetzt mal nachgeholt.

    Warum muss man das machen?

    1 Antwort Letzte Antwort
    0
    • modmaxM Offline
      modmaxM Offline
      modmax
      schrieb am zuletzt editiert von
      #430

      Ob es inzwischen behoben wurde weiss ich nicht …

      Aber bei installationen von GitHub oder per Urlaub musste man sonstvei. Upload machen ...

      Wohl um die Adminseiten upzudaten und auf die aktuellste Version zu bringen.

      Irgendwie sowas ....

      Hab mir daher angewöhnt bei Installation von GitHub direkt auch immer das Upload zu machen.

      Ob es noch nötig ist weiss ich aber nicht wirklich ... :D

      Ist eben nur ne Idee gewesen ...

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Master77
        schrieb am zuletzt editiert von
        #431

        @modmax:

        Auch daran gedacht nach Installation von GitHub nochmal ein Upload zu machen?

        Also über erweiterte Einstellungen und dann bei der sonoff Instanz den Upload Button drücken.

        Bin darüber auch schon mehr als einmal gestolpert … Da das Upload bei installationen von einer Urlaub nicht Automtisch geht ...des sei denn daß es inzwischen behoben wurde .... :-) `

        Hallo zusammen.

        Was genau meinst du mit Upload nach der Installation machen?

        Danke im voraus für die Info.

        Gruß Markus

        1 Antwort Letzte Antwort
        0
        • modmaxM Offline
          modmaxM Offline
          modmax
          schrieb am zuletzt editiert von
          #432

          Wenn man von GitHub installiert hat ….. Dann bei den Instanzen die erweiterten Enstellungen aktivieren .... Man sieht dann auf der rechten Seite in der Liste bei den Adaptern 2 Buttons mehr ..... Ei erdavon ist der Upload-Button ...

          Jedenfalls bei Admin Adapter 2 .... In der 3er Version sieht das wohl anders aus ....

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Master77
            schrieb am zuletzt editiert von
            #433

            @modmax:

            Wenn man von GitHub installiert hat ….. Dann bei den Instanzen die erweiterten Enstellungen aktivieren .... Man sieht dann auf der rechten Seite in der Liste bei den Adaptern 2 Buttons mehr ..... Ei erdavon ist der Upload-Button ...

            Jedenfalls bei Admin Adapter 2 .... In der 3er Version sieht das wohl anders aus .... `

            OK. Und das sollte man für jeden Adapter machen den man von

            GitHub installiert hat?

            Was genau wird denn dann auf den Pi hoch geladen?

            Gruß Markus

            1 Antwort Letzte Antwort
            0
            • modmaxM Offline
              modmaxM Offline
              modmax
              schrieb am zuletzt editiert von
              #434

              Ich glaube die Admin-Seiten nur …. :-)

              1 Antwort Letzte Antwort
              0
              • modmaxM Offline
                modmaxM Offline
                modmax
                schrieb am zuletzt editiert von
                #435

                Hier stand mal eine Erkenntnis über das EnergySaving, die sich aber als falsch herausstellte.

                Aus diesem Grund habe ich das entfernt, um keine Verwirrung zu stiften!

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #436

                  @modmax:

                  Hi @Bluefox,

                  erstmal Danke für den schnellen Fix.

                  Den Streamserver haste ja rausgeschmissen.

                  Ich hatte selber bei mir eine von mir umgebaute server.js laufen,

                  die im Grunde dem entsprach,w as Du umgesetzt hast.

                  Anstatt eines Timeouts auf dem Stream hatte ich aber bei einem pingreq den pingresp

                  unterdrückt, wenn der Client geschlossen war.

                  Also sowas in der Art:

                  client.on('pingreq', (/*packet*/) => {
                      if (clients[client.id]) {
                          adapter.log.debug('Client [' + client.id + '] pingreq');
                          client.pingresp();
                      }
                  });
                  
                  

                  Das sollte dafür sorgen, daß bei einem "close" kein ping mehr

                  für den Stream eines geschlossenen Clients geschrieben werden sollte.

                  Sorgte im Endeffekt aber dafür, daß der Client nochmals geschlossen wurde,

                  das erste Mal durch den "socket has closed by other party" (ErrorCode: EPIPE),

                  um danach gleich nochmal wegen des Pings geschlossen zu werden .. :-)

                  Bin halt kein Javascript-Experte … sondern nur echtem Java.

                  Ist wahrscheinlich auch falsch gewesen an der Stelle aber war eben ein Test von mir ...

                  Hab nun die Installation auf das neueste 2.0.0 geupdatet und lasse das mal so laufen

                  und schau was passiert.

                  Daß der Fehler mit WLAN-Qualität zu tun haben soll, kann ich auch nur bedingt bestätigen.

                  Hab selber eine Fritzbox 7490, sowie einen Fritzbox WLAN-Repeater 1150 im Einsatz (als MESH-Netz).

                  Nachts schalte ich das Gast-WLAN per TR64-Adapter immer aus; und dann haben sich

                  die Sonoffs, die am Repeater hingen auch netztechnisch verabschiedet.

                  Ich denke, daß es hier auch Unterbrechungen geben kann, die auf die Router/Repeater-Hardware

                  zurückzuführen ist.

                  Beim Anschalten des Gast-WLANs am Morgen gibt es dagegen keine Probleme.

                  MfG Markus `
                  Habe jetzt das übernommen und 2.0.1 auf npm gepublished.

                  1 Antwort Letzte Antwort
                  0
                  • ChaotC Offline
                    ChaotC Offline
                    Chaot
                    schrieb am zuletzt editiert von
                    #437

                    Ah! Das Update scheint gelungen.

                    Ich habe bisher keine Abbrüche.

                    Das ist deutlich zu merken und das Log ist leer.

                    ioBroker auf NUC unter Proxmox; VIS: 12" Touchscreen und 17" Touch; Lichtsteuerung, Thermometer und Sensoren: Tasmota (39); Ambiente Beleuchtung: WLED (9); Heizung: DECT Thermostate (9) an Fritz 6690; EMS-ESP; 1 Echo V2; 3 Echo DOT; 1 Echo Connect; 2 Echo Show 5; Unifi Ap-Ac Lite.

                    1 Antwort Letzte Antwort
                    0
                    • modmaxM Offline
                      modmaxM Offline
                      modmax
                      schrieb am zuletzt editiert von
                      #438

                      @Bluefox

                      Danke für die schnelle Umsetzung.

                      Aber inzwischen kam mir eine ganz andere Idee bzw. Erkenntnis

                      (jaaaaaaa .. ich bin voller Erkenntnisse, wenn es ums Finden einer Lösung geht … :-))

                      Und zwar:

                      Was passiert, wenn sich ein Client zweimal connected, ohne daß vorher ein close,error oder dergleichen kam?

                      Passiert nämlich beim Neustart eines Sonoffs immer ...

                      Szenario:

                      Sonoff wird das erste mal gestartet und im Adapter wird ein Client-Objekt angelegt, bezeichnen wir den mal als Pointer_A, samt Stream.

                      Nun wird der Sonoff nochmals gestartet und es erfolgt wieder ein Connect.

                      Hier wird dann, soweit ich das übersehen kann, ein neuer Client angelegt, sagen wir Pointer_B.

                      Es wird dabei nicht überprüft, ob der Client schon da ist oder dergleichen.

                      Somit ergeben sich dann für denselben Sonoff für den gleichen Client 2 Pointer-Objekte: A und B.

                      A und B haben immer noch einen eigenen Stream, da Pointer_A nie geschlossen wurde.

                      Im Endeffekt sieht man aber einen Timeout, der dann aber von Pointer_A zu kommen scheint und nicht Pointer_B.

                      Testen kann man das folgendermaßen:

                      1.) Sonoff-Adapter neu starten.

                      2.) sonoff verbindet sich und im Log steht "Client [sonoff] connected".

                      3.) Sonoff über WebUI neu starten.

                      4.) Es erscheint wieder die Meldung ""Client [sonoff] connected".

                      Diese dürfte dann der Punkt sein, an dem der Adapter 2 Streams für denselben Client im Speicher hält;

                      nämlich den "vergessenen Stream" vom ersten Connect und dann den aktuellen Stream für

                      das aktuelle Connect.

                      5.) Problem hierbei ist, daß für den vergessenen Stream dann der Timeout kommt

                      und der Adapter dann den Client aus der "connections"-Liste löscht, weswegen

                      dann kein Schalten mehr möglich ist.

                      Im Log erscheint nämlich folgendes:

                      2018-03-17 22:35:43.220  - info: sonoff.0 terminating
                      2018-03-17 22:35:43.228  - info: host.iobroker instance system.adapter.sonoff.0 terminated with code 0 (OK)
                      2018-03-17 22:35:45.223  - info: host.iobroker instance system.adapter.sonoff.0 started with pid 27509
                      2018-03-17 22:35:45.585  - info: sonoff.0 starting. Version 2.0.0 in /work/iobroker/node_modules/iobroker.sonoff, node: v8.9.4
                      2018-03-17 22:35:45.612  - info: sonoff.0 Starting MQTT authenticated  server on port 1885
                      2018-03-17 22:36:01.754  - info: sonoff.0 Client [kinderzimmer-stehlampe] connected
                      2018-03-17 22:38:04.450  - info: sonoff.0 Client [kinderzimmer-stehlampe] connected
                      2018-03-17 22:41:02.164  - info: sonoff.0 Client [kinderzimmer-stehlampe] timeout
                      
                      

                      Ergebnis ist: Sonoff funktioniert; nur er ist nicht mehr über ioBroker steuerbar.

                      Das erklärt dann auch, wieso noch immer Pings und Telemetrie-Infos ankommen,

                      aber man über iobroker nicht mehr schalten kann.

                      Müßte bei einem "connect" eines neuen CLients mit gleicher ID nicht geschaut werden, ob schon ein Client da ist und den terminieren?

                      Oder wenigstens den Stream eines bereits bestehenden Clients mit gleicher client.id löschen oder schließen?

                      Hatte das mal testweise so geändert:

                      client.on('connect'
                          ...
                      
                      	let oldClient = clients[client.id];
                      	if (oldClient) {
                      		adapter.log.info('Client [' + client.id + '] reconnected');
                      		oldClient.stream.end();
                      		oldClient = undefined;
                      	} else {
                      		adapter.log.info('Client [' + options.clientId + '] connected');
                      	}
                      
                      	client.connack({returnCode: 0});
                      
                      

                      Da nun aber der Stream feherhaft ist, wird der "neue" Client nun geschlossen und über dessen

                      Stream das LWT gesendet und der Client geschlossen, so daß sich der Sonoff nun wieder neu connected;

                      was eigentlich überflüssig ist. Die Änderung im PingReq wäre damit auch obsolet.

                      Im Log sieht das dann nämlich so aus:

                      2018-03-18 00:49:05.705  - info: sonoff.0 Client [kinderzimmer-stehlampe] connected
                      2018-03-18 00:51:43.537  - info: sonoff.0 Client [kinderzimmer-stehlampe] reconnected
                      2018-03-18 00:51:43.552  - info: sonoff.0 Client [kinderzimmer-stehlampe] Error: read ECONNRESET
                      2018-03-18 00:52:14.791  - info: sonoff.0 Client [kinderzimmer-stehlampe] connected
                      
                      

                      Man müßte also den "vergessenen Client/Stream" so termieren, daß kein Trigger mehr ausgeführt wird;

                      oder die Timepout-Methode ändern … oder ... oder .... oder ...

                      Wie gesagt; bin kein JavaScript-Experte, sondern eher Java und etwas C,

                      deswegen fiel mir das beim Testen auf. Nur Debuggen kann ich

                      das JavaScript nicht um zu sehen, welche Objekte in der VM/Speicher

                      denn nun wirklich bestehen.

                      Zum Schluß noch ein Kleiner Bug in Zeile 430,

                      bei dem "adapter.warn" durch "adapter.log.warn" ersetzt werden muß.

                      MfG Markus

                      1 Antwort Letzte Antwort
                      0
                      • modmaxM Offline
                        modmaxM Offline
                        modmax
                        schrieb am zuletzt editiert von
                        #439

                        @Bluefox

                        Sodele ..

                        Ich hoffe ich habe nun die Lösung des Problems gefunden.

                        Jeder Client bekommt nun beim "connect" einen timestamp mit.

                        Sollte beim connect noch ein "vergessener" Client (was wohl nur ein Duplex-Stream ist) für die gleiche

                        Client-ID existieren, dann wird dieser "vergessene" Client geschlossen.

                        Dies passiert, weil die Sonoffs beim Neustart kein close/end mehr in den Stream zum Server schicken

                        und dieser Stream dann auf dem Server noch weiter rumidlet; aber für den Server dann noch immer aktiv;

                        hängt wohl mit der Implementierung der "mqtt-connection" zusammen …

                        Der timestamp eines Clients wird zudem beim Schließen eines Clients überprüft.

                        Passen die timestamps des Clients, der ein event bekommt, nicht mit dem

                        Timestamp des gespeicherten Clients überein, dann wird lediglich dieser "vergessene" Client geschlossen.

                        Sollte sich der Stream aus irgendwelchen Netzgründen verabschieden und weder Server noch Client (also der Sonoff)

                        kriegen was davon mit, dann greif der von Bluefox eingebaute Timeout und der Client wird geschlossen.

                        Letzter Sicherheitscheck ist dann der PingResponse, der nur dann bei einem PingRequest gesendet wird,

                        wenn der Timestamp des Clients, für den der Ping ist, mit dem gespeicherten Client-Timestamp übereinstimmt.

                        Ich habe dafür nun einen PullRequest beim ioBroker.sonoff auf GitHub erstellt.

                        Wäre schön wenn Bluefox nochmal drüber schaut und den commiten würde;

                        in der Hoffnung, daß ich mal richtiges Javascript geschrieben habe ... :-)

                        Lösung wäre auch für den mqtt-Adapter evtl. interessant, da dort ähnliche Probleme auftauchen.

                        MfG Markus

                        1 Antwort Letzte Antwort
                        0
                        • modmaxM Offline
                          modmaxM Offline
                          modmax
                          schrieb am zuletzt editiert von
                          #440

                          Danke @ Bluefox für den Merge ins iobroker.sonoff-GitHub.

                          Zu installieren ist das Ganze folgendermaßen:

                          1.) Über Github den sonoff-Adapter aktualisieren

                          2.) Upload über erweiterte Einstellungen triggern (betrifft nur Admin-Seiten)

                          3.) Sonoff-Adapter neu starten.

                          Getestet habe ich das Ganze unter Tasmota-Firmware 5.12.0d.

                          Es können hier und da noch ein paar "reconnected" auftreten, wenn der Sonoff entweder

                          neu startet oder selbst festgestellt hat, daß eine Verbindung nicht gut ist, oder sich neu

                          mit WiFi verbunden hat.

                          Als Ergänzung:

                          Hab testweise auch mal die Tasmota-Firmware 5.12.0g aufgespielt und da verbindet

                          sich jeder Sonoff alle 5 Minuten wieder mit dem iobroker. Zudem finden mit der 5.12.0g

                          häufigere Wifi-Reconnects statt, also mit der D-Version.

                          Hier hat der Tasmota-Autor mit der Tasmota 5.12.0e-Version das Wifi-Handling etwas verändert

                          oder sensitiver gestaltet, so daß mehr WiFi-Neuverbindungen stattfinden.

                          Zudem ist das MQTT-Handling in Tasmota geändert worden; so daß es nun mehr reconnects gibt.

                          Zudem kann man in der 5.12.0g nun auch beim Flashen definieren, welche mqtt-Library man nutzen will.

                          Man sollte dann bei der PubSubClient-Bibliothek bleiben. Die Tasmota-eigene MQTT-Library (aktuell 1.1.1)

                          führt nämlich nach einem Wifi-Reconnect kein MQTT-Reconnect mehr aus; obwohl dann immer der Stream weg ist.

                          Hier ist also noch ein Bug drin ..

                          Also würde ich raten aktuell nicht höher als 5.12.0d zu gehen. Zu ESP-Easy kann ich dagegen nix sagen,

                          da ich das nicht im Einsatz habe.

                          1 Antwort Letzte Antwort
                          0
                          • A Offline
                            A Offline
                            Arnulf
                            schrieb am zuletzt editiert von
                            #441

                            wie komme ich denn an die 5.12d?

                            Ich sehe in github immer nur die 5.12.0

                            1 Antwort Letzte Antwort
                            0
                            • G Offline
                              G Offline
                              gemu
                              schrieb am zuletzt editiert von
                              #442

                              @Arnulf:

                              wie komme ich denn an die 5.12d?

                              Ich sehe in github immer nur die 5.12.0 `

                              wenn du mit Atom arbeitest gibt es rechts unten den Button mit dem branch, den must du auf development stellen.

                              oder halt mit GIT Desktop den branch umstellen.

                              1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                klassisch
                                Most Active
                                schrieb am zuletzt editiert von
                                #443

                                Vielen Dank fürs Weiterentwickeln.

                                Habe jetzt auch aktualisiert und bei mir läuft jetzt auch die 2.0.1

                                Meine Sonoffs haben 5.11.1 oder älter. Ich arbeite mit fertigen bins, die über OTA geflasht werden.

                                1 Antwort Letzte Antwort
                                0
                                • modmaxM Offline
                                  modmaxM Offline
                                  modmax
                                  schrieb am zuletzt editiert von
                                  #444

                                  @Arnulf

                                  Du kannst auch die 5.11.1 nehmen. DIe geht auch.

                                  Mit der 5.12.0 hatten einige User Probleme mit WLAN gemeldet, so daß bei denen nur komplettes serielles Neuflashen geholfen hat,

                                  Die 5.12.0d hatte ich mir aus dem Entwicklungsstrang geholt und an meine Bedürfnisse angepaßt (kein DOMOTIC oder HOMEASSISTENT,

                                  und keine anderen Einstellungen; dazu gleich noch die eigenen WLAN-Einstellungen etc.).

                                  Ist dadurch nur 4KB größer als die Minimal-Version .. :-)

                                  Der GitHub-User reloxx13 hat einen eigen Fork von Tasmota gemacht und stellt dort auch Zwischenversionen ein.

                                  Allerdings in modifizierter Version. Die hatte ich aber noch nicht getestet.

                                  https://github.com/reloxx13/Sonoff-Tasmota-Modified

                                  1 Antwort Letzte Antwort
                                  0
                                  • T Offline
                                    T Offline
                                    TimmBo
                                    schrieb am zuletzt editiert von
                                    #445

                                    So

                                    Ich bin jetzt mit dem Aktuellen Adapter und 5.12.0e (ist jetzt eben drauf) unterwegs. Bis jetzt läuft alles gut.

                                    Wenn nicht werde ich Die Sonoff downgraden.

                                    Vielen Dank an alle die sich bis jetzt hier mit eingebracht haben.

                                    Leider bin ich als Kfz Meister da nicht so der checker.

                                    Wenn jemand ein Problem mit seinem Auto hat helfe ich aber gern weiter :lol:

                                    Wenn jetzt alles laufen sollte werde ich noch weitere sonoff beim Ali bestellen und meine Frau würde sich über Funktionierende Lichtschalter freuen.

                                    Mfg Timm

                                    1 Antwort Letzte Antwort
                                    0
                                    • BluefoxB Offline
                                      BluefoxB Offline
                                      Bluefox
                                      schrieb am zuletzt editiert von
                                      #446

                                      Jetzt sollte man alle die Änderungen dann ins mqtt adapter übernehmen.

                                      1 Antwort Letzte Antwort
                                      0
                                      • modmaxM Offline
                                        modmaxM Offline
                                        modmax
                                        schrieb am zuletzt editiert von
                                        #447

                                        @Bluefox

                                        hab noch eine Änderung am sonoff-Adapter gemacht, so daß

                                        nun auch das "alive"-Flag immer korrekt gesetzt wird.

                                        Bisher war dies nicht möglich, weil der Timeout fehlt, wenn z.B. ein

                                        Sonoff-Gerät vom Strom getrennt wurde, oder aufgrund eines Fehgler geschlossen wurde.

                                        Die Änderungen habe ich auch den iobroker.mqtt-Adapter eingebaut.

                                        Der MQTT-Server ist jedoch etwas komplexer und ich hoffe, ich habe die callbacks

                                        beim Schließen eines Clients korrekt eingebaut.

                                        MfG Markus

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Offline
                                          B Offline
                                          broker100
                                          schrieb am zuletzt editiert von
                                          #448

                                          @modmax:

                                          @Bluefox

                                          hab noch eine Änderung am sonoff-Adapter gemacht, so daß

                                          nun auch das "alive"-Flag immer korrekt gesetzt wird.

                                          Bisher war dies nicht möglich, weil der Timeout fehlt, wenn z.B. ein

                                          Sonoff-Gerät vom Strom getrennt wurde, oder aufgrund eines Fehgler geschlossen wurde.

                                          Die Änderungen habe ich auch den iobroker.mqtt-Adapter eingebaut.

                                          Der MQTT-Server ist jedoch etwas komplexer und ich hoffe, ich habe die callbacks

                                          beim Schließen eines Clients korrekt eingebaut.

                                          MfG Markus `

                                          Habe das bei mir probiert, geht aber leider noch nicht mit dem alive.

                                          Verwende Tamota 5.12.0h u. sonoff Adapter 2.0.2

                                          Was wir moch aufgefallen ist, in dem Adpater wird die Firmware 4.1.1 angezeigt, obwohl der Adapter eindeutig 5.12.0h hat.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          217

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe