Skip to content
This repository has been archived by the owner on Dec 7, 2019. It is now read-only.

Anzeige des Gesamtverbrauches #29

Closed
gentoo79 opened this issue Dec 27, 2017 · 68 comments
Closed

Anzeige des Gesamtverbrauches #29

gentoo79 opened this issue Dec 27, 2017 · 68 comments
Assignees

Comments

@gentoo79
Copy link

Moin,

Ich habe da mal eine Frage und zwar ist es möglich beim POW eine Systemvariable zu erstellen, wo der Gesamtverbrauch angezeigt wird und nicht wie jetzt die aktuelle Leistung ?

Schöner wäre es wenn man es so darstellen könnte wie beim HM-ES-PMSw1-Pl .

LG
Gentoo79

@jp112sdl jp112sdl self-assigned this Dec 27, 2017
@jp112sdl
Copy link
Owner

jp112sdl commented Dec 27, 2017

Hi @gentoo79,

eigentlich ist keine Erweiterung vorgesehen, denn du kannst den Energiezähler theoretisch auch in HomeMatic mit einem Skript ausrechnen.
Die Leistung (W) wird ja in einem konfigurierbaren Intervall an die CCU geschickt.
Nun brauchst du nur die Leistung kumulieren (also immer addieren) und durch die Zeiteinheit dividieren, dann hast du die Wh.

Ich habs jetzt mal im Code hinzugefügt.
Du kannst ja mal schauen, ob die Werte plausibel sind, denn ich hab gerade wenig Zeit zum Testen.

SonoffHMLOX.ino.generic.bin.zip

@gentoo79
Copy link
Author

Moin,
ja ich habe die Firmware mal hochgeladen. Mal schauen ob es soweit passt.
Aber als SV wird dieses jetzt noch nicht angezeigt oder ?.
Also das mit Script schreiben hört sich gut an (wenn man es kann). Ich warte da den mal auf eine Lösung :)

@jp112sdl
Copy link
Owner

Aber als SV wird dieses jetzt noch nicht angezeigt oder ?.

Nein, im Moment nur im Web bzw. wenn du /getPower oder /getPowerJSON aufrufst.

Also das mit Script schreiben hört sich gut an (wenn man es kann). Ich warte da den mal auf eine Lösung :)

An einem HomeMatic Skript werd ich mich aber hier nicht weiter beteiligen. ;)

@jp112sdl
Copy link
Owner

@gentoo79
Moin....
Die Berechnung in der ersten Version ist falsch. Teste bitte diese hier.

Es ist jetzt auch möglich, unter "Konfigurieren" eine SV einzutragen, um den Energiezählerwert an HomeMatic zu übertragen.

SonoffHMLOX.ino.generic.bin.zip

@gentoo79
Copy link
Author

Moin,

Ok danke ich werde die jetzt mal installieren und mal schauen
Danke für deine schnelle Arbeit.

LG
Gentoo79

@gentoo79
Copy link
Author

So einen Fehler habe ich gefunden. Sofer der Zähler bei 265 wh ist schaltet er auf 0 zurück
545fe5ef-eb74-4d63-9fe3-5dda2d07ee07

@jp112sdl
Copy link
Owner

Hi @gentoo79,
sehe ich es richtig, dass nach der 264,51 erstmal eine größere Pause ist?
15:15:32 -> 15:16:46
Da ist ja 1:15min. lang gar keine Übertragung.
Es sieht also eher so aus, als würde der Sonoff abstürzen und neustarten... Ich schau es mir an.

@jp112sdl
Copy link
Owner

@gentoo79
Ich kann den Fehler leider nicht reproduzieren...
Hab bei 337.0 Wh jetzt abgebrochen.

bildschirmfoto 2017-12-29 um 11 15 03

@gentoo79
Copy link
Author

Moin,
Also bei mir kommt es öfters vor. Habe mal mit das Diagramm mit hinzugefügt.

e16c15d7-810e-44bc-b7f1-8a5c96d0ce5b

@jp112sdl
Copy link
Owner

Kann es sein, dass der Sonoff in bestimmten Zeitintervallen - alle 4h - durchbootet?

@jp112sdl
Copy link
Owner

Nicht ganz 4h... auch mal nach 5 oder schon nach 2... Sehr sehr seltsam... Da lässt sich ja keine Regelmäßigkeit ableiten.

Weder nach einer konkreten Zeit noch nach einen konkreten Wert.

@jp112sdl
Copy link
Owner

@gentoo79
Mir fällt jetzt eigentlich nur noch eine Möglichkeit ein: Die WLAN Verbindung bricht ab.
Wenn beim setStateCUxD() die WLAN Verbindung nicht mehr verbunden ist, mache ich einen Neu-Verbindungsversuch. Wenn dieser fehlschlägt, erfolgt ein Reboot des Gerätes.

@jenshavelberg
Copy link
Collaborator

wird der reboot irgendwo geloggt/protokolliert? hätte was, wenn man in der webausgabe sehen würde, wann der letzte, vom system erfolgte, gewünschte reboot war. nur mit datetime hat das ganze system bisher nix zu tun, oder?

@jp112sdl
Copy link
Owner

Nein, wird nix geloggt (außer seriell).
Mit Uhrzeit hat der Sonoff auch nix am Hut.

@jp112sdl
Copy link
Owner

@gentoo79
Logging per UDP an einen Syslog-Server kann ich noch anbieten.
Das hab ich für meine Entwicklungsumgebung hier schon implementiert. Müsstest mir nur die IP deines Syslog-Servers nennen, dann kommt die mit in ne Custom Firmware hier.

@gentoo79
Copy link
Author

meine ip wäre 192.168.178.21 port: 514

@jp112sdl
Copy link
Owner

Ok, dann versuchs mal mit der hier:
SonoffHMLOX.ino.generic.bin.zip

@gentoo79
Copy link
Author

So ich teste mal

@gentoo79
Copy link
Author

Leider kommt es hier wirklich zu einem reboot
test

@jp112sdl
Copy link
Owner

Hmm... Ja, wenn die WLAN Verbindung tatsächlich abbricht, stehts auch nicht im Syslog. Wie sollte auch der Syslog-Server noch erreicht werden. Es spricht also alles dafür.

Ich bin dann auch mit meinem Latein am Ende. Bei mir läuft das Ding durch.

@Gelegenheitsbastler
Copy link

Das ist jetzt hier etwas OT. Aber ich gehe mal davon aus, dass es ein Hardwareproblem ist. Meine These: Wenn der ESP das Wlan einschaltet, kommt es zu Stromspitzen. Wenn diese zu stark für die verbauten C sind, dann bricht die Spannung so weit ein, dass der ESP neu bootet.

Aus der Ferne ist eine Diagnose natürlich schwierig, daher kann ich nur allgemeine Tipps geben. Wenn Du die Möglichkeit hast, dann verbaue möglichst nahe am Vcc Pin des ESP einen 100nF KerKo und einen "fetten" ElKo von z. B. 470µF. Wenn Du nur 100µF da hast, ist das für einen Test auch erst mal okay. Du kannst auch mehrere parallel schalten, wenn es der Platz zulässt. Da am ESP nur 3V3 anliegen, dürfte bezüglich der Spannung nahezu jeder ElKo passen.

@jp112sdl
Copy link
Owner

@Gelegenheitsbastler

Wenn der ESP das Wlan einschaltet, kommt es zu Stromspitzen

WLAN wird ja einmalig beim Starten des Geräts eingeschaltet und bleibt dann dauerhaft an

@Gelegenheitsbastler
Copy link

Ist die Übertragung fortwährend oder erfolgt sie in Intervallen?
Falls es Intervalle sind: Ist es anhand des Logs möglich, zu prüfen, ob der Reset dann erfolgt, wenn gemäß Intervall gesendet werden sollte?

Aber wie auch immer. Einen Versuch wäre es wert, oder nicht?

@gentoo79
Copy link
Author

ich weiss nicht ob das wirklich weiter hilft. Aber das steht an Fehler drinnen. Habe auch nochmal die syslog angehängt.
syslog-Sonoff.log

Search "HTTP Error Code -1" (24 hits in 1 file)
  \\WDMYCLOUD\Public\Homematic\syslog\syslog-Sonoff.log (24 hits)
	Line 940: Dec 30 17:20:59 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 943: Dec 30 17:21:05 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 2542: Dec 30 19:15:32 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 3521: Dec 30 20:25:02 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 5392: Dec 30 22:40:32 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 6583: Dec 31 00:06:53 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 6586: Dec 31 00:06:59 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 9605: Dec 31 03:44:23 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 10123: Dec 31 04:21:24 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 10126: Dec 31 04:21:30 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 10693: Dec 31 05:02:24 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 10696: Dec 31 05:02:30 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 10847: Dec 31 05:13:24 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 10850: Dec 31 05:13:30 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 11141: Dec 31 05:34:24 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 11144: Dec 31 05:34:30 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 11148: Dec 31 05:34:54 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 11151: Dec 31 05:35:00 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 11372: Dec 31 05:50:54 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 11375: Dec 31 05:51:00 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 13275: Dec 31 08:06:56 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 13278: Dec 31 08:07:02 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1
	Line 14571: Dec 31 09:35:26 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Strom failed with HTTP Error Code -1
	Line 14574: Dec 31 09:35:32 Sonoff Heizung1 setStateCUxD() HTTP Heizung%20Gesamtverbrauch failed with HTTP Error Code -1

Komisch finde ich nur das aber nur 6x ein reboot gemacht wurden ist. zur Zeit läuft das ganze.

Search "Boot" (6 hits in 1 file)
  \\WDMYCLOUD\Public\Homematic\syslog\syslog-Sonoff.log (6 hits)
	Line 1: Dec 30 16:17:52 Sonoff Heizung1 Setup Sonoff Heizung1 - Boot abgeschlossen, SSID = FRITZ!Box 7490, IP = 192.168.178.15, RSSI = -65, MAC = 60:01:94:5E:14:63
	Line 3973: Dec 30 20:57:41 Sonoff Heizung1 Setup Sonoff Heizung1 - Boot abgeschlossen, SSID = FRITZ!Box 7490, IP = 192.168.178.15, RSSI = -66, MAC = 60:01:94:5E:14:63
	Line 5130: Dec 30 22:21:26 Sonoff Heizung1 Setup Sonoff Heizung1 - Boot abgeschlossen, SSID = FRITZ!Box 7490, IP = 192.168.178.15, RSSI = -69, MAC = 60:01:94:5E:14:63
	Line 5395: Dec 30 22:40:46 Sonoff Heizung1 Setup Sonoff Heizung1 - Boot abgeschlossen, SSID = FRITZ!Box 7490, IP = 192.168.178.15, RSSI = -69, MAC = 60:01:94:5E:14:63
	Line 8609: Dec 31 02:32:03 Sonoff Heizung1 Setup Sonoff Heizung1 - Boot abgeschlossen, SSID = FRITZ!Box 7490, IP = 192.168.178.15, RSSI = -69, MAC = 60:01:94:5E:14:63
	Line 9088: Dec 31 03:06:47 Sonoff Heizung1 Setup Sonoff Heizung1 - Boot abgeschlossen, SSID = FRITZ!Box 7490, IP = 192.168.178.15, RSSI = -67, MAC = 60:01:94:5E:14:63

@jp112sdl
Copy link
Owner

HTTP Error Code -1 (HTTPC_ERROR_CONNECTION_REFUSED, siehe auch hier) ist schon mal ein Hinweis, dass was im Netzwerk faul ist.

@jp112sdl
Copy link
Owner

Ich habe mal http.setReuse(true); gesetzt.

Teste bitte mal mit dieser Firmware
SonoffHMLOX.ino.generic.bin.zip

@gentoo79
Copy link
Author

Jup ich teste mal

hier nochmal ein log vom WLAN . WLAN an anderen Geräten läuft hier aber optimal ohne Ausfälle .

31.12.17
12:29:30
WLAN-Gerät angemeldet (2,4 GHz), 72 Mbit/s, Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:29:30
WLAN-Gerät hat sich abgemeldet (2,4 GHz), Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:29:24
WLAN-Gerät angemeldet (2,4 GHz), 72 Mbit/s, Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:29:10
WLAN-Gerät hat sich abgemeldet (2,4 GHz), Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:27:02
WLAN-Gerät angemeldet (2,4 GHz), 72 Mbit/s, Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:27:02
WLAN-Gerät hat sich abgemeldet (2,4 GHz), Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:25:42
WLAN-Gerät angemeldet (2,4 GHz), 72 Mbit/s, Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:25:42
WLAN-Gerät hat sich abgemeldet (2,4 GHz), Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:25:34
WLAN-Gerät angemeldet (2,4 GHz), 72 Mbit/s, Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:25:34
WLAN-Gerät hat sich abgemeldet (2,4 GHz), Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:25:30
WLAN-Gerät angemeldet (2,4 GHz), 72 Mbit/s, Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.
31.12.17
12:25:30
WLAN-Gerät hat sich abgemeldet (2,4 GHz), Heizung, IP 192.168.178.15, MAC 60:01:94:5E:14:63.

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 1, 2018

Oder mach den Sonoff mal komplett stromlos.

Ich hab jetzt auf meinen noch mal die .bin per OTA geflasht. WiFi wird verbunden.

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 1, 2018

Ahhhh!
Asche auf mein Haupt!!!
Hab dir die falsche Datei geschickt.
Hier jetzt aber :)

SonoffHMLOX.ino.generic.bin.zip

@gentoo79
Copy link
Author

gentoo79 commented Jan 1, 2018

hmm ich komme nicht in den Konfigurationsmodus :(. Muss ich den jetzt komplett neu flashen (ausbauen) ?

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 1, 2018

Leider ja. Ist es mit viel Aufwand verbunden?

Ich hatte mir bei meinem damals extra die 4 Pins an eine Buchsenleiste nach außen gelegt, um im Notfall schnell ranzukommen zum Flashen...

img_8138

@gentoo79
Copy link
Author

gentoo79 commented Jan 1, 2018

nö nicht viel aufwand, da er bei mir an der Heizung dran ist. Muss nur gleich erstmal meine Tochter ins bett bringen :). Solange gibt es halt keine Heizung :P

@gentoo79
Copy link
Author

gentoo79 commented Jan 1, 2018

So habe mal schnell Kabel angelötet, damit das demnächst schneller geht und Software ist drauf . Dann will ich mal sehen ob er die Nacht durchhält

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 1, 2018

Ich denke nicht :)
Meiner ist gerade wieder neugestartet...

@gentoo79
Copy link
Author

gentoo79 commented Jan 1, 2018

Ach so bei dir startet er auch neu ? Hätte gedacht das es nur bei mir ist .

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 1, 2018

Den Reboot hab ich eingebaut, wenn der WiFi-Status nicht mehr WL_CONNECTED ist und ein Wiederverbindungsversuch fehlschlägt.
Sonst würde zwar der Sonoff weiterlaufen, ab nie wieder im WLAN erreichbar sein - bis er halt neu gestartet wird.

@jenshavelberg
Copy link
Collaborator

Kann man nicht den letzten kumulierten Strom Wert immer persistieren und so nach einem eventuellen Neustart auf den alten Wert weiter draufrechnen? (abgesehen davon, dass so oder so eine Lücke bei der Stromverbrauchsmessung durch den Neustart entsteht)

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 1, 2018

Die Schreibzyklen des Flash Speichers sind begrenzt. Man müsste einen Kompromiss finden, zwischen Genauigkeit und Lebensdauer... Entweder ein größerer Gap im Energiezählerwert bei nem unerwarteten Reboot oder eine kürzere Lebensdauer des Flashs.
Ziel ist auf jeden Fall, die Reboots zu verhindern.
Ich hoffe, dass sich da demnächst was im SDK tut... Hab meinen Issue #4060 dort noch mal ergänzt, nachdem ich nun mit der allerneusten ESP8266-Core Version kompiliert habe.
Wenn ich in den Issues mal nach bcn_timeout suche, dann gibts da schon recht aktuelle Treffer.

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 2, 2018

@gentoo79
Mit der Version läufts bei mir seit gestern 21:48 Uhr bis jetzt (6:10 Uhr).

SonoffHMLOX.ino.generic.bin.zip

@gentoo79
Copy link
Author

gentoo79 commented Jan 2, 2018

Moin,
also bisher läuft die Version von Gestern super.
heizung

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 2, 2018

Danke für dein Feedback.
Nach intensiver Suche konnte ich noch einige Tickets mit demselben Problem finden - und auch einen Workaround, der zu 99% funktioniert.

Das restliche Prozent ist der Moment, wenn man versucht, eine HTTP-Verbindung zu einem Client aufzubauen, wenn die WLAN Verbindung unterbrochen, der WiFi.status() jedoch noch nicht != WL_CONNECTED ist.

Hab das in einem kleinen Sketch reproduzieren können und mit an das Ticket #4060 angehängt.

Die Version, die du momentan hast, hat diesen Workaround noch nicht.
Ich werde sie heute am Nachmittag hier einstellen - und dich bitten, diese dann zu testen.

Ist echt eine große Hilfe! Danke!

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 2, 2018

@gentoo79
Bitte mal testen... :)

Wenn die jetzt durchläuft, dann wirds die finale Version.

SonoffHMLOX.ino.generic.bin.zip

@gentoo79
Copy link
Author

gentoo79 commented Jan 2, 2018

so habe ich jetzt installiert. :)

@gentoo79
Copy link
Author

gentoo79 commented Jan 2, 2018

Bisher läuft es
cf7e00f7-c9e2-45c4-a200-ca1fb185a074

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 3, 2018

Top - Das sieht schon mal gut aus!

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 3, 2018

Lief knapp 24h, dann isser wieder abgestürzt

@gentoo79
Copy link
Author

gentoo79 commented Jan 3, 2018

Also noch läuft er bei mir. Haben ja auch noch 2 Std. Ca
ceb68452-6a80-4817-91dc-c3b662ebf39c

@gentoo79
Copy link
Author

gentoo79 commented Jan 3, 2018

So bei mir läuft es immernoch :)

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 3, 2018

Ich hab bei mir noch mal was am Code geändert und lass es wieder laufen. Abwarten. :)

@gentoo79
Copy link
Author

gentoo79 commented Jan 3, 2018

Also meiner läuft noch immer ohne Reset. Auch in der Fritzbox meldet sich der sonoff nicht mehr so oft an u. ab. Mal gucken wann der Reset kommt. bzw. in welcher Konstellation.

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 3, 2018

Ich hab jetzt mal meinen Router neu gestartet. Und siehe da - der Sonoff verbindet sich anschließend automatisch wieder, ohne abzustürzen. Huiiii :)

@jp112sdl jp112sdl mentioned this issue Jan 4, 2018
@gentoo79
Copy link
Author

gentoo79 commented Jan 4, 2018

Ok also bei läuft es jetzt. Ich sag dann mal Danke für die Option :)

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 5, 2018

Ganz ausgestanden ist die Sache aber wohl noch nicht.
Bei mir endete die Übertragung der Werte heute Nacht um 2 Uhr.
Komischerweise komme ich weiterhin auf den Sonoff per Web. Und ich erhalte auch weiterhin UDP Debugmeldungen an meinen Syslog.
Jedoch ist steht im Debug, das per WLAN übertragen wird, dass WLAN nicht verbunden sei...
Oh man, die müssen da echt mal was fixen!

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 5, 2018

Btw.: Es gibt einen weiteren Issue #4078 bzgl. der Exception des WiFiClients.

@jp112sdl
Copy link
Owner

jp112sdl commented Jan 5, 2018

Die hier ursprünglich gewünschte Funktion wurde implementiert.

@gentoo79
Bezüglich der Übertragungsabbrüche wird nun das Issue #33 geführt.

@jp112sdl jp112sdl closed this as completed Jan 5, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants