NEWS
Tasmota UDP hängt manchmal
-
Hallo, ich hab ja ein LED Display was über Tasmota angesteuert wird.
https://forum.iobroker.net/topic/68764/tasmota-steckdose-esp-matrix-display/153Das Ding funktioniert super, aber eine Sache wurmt mich irgendwie.
Zu 99,9% läuft das Ding wie gesagt perfekt.
Aber 4x am Tag hängt das Ding für 5-10 Minuten.
Merkt man, wenn sich die Zahl im Display nicht ändert.Es hängt definitiv, da ich es dann immer direkt über den Zähler Sensor kontrolliert habe.
Der zeigt dann z.B. 100 Watt an, und im Display steht seit 5 Minuten 20 Watt.
Wenn ich den Wemos neustarte, dann stimmen die Werte sofort wieder.
Warte ich 10 min dann irgendwann beendet er seine Pause und macht weiter.Um ein UDP Problem auszuschließen, hab ich einfach einen 2. Wemos + Display aufgebaut.
Und jetzt wird er kurios. Das Problem besteht auch am 2. Wemos aber komischerweise nicht gleichzeig. Bedeutet wenn Display 1 pausiert, dann läuft Display 2 problemlos weiter. Irgendwann hängt dann Display 2 und 1 läuft weiter.Außerdem hab ich geprüft ob ich per "Displaytext" eine Nachricht ans Display senden kann, während es hängt. Auch das ging problemlos.
Demzufolge liegt es nicht am Sender dem Zähler Sensor.
Am UDP kann es auch nicht liegen.
Meiner Schlussfolgerung hängt sich UDP Empfänger nach keine Ahnung 1000 empfangenen Nachrichten kurz irgendwie auf. Kann das sein ?Ich hab dazu mal etwas gegoogelt, und gesehen das woanders auch Leute das selbe Problem haben, aber eine Lösung gab es dort nie. Das einzige was ich gefunden habe war eine Info von gemu2015
Bei ESP32 Geräten (nicht bei ESP8266) gibt es wegen multitasking gelegentlich Probleme mit globalen Variablen. (UDP stürzt ab)
Komischerweise ist es bei mit ein ESP8266
-
@berndsolar13 sagte in Tasmota UDP hängt manchmal:
globalen Variablen
damit wird ja ein hoher Traffic alle x ms erzeugt.
Ganz zu schweigen davon das der Esp nur am rödeln ist.
Halt der Nachteil Globaler Vars.
Deshalb hatte ich damals die Daten per => websend abgeholt.
Ganz gemütlich alle 5 sec.
Läuft ohne Aussetzer. -
@ralla66 sagte in Tasmota UDP hängt manchmal:
damit wird ja ein hoher Traffic alle x ms erzeugt.
ja ich glaube der Sensor "pusht" die Daten 1x pro Sekunde, obwohl mir 1x alle 10 Sekunden reichen würde
Per Websend ?
Der Wemos wo das Display hängt, fragt alle 5 Sekunden den Sensor wie ist der Wert ?Hättest du mal den Code dafür ?
-
meine das war dieses von 20.00 Uhr
-
danke, das gibst du in der Script Konsole des Displays ein richtig ?
Und dann muss ich das versenden des Zählerwertes in Scripting des Zählersensors noch deaktivieren ?Statt 1x pro Sekunde zu pushen, holt sich das Display nun den Wert selbst, richtig ?
Ok anderer Ansatz, werde es mal probierenDu meinst sicher
für Abholer 4 X 8x8 Matrix :
-
für Abholer
websend holt Daten von einem Tasmota Gerät deiner Wahl ab.
Das Webquery filtert die Daten aus dem JSON, also aus dem Pfad StatusSNS, Energy, ............dein Wert -
es geht "teilweise"
In der Tasmota Weboberfläche erscheint dein TextBezug Zähler Watt 97 W
Nur zeigt das Display nix an ?
Seit 3 Minuten 0 Wedit, jetzt 133 W, aber dann passiert wieder nix.
Die Oberfläche zeigt den Wert aber permanent richtig an, aber es sendet irgendwie nicht ständig zum Display ? -
der wechselt den Wert vom Display anhand des Timers, steht deiner auf 10 ?
Dann alle 10 sec.if Timer>10
-
so wie ich das Script verstehe, fragt er alle 10 Sekunden beim Sensor (Zähler) ab.
Dann ließt er aus dem String den Wert für den aktuellen Verbrauch aus.
Und dann schickt er es ans Display
Das Display ist aber doch nicht teil der 10 Sekunden oder ?>D Timer=0 Wert=0 >S Timer+=1 if Timer>10 then =>websend [192.168.178.38] /cm?cmnd=status 10 Timer=0 endif >E Wert=WebQuery#StatusSNS#PZ#Power_curr >T ->DisplayText %0Wert% W >W Bezug Zähler Watt{m} %0Wert% W
wie gesagt, die Weboberfläche aktualisiert sich alle 10 Sekunden, das Display "gefühlt" alle 5 min
-
unter >E wenn die Antwort eintrudelt, also direkt nach dem websend
Wert=WebQuery#StatusSNS#PZ#Power_curr
zeigt mal die Teledaten vom anderen Tasmota, fehlt da nicht was hinter StatusSnS ?
Fehler meinerseits
T für Telemetrieperiode, stell die mal auf 10
-
14:34:34.637 MQT: stat/tasmota_B299C1/STATUS10 = {"StatusSNS":{"Time":"2023-11-16T14:34:34","PZ":{"Total_in"xxx1731,"Total_out":xxx.2355,"Power_curr":90}}}
-
-
dumme Frage, wie ?
-
@berndsolar13
Tasmota Einstellungen, meine Logging oder Sonstiges -
-
Top, rennt