-
-
Notifications
You must be signed in to change notification settings - Fork 513
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Request] Nachtabschaltung Deep Sleep #397
Comments
Das Thema wurde hier '>2W erscheinen mir viel. Welche Leistungsaufnahme hat dein Netzteil im Leerlauf? Bei mir läuft die komplette OpenDTU-Einheit (ESP32 Dev. Board und nRF24L01+) mit < 1W. |
Dass das Thema schon einmal diskutiert wurde, habe ich nicht bemerkt, zeigt aber, dass mehrere das Anliegen haben. Ich verstehe nicht ganz, warum eine Nachtabschaltung ein Problem darstellen sollte. |
V.a. wenn oft nur ein kleines Balkonkraftwerk dranhängt würde ich auch versuchen, den verursachten Zusatzverbrauch zu minimieren. Ich habe hier einen zweiten ESP32 zum Spielen und werde mal versuchen, darauf einen zeitgesteuerten Deep Sleep-Betrieb hinzubekommen. |
Mit einem ESP32 NodeMCU geht der Timer-Wakeup hier zuverlässig. Der Stromverbrauch geht dann auf dem Messgerät von 0,4W auf 0,0W (nacktes Gerät ohne aktives WLAN und ohne NRF24L01+-Funkmodul). Ich werde mal versuchen, das mit dem Code der Berechnung von Sonnenauf- und Untergang zu verheiraten. |
Sodele, jetzt habe ich alle Puzzleteile beisammen. Zunächst ein mal eine Funktion, um die Minuten bis zum nächsten Sonnenaufgang zu berechnen, basierend auf dem eingangs erwähnten Pull-Request. Dann habe ich mir eine modifizierte OpenDTU-Firmware gebaut, die immer 10 Sekunden nach dem Booten für 20 Sekunden in den Sleep-Modus geht, und außerdem mit der blauen LED anzeigt, ob das Funkmodul gefunden wurde (um mögliche Probleme nach dem Aufwachen auszuschließen). Das funktionierte auch für ein paar Minuten zuverlässig. Dabei wurden im Betrieb 1,3 W und im Sleep-Modus 0,0W auf dem Messgerät angezeigt. Da könnten sich also durchaus ein paar kWh pro Jahr sparen lassen, auf jedem OpenDTU-Gerät weltweit! 😎 Als nächstes werde ich voll funktionstüchtige Firmware bauen, die sich nach Sonnenuntergang schlafen legt und zum Sonnenaufgang wieder aufwacht. |
Finde ich eine super Initiative von dir. Der Gedanke kam mir auch nachdem ich diese Woche mit mienem Balkonkraftwerk eingestiegen bin. |
Das ist in dem Fork, den ich als Grundlage benutze, schon genau so drin (siehe PR #351). Wenn mein OpenDTU-Gerät morgen früh wieder wie gewünscht aufwacht, werde ich meine Änderungen veröffentlichen und gebe hier Bescheid. |
Der Wakeup heute Morgen ging wie gewünscht. Hier der Code dafür: https://github.com/scorpi11/OpenDTU/tree/sleep-at-night In den NTP-Einstellungen "Enable Sunrise" aktivieren, geografische Breite und Länge des Standorts eingeben (z.B. das was https://www.gps-coordinates.net anzeigt). Die rote LED bleibt an wenn das Gerät im Sleep-Modus ist. Ich habe zusätzlich ein Blinken der blauen LED eingebaut (falls der ESP32 eine hat), das immer aktiv ist, wenn OpenDTU Daten von mindestens einem Wechselrichter empfängt. Im Log sieht man alle 10 Sekunden eine Anzeige mit den berechneten Zeiten für Sonnenaufgang und Sonnenuntergang, sowie der berechneten Zeit bis zum nächsten Sonnenaufgang. |
Wird hoffentlich auch Teil des Projekts von tbnobody. :) Sonst haben wir am Schluß 100 Forks. |
can confirm, compiled your fork - everything worked as expected. Thx |
In den Standby ist das eine - aber vielleicht könnte man die Option einbauen, dass er nach Sonnenaufgang aufhört zu pollen bzw dann vor Sonnenaufgang wieder anfängt (jeweils einstellbar mit +- min Versatz) |
Excelent. Can it be integrated in main code ? |
Ich habe den Forck auch kompiliert und Deep Sleep funktioniert einwandfrei. Es macht Sinn, denn bei mir im Garten (Insel) zählt im Winter jede Wattstunde :) Ich hoffe wirklich es wird in den Main Code integriert und nicht nur NRF inaktiv schalten wie in der Roadmap beschrieben... Können wir noch was machen das @tbnobody den Thread liest? Es wäre ja nur ein Schalter mehr. Einen für DeepSleep und einen nur für NRF pollen inaktiv. Dann kann jeder machen was er möchte :) Mir ist DeepSleep wichtiger das WLAN dann auch aus ist :) |
Gibt es den Code mit der Nachtabschaltung zum Aufspielen als Over-The-Air-Update? Ich bin leider kein Programmierer und habe nicht herausfinden können, wie ich aus dem reinen Softwarecode eine Aufspielbare-Datei erstelle.. Freu mich auf Hilfe! |
Den aktuellen Code mit DeepSleep gibts hier zum runterladen. Funktioniert auch per OTA: |
Super danke! Da sind vier .bin-Dateien. Müssen die alle installiert werden und wenn ja, in welcher Reihenfolge? |
Das Vorgehen ist hier beschrieben: https://github.com/tbnobody/OpenDTU#flash-with-espressif-flash-download-tool-windows Wenn OpenDTU schon auf dem ESP32 installiert ist, reicht wahrscheinlich das Installieren der "opendtu-generic.bin" über "Settings" --> Firmware upgrade". Aber: https://github.com/scorpi11/OpenDTU/actions/runs/4145669841 ist ein Fork von "tbnobody / |
Cool, super! Echt genial! Tatsächlich hat es allein mit dem Firmwareupgrade funktioniert, allerdings muss man einen Haken setzen bei "Sunrise". War mir nicht ganz klar, aber jetzt läufts einwandfrei. Weiß jemand, ob noch relevante Features zwischen dem Fork und der Hauptversion hinzugekommen sind? |
Habe das Upgrade mit Nachtabschaltung vor einigen Tagen aufgespielt und muss sagen es funktioniert wie erwartet und ist einfach nur super. |
Hallo, habe diese Image vor 2 Tagen eingespielt. |
@fow0ryl Ich glaube du hast dich bei den Koordinaten vermacht, so das sich der Deepsleep verschoben hat. |
In der Konsole sieht man alle paar Sekunden die berechnete Zeit für Sonnenauf- und Untergang, sowie die verbleibende Zeit bis zum nächsten Sonnenaufgang. Diese Zeiten sollten passen, ansonsten stimmt etwas mit den Einstellungen nicht. |
@scorpi11 Da sich bei beim Standard Code sowohl der Bootloader geändert hat und die Sunset Berechnung nativ integriert worden ist, wäre es möglich für dich einen neuen Build zu machen? |
Mein OpenDTU war zwar im WLAN angemeldet, hat aber per DHCP über Tage keine IP angefordert. Demzufolge war er per http auch nicht mehr erreichbar war. Ich habe letztlich die Spannungsversorung zum ESP32 gekappt und nach einer Weile wieder hergerstellt. Das Gute: Seit dem letzten Hard-Reset sind keine Störungen mehr aufgetreten... |
@LarsRaw Danke für die Info, dann werde ich mal mein Git-Repository anpassen. |
Hallo, Grossen Dank für den Fork. |
@dj9717 aktivieren unter Einstellungen -> NTP Einstellungen dei RICHTIGEN! koordinaten eingeben und dann den Schalter "Sunrise" aktivieren :) |
Der Abschnitt "Sunrise Sunset Einstellungen" fehlt bei mir ?! |
Super Feature tausend Dank nochmal für die Umsetzung. |
Hi, |
Ist halt leider so das sich @tbnobody, schon vor @scorpi11 's Fork, gegen dieses zeitgemäße und nützliche Feature des ESP32 entschieden hat. Seine Begründung findest Du hier #265. |
wäre es möglich, den aktuellen Stand vom tbnobody:master zu mergen? Der sleep-at-night Branch sei 350 commits hinterher... Ansonsten würde ich mir auch wünschen, dass ein PR ins Hauptprojekt möglich wäre. |
Wollte ich schon längst mal machen, aber man kommt ja zu nix und wenn alles funktioniert ist irgendwie die Motivation auch nicht sonderlich hoch. Einfaches Mergen geht auch nicht, da die Funktionen für Sonnenauf- und Untergang zwar ins Hauptprojekt eingeflossen sind, aber dabei etwas umgestrickt wurden und ich meinen Teil daran anpassen muss. |
Ja, das verstehe ich, klaro. Ich habe die 350 Commits grob überflogen. Vieles dreht sich ums Display (brauch ich nicht), aber es gab auch einiges zu Config und MQTT, glaube ich. |
Mach doch vielleicht noch mal einen neuen Request auf. Ich werde das supporten. Vllt können wir mit Argumenten überzeigen und @tbnobody überzeugen. Man könnte ja ein zusatzälich Betstätigung vorm einschalten abfragen, damit nicht "unwissende" User das aus versehen aktivieren und die DTU nachts nicts mehr erreichbar ist... |
Es gibt ein neues Build von @tbnobody. Könntest du das mit Nachtabschaltung bereitstellen?
|
Have a look at https://github.com/OFreddy/OpenDTU |
@tbnobody It would be realy nice if this could be integrated into the main repository. Even if only e few users will use it (what I doubt) it will help them to save some energy. Which is basically one of the ideas of this project I guess? Produce green energy and dont't waste it? If there are no points against it and if it works, why not just doing it? |
There are two things in this Feature Request:
I have checked both the code suggested for deep sleep by @scorpi11 and @OFreddy and the current implementation of sunset types (below).
Is the Wake-On-LAN code sufficiently stable to wake the OpenDTU from Deep Sleep, in case we want to make some changes to the OpenDTU configuration, e.g. disable Deep Sleep again ?
Sunset type: Standard dawn (90.8°) Sunset type: Nautical dawn (102°) Sunset type: Civil dawn (96°) Sunset type: Astronomical dawn (108°) I assume setting the Civil dawn (96°) or even Nautical / Astronomical dawn should allow for enough offset. Or do we need a distinction of the offset for deepsleep after sunset (dusk) and before sunrise (dawn) because people want to keep the OpenDTU available until e.g. midnight and start it up again shortly before dawn ? |
The Wake On Lan code slipped in by accident, it is unrelated to the deep sleep function. It also has nothing to do with waking up the OpenDTU device via WOL. Sorry for this. |
Any update on this? Anything where help is needed? |
@kaeferfreund @scorpi11 before you invest any time and effort into this feature you should get the management buy-in. I do not see this PR going anywhere unless the main developer and maintainer also wants to have this feature. Because it may introduce additional issues while it does not yield many benefits this may not be the case with this feature. Currently there are only 9 upvotes on the first entry in this issue / Feature Request. |
Is your feature request related to a problem? Please describe.
Wäre es möglich, eine Option zu implementieren, die den ESP über Nacht in einen Deep Sleep versetzt? Zwar wäre die OpenDTU nicht mehr ansprechbar, bei allen, die die Daten über MQTT loggen, ist das aber höchstwahrscheinlich sowieso irrelevant. Stattdessen könnte nicht gerade wenig Strom eingespart werden, nachdem mein WT31-ETH01 schon über 2W braucht.
In einem Pull request (siehe #351 ) wurde schon eine Lösung zur Berechnung des Sonnenaufgangs und -untergangs zur Deaktivierung des NRF-Moduls vorgeschlagen. Das alleine würde aber sicherlich keine signifikanten Einsparungen hervorbringen.
Describe the solution you'd like
Option, mit der der ESP32 über Nacht in den Deep Sleep versetzt wird, um den unnötigen Stromverbrauch zu senken.
Describe alternatives you've considered
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: