ioBroker / ioBroker.sonoff

Control Sonoff-Tasmota devices via ioBroker
MIT License
37 stars 30 forks source link

Adapter aktualisiert gelegentlich die States nicht richtig. #126

Closed Cosmicbase closed 2 years ago

Cosmicbase commented 4 years ago

Der Sonoff Adapter aktualisiert gelegtlich die Werte nicht richtig. Wenn ich den einen oder anderen Tasmota Device über die Node aktiviere schaltet sich das Gerät ohne Probleme Ein/Aus. Aber auch der Powerstate wird nicht richtig abgefragt. Er steht auf false , obwohl das Gerät an ist. Und auch umgekehrt. Ich schalte ein Gerät aus und der Powerstate im Sonoff Adapter bleibt auf true. Erst wenn ich den Adapter neu starte stimmt der Status. Das Ein/Ausschalten funktioniert ja ohne Probleme, nur der State stimmt gelegentlich nicht, was sehr irritierend ist, wenn ma auch das Energy Monitoring in die Node einbindet. So zeigt meine Pumpe in dem Fall 350 Watt an obwohl die Pumpe aus ist.

Es muss am Adapter liegen, weil die Tasmotas lassen sich ohne Probleme per IP Adresse bzw. Node schalten. Alle Tasmota`s haben v8.3.1.

Apollon77 commented 4 years ago

Kannst DU mal ein Debug log versuchen zu erstellen und dann den Auszug posten "wo es aufhört zu tun"?

Cosmicbase commented 4 years ago

OK danke debug ist an und ich melde mich mit dem Log wenn es soweit ist.

Cosmicbase commented 4 years ago

ich habe ebenfalls bemerkt das wenn ich Tasmota Devices ausschalte, der Energieverbrauch beim Energie Monitoring im Adapter an bleibt. Normal müsste der Vebrauch auf 0 fallen. Ich habe die Aktualisierungen im Adapter beobachtet und wie gesagt festgestellt,das obwohl der Verbraucher AUS ist trotzdem ein Stromverbrauch im Adapter angezeigt wird, und zwar der volle als wie wenn der Verbraucher eingeschaltet wäre.

Ich finde den Adapter sehr gut und sehr nützlich, aber wenn ein Verbraucher (Tasmota Steckdose) im Adapter auf an bleibt obwohl er aus ist, naja...

Hoffe auf positive Rückmeldung.

Cosmicbase commented 4 years ago

log1.txt log2.txt log3.txt log4.txt log5.txt log6.txt log7.txt log8.txt

Ich hoffe es ist was dabei wo weiter hilft. Wenn nicht kannst du mir ja sagen wo ich weiter suchen soll.

Cosmicbase commented 4 years ago

@Apollon77 Hast du schon was aus den Logs entnehmen können?

Apollon77 commented 4 years ago

Nein, aber wenn Du es so beschreibst wie oben -... kann es sein das der Adapter nach dem Ausschalten einfach keine neuen Daten bekommt? Damit bleiben die alten Daten einfach da ...

Cosmicbase commented 4 years ago

Hmm, grundsätzlich werden ja die states vom Adapter richtig dargestellt, aber leider zu lange auf dem falschen Status. Angenommen ich schalte ein Device aus, dann wird es nicht in Echtzeit synchronisiert sondern eben manchmal sehr lange verzögert. Das kann mal Minuten dauern. Wenn ich den Adapter neu starte wird wieder in Echtzeit synchronisiert. Bei deinem Tuya Adapter kann man die Synchronisation einstellen. So das der Adapter immer nach xxx Sekunden den Status der eingebunden Geräte abfragt. Das wäre echt super wenn sowas ginge.

Apollon77 commented 4 years ago

Kannst du mir ansonsten noch sagen was genau ich in den logs zu welchen Zeitunkten sehe? Sonst ist es stochern im Heuhaufen. Am besten so einen case nachstellen ... vorher, dann gerät aus ... und so weiter. Und neben dem Log auch sagen wann zeitlich was passiert ist das man es zuordnen kann

Cosmicbase commented 4 years ago

Wie gesagt ich kenne mich mit Logs nicht sonderlich aus. Ich kann nur versuchen das Problem zu schildern. Wenn ich ein Tasmota Device direkt über den WebGui einschalte (Toogle Power Ein) dann sollte im Adapter Power von false auf true umspringen. Genauso die Verbrauchswerte sollten sich ändern wie Watt, Ampere etc. Der Adapter refresht zwar, denn man sieht das weil die Werte immer wieder grün geladen werden. Aber die Daten sind falsch. Umgekehrt ist es ebenfalls. Ich schalte ein Device aus und die Energiewerte müssten auf 0 sinken. Aber im Adapter ist der Powerstatus auf true und die Energiewerte sind immer noch auf Verbrauch. Es betrifft bei mir alle Tasmota Geräte. Sie sind alle im Sonoff Adapter sauber gelistet und funktionieren einwandfrei. Aber wie gesagt die Werte werden nicht im Adapter aktualisiert bzw. einfach zu spät. Muss ich im Router etwas forwarden? (Fritzbox Port freigegeben, für Mqtt) Oder irgendwelche andern Einstellungen. Der Adapter ist auf 1883 eingestellt, sowie auch die Tasmotas.

Cosmicbase commented 4 years ago

Hi Ingo, habe ein wenig geforscht und zu dem Ergebnis gekommen das #124 exakt auf meinen Fehler zutrifft. Wenn ich in meiner Vis den Schalter (Node Red) eines Tasmota von Off auf On schalte kann man wirklich mitverfolgen das das Gerät wirklich Ein ist. Egal wie man dazu sagt States, Datenpunkte etc. werden die eben statt auf true in false im Adapter angezeigt. Wenn ich jetzt aber nötigerweise mehrmals den Schalter und Vis kurz hintereinander betätige besteht die Gefahr alles zu überlasten.

Update: Ich will kurz vorsichtig eine Erkenntnis feststellen. Wenn ich so wie Screenshot zu sehen die "Automatische Erstellung von Zuständen" deaktiviere funktioniert die Abfrage bzw. Übermittlung perfekt. Werde es weiter verfolgen. Screenshot_20200708_072521_com android chrome

XxJooO commented 4 years ago

Das ist ein interessanter Hinweis! Ich habe das issue #124 erstellt und bislang auch noch keinen weiteren Hinweis dazu bekommen. Leider beobachte ich immer wieder, dass auch das Hochsetzen der teleperiod bei meinem Problem keine gute Lösung ist. Immer wieder gibt es einen der Sonoff-T2, dessen Power plötzlich auf false gesetzt wird, wenn die teleperiod abgelaufen ist, während der Rolladen eigentlich laufen soll. Ein Abschalten der teleperiod habe ich bislang nicht versucht, hatte crunchip aus dem Forum als workaround vorgeschlagen. Das von Cosmicbase vorgeschlagene werde ich mal versuchen und dann berichten.

XxJooO commented 4 years ago

Update: Ich will kurz vorsichtig eine Erkenntnis feststellen. Wenn ich so wie Screenshot zu sehen die "Automatische Erstellung von Zuständen" deaktiviere funktioniert die Abfrage bzw. Übermittlung perfekt.

Hallo, auch ein Update von mir: Der Vorschlag, "Automatische Erstellung von Zuständen" abzuschalten führt auch bei mir dazu, dass die Zustände der Datenpunkte in den Objekten und das Verhalten der Sonoffs korrekt funktioniert, auch wenn ich teleperiod wieder auf 10 sec. stelle. Ohne das Abstellen bleibt das fehlerhafte Verhalten bestehen. Im Log gibt es keine Besonderheiten. Es wird angezeigt, dass Power1 auf ON geht und nach Ende der teleperiod von 10 sec. Power1 OFF.

Vielleicht hilft das dem Fehler auf die Spur zu kommen...

guergen1 commented 4 years ago

Ich habe das selbe Problem und nach einem Downgrade auf 2.1.1 hat es sich scheinbar erledigt. Bitte mal nachsehen, was ab 2.1.1 geändert wurde! Danke!°

Apollon77 commented 4 years ago

Ok, heisst das ab 2.1.2 tut es nicht mehr oder ab welcher Version genau?

guergen1 commented 4 years ago

Genau, ab 2.1.2 geht es nicht mehr. bei 2.1.1 geht es!

skvarel commented 4 years ago

Ähnlichen Problem bei mir:

Der Tipp von @Cosmicbase hat (mir) geholfen.

So läuft es stabil. grafik

guergen1 commented 4 years ago

Jetzt bekomme ich allerdings folgende Meldung:

sonoff.0 2020-10-05 17:29:24.892 info (11370) Client [Gefrierschrank] connection closed: Error: Cannot parse topic sonoff.0 2020-10-05 17:29:24.891 warn (11370) Client [Gefrierschrank] Received pubcomp for unknown message ID: 21364
sonoff.0 2020-10-05 17:29:24.889 warn (11370) Empty packet received: undefined
sonoff.0 2020-10-05 17:29:24.889 warn (11370) Client [Gefrierschrank] Received pubcomp for unknown message ID: 29266
sonoff.0 2020-10-05 17:29:24.887 warn (11370) Client [Gefrierschrank] Received puback for unknown message ID: 29812
homecineplexx commented 3 years ago

Also bei mir geht das mit dem Ausschalten der Erstellung für Sensor State und Result nicht. Ich hab das immer alles auf Off Adapter 2.3.3

anwa commented 3 years ago

Grundsätzlich werden alle Daten von Tasmota mit teleperiod versendet. Also default alle 300 Sekunden glaube ich. Für Taster/Button gilt das leider auch. Aber mit: SetOption59 1 Send tele/%topic%/STATE in addition to stat/%topic%/RESULT for commands: State, Power and any command causing a light to be turned on. 0 = disable (default) 1 = enable Kann man das ändern.

Wenn also teleperiod 300 eingestellt ist und du schaltest aus, kann bis zu 300sek. weiterhin falsche Werte drin stehen. Bei mir (Linux/Firefox) hab ich auch öfter das Problem, das ein Objektbaum update nicht hilft, ich muss die Seite neu Laden, damit ich z.B. neue Objekte im Baum sehe... Komisches verhalten, liegt aber an ioBroker (oder Firefox) und nicht am Adapter.

anwa commented 3 years ago

@homecineplexx Das abschalten der SENSOR/STATE/RESULT bewirkt, das unbekannte Datenpunkte nicht angelegt werden. Alle in https://github.com/ioBroker/ioBroker.sonoff/blob/master/lib/datapoints.js allerdings schon. @guergen1 die warnung kommt genau davon, unbekannter Datenpunkt bekommt ein QoS und kann es nicht zuorden.

anwa commented 3 years ago

Wichtig ist was an MQT in der Konsole von Tasmota steht. Das sollte der Adapter auch umsetzten! Bitte hier zuerst kontrollieren wann welche Telegramme raus gehen. Die entsprechenden Datenpunkte auch mitloggen (Influx/History) da wie gesagt auch die Weboberfläche manchmal nicht korrekt updatet, die History aber schon...

homecineplexx commented 3 years ago

Wichtig ist was an MQT in der Konsole von Tasmota steht. Das sollte der Adapter auch umsetzten! Bitte hier zuerst kontrollieren wann welche Telegramme raus gehen. Die entsprechenden Datenpunkte auch mitloggen (Influx/History) da wie gesagt auch die Weboberfläche manchmal nicht korrekt updatet, die History aber schon...

ja, ist zwar schön und gut, tut aber nicht. Ich hab jetzt erst wieder die neue Version 2.4.0 ausprobiert. und nach einer x beliebigen Zeit funktioniret der Sonoff Adapter nicht mehr. Der zeigt wirre Sachen an. Ich lass mir einen Telegram Output machen, wenn sich etwas ändert. Und ja das hüpft zb dauernd hin und her (Power Switch eines Sonoff_POW), aber es passiert am Plug selbst nichts. Die Devices werden auch als alive=true angezeigt, aber du kannst nichts mehr ändern. Erst ein Neustart des Adapters hilft wieder, aber man weiß nie für wie lange

Ich frag mich nur, wie können wir euch helfen, damit man das Problem in den Griff bekommt?

anwa commented 3 years ago

@homecineplexx hast du die Möglichkeit ein ioBroker Testsystem aufzusetzen? Eine VM oder einen alter Raspi... Alles auf den letzten Stand und nur den Sonoff Adapter und ein Device das Probleme macht dran hängen. Wie schonmal gesagt, läuft der Adapter bei vielen völlig Problemlos, so das der Fehler am ehesten an eurem Setup liegt... (Betriebsysten Version, Java, Node usw.)

homecineplexx commented 3 years ago

@anwa hallo ja ich könnte mal eines aufsetzen. die Frage ist nur auf welchem system? mein ioBroker läuft ja in Proxmox. aber es muß doch möglich sein diesen Unterschied zu finden

anwa commented 3 years ago

Wenn du so ein minmal System hast, ist loggen einfacher, da weniger Daten kommen. Ausserdem könntest du einen Syslog Server aufsetzen, und den Tasmota auf diesen im debug loggen lassen. Dann kann man die gut vergleichen...

homecineplexx commented 3 years ago

ja aber du würdest es dann wahrscheinlich (nachdem das eigentliche System im Proxmox läuft) auch dort aufsetzen oder?

anwa commented 3 years ago

Ja schon, ist erstmal das schnellste. Falls da die selben Probleme auftauchen kann man weiter sehen. Aber so hat man erstmal eine gute Umgebung zum Testen ohne der Gefahr sein Produktiv-System zu schrotten/Stören

homecineplexx commented 3 years ago

wird eine Wochenendarbeit werden, aber ich möchte endlich wissen was da das Problem ist

anwa commented 3 years ago

Ja ich auch :)

@Apollon77 Hast du schon herausgefunden was bei v2.1.2 dieses Problem verursachen könnte?

duczz commented 3 years ago

@anwa Zu mir meinte Apollo mal er kenne sich mit dem Adapter nicht aus, ich geh mal davon aus das hier nix mehr passieren wird

anwa commented 3 years ago

Ich wollte eigentlich nur ein paar Probleme beheben die ich zuhause mit dem Adapter hatte. Kann Javascript nur ein bischen durch ioBroker und mit Adapter-Entwicklung hab ich gar keine Erfahrung. Es hat mir aber Spass gemacht, und ich wollte mich auch weiter einarbeiten in das Thema. Leider scheint die Doku/Templates auch nicht auf den neuesten Stand zu sein... z.B. js-controller 3.3 oder Admin 5 mit react. Nun das ganze Java/WEB Zeugs ist nicht so meine Heimat, komme beruflich aus dem HVDC C&P Bereich, also SIMATIC S5 und später TDC. Jetzt Matlab/Simulink. Ich saniere gerade ein altes Haus und will alles mit ioBroker steuern. Daher interessiere ich mich natürlich sehr für das Thema. Habe aber aktuell zu sporadisch Zeit um mich hier im Augenblick weiter einzuarbeiten. Ich bin letztens auf js-controller 3.3 umgestiegen. Hatte danach viele Warnings im LOG und habe einige der Adapter (die ich nutze) gefixed. Leider hat dieser Adapter ein größeres Problem mit js-controller 3.3, so dass ich noch keine befriedigende Lösung gefunden habe.

Zu deinem Kommentar @duczz , die Änderungen von v2.1.2 hat Apollon gemacht. Ich habe gehofft, das er sich das nochmal ansieht, ob darin die Ursache liegt.

Leider haben viele Adapter nur sporadische Updates, und es scheint überwiegend von ioBroker Entwicklern selbst zu kommen. Die sind dadurch wahrscheinlich selbst überlastet.

Es tut mir wirklich leid, das ich dir nicht weiterhelfen kann.

Apollon77 commented 3 years ago

Wir supporten gern jeden der Unterstützen will. Gibt Developer Gruppen im Discord und telegram und Forum. Und ja wir versuchen alles um jedem Adapter Zeit zu widmen ...

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions. Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn nicht innerhalb der nächsten 7 Tage weitere Aktivitäten stattfinden. Bitte überprüft, ob das Problem auch in der aktuellsten Version des Adapters noch relevant ist, und teilt uns dies mit. Überprüft auch, ob alle relevanten Details, Logs und Reproduktionsschritte enthalten sind bzw. aktualisiert diese. Vielen Dank für Eure Unterstützung.

stale[bot] commented 2 years ago

This issue has been automatically closed because of inactivity. Please open a new issue if still relevant and make sure to include all relevant details, logs and reproduction steps. Thank you for your contributions. Dieses Problem wurde aufgrund von Inaktivität automatisch geschlossen. Bitte öffnet ein neues Issue, falls dies noch relevant ist und stellt sicher das alle relevanten Details, Logs und Reproduktionsschritte enthalten sind. Vielen Dank für Eure Unterstützung.