Tasmota ESP anfällig für "einfrieren" - was kann man proaktiv und danach machen? Tipps?

  • Mit einem Tasmota-ESP32 steuere ich eine OpenDTU (auch ESP32, der eine Solaranlage steuert). Die DTU ist m.E. sehr instabil, was wiederum dazu führt, dass der Tasmota-ESP sich auch mal aufhängt, sprich nicht mehr erreichbar ist.

    Ich habe festgestellt, dass Tasmota es nicht bensonders mag, wenn man von anderen Geräten Werte holt, diese Zieladressen aber temporär nicht erreichbar sind. Dann ist alles extrem langsam in Tasmota (auch andere Menüpunkte).

    Wie dem auch sei, hängt sich der Tasmota ESP mal voll auf. Das ist bei einer PV Steuerung absolut nicht gut.

    - Was kann man machen, dass er stabiler läuft?

    - Wie kann man nachts einen Reset machen? Dieser muss ja mit strom wegnehmen passen, wenn der esp selber nicht mehr reagiert - nur dann startet er ja ohne aktivierten Script.

    Welche Ideen habt Ihr? Danke!

  • das Skript hier zu posten wäre m.E. nicht zielführend da zu groß und für dritte sicherlich schwierig nachzuvollziehen. Es ist auch wie gesagt von Drittsystemen abhängig.

    Daher wünsche ich mir hier allgemeine Tipps

  • also wenn er Daten z.B. von einem anderen ESP holt, z.B. mit

    rdtu=http(ipdtu "/api/livedata/status")

    lg=st(gwr("v" 81,) : 2)

    und da aber nix bekommt, dann "einfach weitermachen" - zB. mit 0 werten und hinweis, dass nicht erreichbar gewesen.

    ich bin kein echter programmierer, so in der art. Sorry wenn ich mich unglücklich ausdrücke.

    hab auch schonmal mit ping vorab extra probiert..... nur der ping dauert dann auch gefühlt ewig.
    (sofern ich es richtig gemacht habe)

  • danke für den Tipp, ich muss mich dann mal mit MQTT auseinander setzten. Bisher mache ich alles mit REST-APIs - gerade weil ich die Belastung gering halten will und je nach Bedarf nur abfragen. Mag ich eigentlich grundsätzlich deutlich lieber.

    Aber wenn MQTT diese Vorteile bietet, muss ich mich damit beschäftigen. (hier wird mqtt wohl gar nicht gehen von der Aufgabenstellung)

    Aber vielleicht gibt es ja noch andere Tipps.

  • eine OpenDTU (auch ESP32, der eine Solaranlage steuert). Die DTU ist m.E. sehr instabil,

    Das spricht dafür, dass du ein anderes, grundlegenderes Problem hast. Evtl mit der Spannungsversorgung.

    Opendtu läuft bei mir super stabil und monatelang ohne Reboot oder Störung.

  • Bei mir hat es nichts mit der Stromversorgung zu tun.

    Ich nutze Tamota nicht wie 99% der anderen zur reinen Erfassung und Weitergabe (an z.B. HomeAssistent).

    Ich hole mir auch Daten außerhalb des Tasmota (z.B. von der OpenDTU) und anderen Fremdzugriffen.

    Darüber hinaus habe ich auch mit dem Tasmota die Visulaisierung der Daten.

    Grundsätzlich, wenn man auf die Sekundenausführung achtet, läuft er stabil.

    Aber wehe, eine die er anfragt bestehender Response dauert. Das mag der Tasmota nicht.
    Und die DTU ist nunmal instabil, gerade wenn man 2 Wechselrichter dran hat und Nulleinspeisung macht. Daher haben die Macher von Opendtu nun ja auch die API massiv gekürzt-leider zu kurz. Aber das ist ein anderes Thema.

  • Bei mir hat es nichts mit der Stromversorgung zu tun.

    Da wäre ich mir nicht so sicher! Ich baue jede Woche ein paar so Kästchen für Freunde und Bekannte.

    Werden verwendet um BLE Signale einzulesen, anzuzeigen und TRVs (eq3) zu steueren.

    Und jetzt kommts: Hat immer problemlos funktioniert. ABER jetzt hab ich eine Lieferung von ESP32 (aus China) bekommen, die einen extrem schlechte WLAN und Bluetooths Empfang haben. Auch die WLED flackert und der Buzzer mach seltsame Geräusche.

    Nach tagelanger Fehlersuche, hab ich endlich erkannt dass 5,1V Versorgungsspannung einfach zuwenig waren.

    Mit 5,25V funktioniert alles wieder wie vorher ..

    Also Vorsicht bei der Versorgung


    Edit: Meine Erfahrung

    ESP32-D0WD v1.0 --> Versorgungsspannung kein Problem

    ESP32-D0WD-V3 v3.1 --> ordentlich hohe Spannung notwendig

  • d.h. der Spannungsumsetzer auf 3,3 V für die CPU war ein dynamischer und falsch eingestellt oder fehlerhaft in der Festspannungsableitung ?

    Es kann auch sein das die verbauten Stützkondensatoren zu klein sind für das Tasmota-Betriebssystem - das ist bei mir auf allen CAM32 Systemen, aber 1000 μF behebt das Problem.

    Wie ist die Spannung an der CPU 3,3 V (per Oszi Nachweis) ? - da sind die Strombedarfsschwankungen enorm, so das Spannungsabfall schnell entsteht.

    Oder auf welches Problem müssen wir uns bei China-Lieferungen einstellen ?

    Einmal editiert, zuletzt von karoCB (24. Februar 2024 um 19:34)

  • ok, da bin ich fachlich leider zu weit raus. Ich habe verschiedene ESP32 im Einsatz.
    Schwenke aber auf die S3:

    WROOM-1-N16R8 ESP32-S3-DevKitC-1

    Da die PSRAM haben und ich damit satt Zeichen für Script habe.

  • Über welches Protokoll läuft die Anbindung?

    Die Anbindung an was? Der Hoymiles hat nur ein Protokoll. Und er schrieb ja, dass das Opendtu bei ihm schon nicht stabil läuft.

    Eine Übertragung der Daten wird hier ja noch garnicht angedacht. Als allererstes muss ich ja mal die Datenquelle stabil haben.

    Bei mir hat es nichts mit der Stromversorgung zu tun.

    Eine sehr mutige Behauptung, die dich am Finden vieler vermeintlicher Fehler hindern könnte.

    "Ich hab alles richtig gemacht, es geht aber nicht, also ist das System Kacke". Wie kommt es aber, dass exakt das bei hunderten anderer korrekt läuft?

    Und die DTU ist nunmal instabil, gerade wenn man 2 Wechselrichter dran hat

    Diese Behauptung ist definitv falsch.

    An meiner DTU hängen 4 Wechselrichter völlig problemlos und ohne jeden Ausfall.

    Stabil über Monate.

  • Hallo Jay,

    das stimmt so nicht und war auch nicht meine Aussage:
    "Ich hab alles richtig gemacht, es geht aber nicht, also ist das System Kacke""

    Ich bin Anfänger und sicherlich liegen Probleme bei mir. U.a. dass ich keine Kenntnisse habe, wie weit ich das System belasten kann, wie ich die Performance analysieren ("Fehleranalyse") und opitimieren kann.
    Daher frage ich hier und bin um jede Hilfe oder Anregung dankbar.

    Folgende Aussagen:
    - Die OpenDTU habe ich Netzteile gewechselt. Fakt ist m.E., dass die OpenDTU allgemein nicht stabil ist. Das haben auch die Entwickler erkannt und MASSIV in der neusten Version die API gekürzt bzw anders aufgeteilt. Sogar so weit, dass nun wesentliche Informationen fehlen (wenn man mehrere WR an einer OpenDTU betreibt. Ich bin wieder auf die alte Version daher zurückgegangen.
    Ich habe sehr viel Zeit in OpenDTU Analysen gesteckt und auch mit Tasmota die Opendtu überwacht (u.a. auch das "Sekundenhochlaufen" der WR). So verhindert Tasmota u.a. dass die DTU sich einfriert (wenn Limit falsch und hart auf 0 mal geht, hilft nur 100% und Ruhe von allen Seiten - das macht mein Tasmota dann, erkennt es, sendet 100 und fragt für 30 Sekunden nicht mehr).
    Habe ich eine kommerzielle Steuerung dran, geht die Opendtu in die Knie.

    - Meine ESP32 laufen, wenn ich sie auf alle 3 Sekunden unter S stelle, stabil.
    Es sei denn (!) wie beschrieben, ein anderes Gerät, was ich mit dem Tasmota abrufe, hat Probleme. Das mag mein Tasmota nicht und friert dann mal ein.

    - Ich stelle das mittlerweile mit x unterschiedlichen ESP32s nach und probiere extrem viel aus.

    - Viele sagten, was ich vorhabe, klappt nicht (du brauchst Raspi). Bisher habe ich alles hinbekommen-selbst als Anfänger (nur durch die Hilfe DIESES FORUMS (an der Spitze natürlich Gemu).

    Ich will gerne "messen", auswerten usw. die Stromversorgung. Und auch andere Dinge.
    Nur hier bin ich nicht bewandert - wer kann mir hier weitere Anleitungen geben?

    Wenn mal ein Absturz vorliegen, wird irgendwie irgendwo geloggt was ihn gestört hat?


    Hier z.B. Gaszählerauswertung - läuft 100% Stabil - allerdings auch keine Fremdabrufe

    Einmal editiert, zuletzt von 2000ede (25. Februar 2024 um 10:43)

  • Kompilierst du deine Tasmota Binarys selber? Dann könntest du mal in der "platformio_override.ini" die CPU Frequenz erhöhen.

    Code
    ;board                   = esp32
    board_build.f_cpu       = 240000000L
    board_build.f_flash     = 80000000L
    ;board_build.flash_mode  = qio

    Mit 240MHz laufen die ESP32 schon um einiges flotter. Da ich das Webinterface von Tasmota nicht nutze, und die Dinger nur alles über MQTT an eine übergeordnete Steuerung schicken oder auf Befehle von dort warten, nutze ich meine mit 80 oder 160 MHz (obwohl es mit 240 keinen großen Unterschied bei Erwärmung/Stromverbrauch gibt).

    Vielleicht hilft bei deinem Setting, ein wenig mehr CPU-Power ....