Schnup89 / LIVY_RING_G2-Tasmota

25 stars 4 forks source link

Power Management #7

Open Trashwarez opened 3 years ago

Trashwarez commented 3 years ago

Zunächst einmal ein dickes Lob für die Anpassung der Tasmota-Firmware an den Livy-Ring. Um ihn auch dauerhaft in die Hausautomatisierung einbauen zu können, fehlt eigentlich nur noch ein Power Management. Der hohe Energieverbrauch im Vergleich zur Original-Firmware reduziert die Laufzeit von ca. 6 Monaten auf max. 1 Tag. Wäre wirklich super, wenn da noch etwas gemacht werden könnte.

Schnup89 commented 3 years ago

Hi danke :) Bin da auf jeden Fall dran, es ist immer die Frage wie man es für die Sensoren am besten realisiert. Beim Mikrofon sehe ich kein Optimierungspotenzial. Beim Spannungswandler/Sensor auf jeden Fall, da ist nur die Frage ob und wie lange ich den in den Schlafmodus schicken kann sodass er in der Wach-Phase noch einigermaßen korrekte Werte berechnen kann. Beim Heater für GAS sehe ich auf jeden Fall Potenzial, da reicht es alle Minute die "Heizung" anzuwerfen und dann den Wert auszulesen, ich denke die Heizung nimmt aktuell einiges an Energie weg. Beim PIR-Sensor sehe ich auch kein Einsparpotenzial.

Ich schraube die Tage mal am Spannungswandler und GAS-Sesnor rum, dann sehen wir wo die Reise hingeht.

Jason2866 commented 3 years ago

Hier muss ich die Erwartungshaltungen dämpfen. Tasmota wurde ursprünglich für den ESP8266 geschrieben. Der Port für den ESP32 kam danach und basiert auf den Code des ESP8266. Sehr vieles (fast alles) ist auch inzwischen für den ESP32 funktionsfähig. Jedoch die Sleep Funktionen die der ESP32 als Hardware (ULP) enthält werden überhaupt nicht unterstützt. Auf gut Deutsch strom sparen mit Tasmota auf den ESP32 ist nicht möglich. Tasmota ist designed immer an zu sein. War niemals für Batterie Nutzung gedacht. Die Sleep Funktion für den ESP8266 war ein Fork der integriert wurde. Wirklich Batterie tauglich ist Tasmota damit aber auch nicht....

Trashwarez commented 3 years ago

Das war mir beim ESP32 bisher nicht bewusst. Allerdings glaube ich auch nicht, dass der hohe Verbrauch ausschließlich vom ESP32 kommt. Vielleicht ist ja noch etwas bei der Häufigkeit der Sensoranfragen herauszuholen.

Jason2866 commented 3 years ago

Naja, ob 1 oder 2 Tage. Das Teil an ein Netzgerät ran und gut. Die Lipos sind auch anderweitig gut zu gebrauchen :-) Mir persönlich wären bei diesem Teil gute Sensorwerte wichtiger als eine niemals befriedigende Laufzeit mit Tasmota. Also das Energiesparen komplett über Bord werfen und das maximale aus den Sensor(en) rausholen.

Schnup89 commented 3 years ago

@Jason2866 Meinst du dass es mir drei LiPo's nicht mehr als 2 Tage werden?

PS: Hab alles hochgeladen, hoffe du kommst damit zurecht.

Trashwarez commented 3 years ago

Ich habe nur den Mounting Kit für die Decke, und da macht sich ein Netzgerät schlecht. Leider habe ich für den Tischständer kein 3D-Modell gefunden.

Jason2866 commented 3 years ago

Ja, 2 Tage sind wahrscheinlich "Ende Fahnenstange"

Werde morgen mal versuchen das zu compilieren. Bei Fragen melde ich mich. Ansonsten lade ich die Version mal im Issue "Buzzer knistert" hoch. Meiner wird wohl ein paar Tage dauern bis ich den habe...

Schnup89 commented 3 years ago

@Trashwarez Vor dem selben Problem stehe ich auch demnächst, ich schau mal ob ich ein passendes 3D Model entwickeln kann.

@Jason2866 DANKE!

Trashwarez commented 3 years ago

Das mit dem 3D-Modell wäre sowas von toll. Da spielt der Strombedarf dann wirklich keine Rolle mehr. Und wie Jason2866 bereits schrieb, würde ich dann auch eher auf Präzision der Messergebnisse setzen. ;-) Vielleicht könnte ja jemand, der/die den Tischständer hat, hier die exakten Maße posten, damit Du Dich beim STL etwas leichter tust.

blautob commented 3 years ago

Ja, 2 Tage sind wahrscheinlich "Ende Fahnenstange"

Werde morgen mal versuchen das zu compilieren. Bei Fragen melde ich mich. Ansonsten lade ich die Version mal im Issue "Buzzer knistert" hoch. Meiner wird wohl ein paar Tage dauern bis ich den habe...

Oh schade, für mich war das Teil insbesondere aufgrund der Tatsache, dass man es an die Decke hängen kann und 2x im Jahr laden muss super interessant. Wie macht denn der Hersteller das, mit der langen Akkulaufzeit von versprochenen 6 Monaten?

Jason2866 commented 3 years ago

Ja, 2 Tage sind wahrscheinlich "Ende Fahnenstange" Werde morgen mal versuchen das zu compilieren. Bei Fragen melde ich mich. Ansonsten lade ich die Version mal im Issue "Buzzer knistert" hoch. Meiner wird wohl ein paar Tage dauern bis ich den habe...

Oh schade, für mich war das Teil insbesondere aufgrund der Tatsache, dass man es an die Decke hängen kann und 2x im Jahr laden muss super interessant. Wie macht denn der Hersteller das, mit der langen Akkulaufzeit von versprochenen 6 Monaten?

Programmiert sehr hardwarenah (kein Arduino code!) und ausschließlich Funktionen die benötigt werden und nutzt die Hardware Deep Sleep Funktionen des ESP32.

blautob commented 3 years ago

Ok danke @Jason2866 für die (etwas ernüchternde) aber gute Erklärung. Ist das dann der nicht-hardwareseitige Deepsleep? https://github.com/arendst/Tasmota/issues/9020

Jason2866 commented 3 years ago

Es gibt nicht nur einen Sleep. Der ESP32 Sleep der in Tasmota aktuell genutzt wird (nie ausgiebig getestet) is der vom ESP32 core. Ich vermute das in der orig. firmware der ULP core genutzt wird um den PIR evtl. den Geräuschsensor und von Zeit zu Zeit auch den Gassensor abzufragen. Nur wenn hier genügend Indikatoren für einen wahrscheinlichen Alarm vorliegen wird der bzw. die stromfressenden ESP32 cores aus den ultra deep sleep geweckt und alle Sensoren abgefragt und ein Alarm über wifi abgesetzt.

Jason2866 commented 3 years ago

Mit viel Anpassungsarbeit ist ggf. eine längere Laufzeit mit Tasmota hinzubekommen. Ich glaube allerdings nicht das eine vernünftige Nutzung auf Akku basis möglich wird. Wer will schon alle paar Wochen Akkus laden Das ist für mich auch der Grund warum die Teile relativ teuer verkauft werden (oder versucht wurde). In der Software steckt sehr viel Programmierleistung und know how.

blautob commented 3 years ago

Ja. Ich hab aktuell nur noch keine Idee wie ich Per Usb an der Decke laden kann…

MichlW commented 3 years ago

Hier mal meine Erfahrungen:

Nachdem ich den Livy Ring erhielt, habe ich ihn voll aufgeladen und unverändert testhalber in einem Raum bei uns in Betrieb genommen um ihn "kennenzulernen". Ohne Modifikation! Ohne Alarmfunktionen! Seit heute Nacht zeigt die Livy-App bereits einen niedrigen Batteriestand an! Das ist weit unter den Herstellerangaben der vorraussichtlichen Batterielaufzeit von 4-6 Monaten. Und ich finde, das ist für dieses Startup und für die weiteren Bemühungen für einen Tasmota-Batteriebetrieb der Killer.

Trotz alledem fände ich eine sinnvolle und energieschonende Umsetzung der Zugriffe auf die Sensoren auch für einen kabelgebundenen Betrieb mit Tasmota von Vorteil. Strom gibt es ja nirgends gratis und Kleinvieh macht bekanntlich auch Mist.

Danke für deine/eure tolle Arbeit!

Ohne die Batterien könnte man die Platine sogar in ein bestehendes oder kleineres Gehäuse integrieren!

DerDom commented 6 months ago

Hallo zusammen, tolle Arbeit!

Gibt es schon jemanden, der passendes Zubehör gefunden und den Livy Ring unter der Decke montiert hat? Ich wäre an Fotos und Hinweisen zum Zubehör interessiert.

230V AC habe ich bereits an der Decke vorgesehen. Die müsste ich dann nur auf 5V DC runter bekommen. Oder man speist von der Verteilung direkt 5V DC ein? Das wäre dann jedoch über ein NYM 3x1,5mm² Kabel. Wahrscheinlich keine gute Idee...

Oder sowas? https://www.reichelt.de/2usb-chargeup-12-w-unterputzeinsatz-2usb-cup12-p239305.html https://www.reichelt.de/keystone-usb-typ-a-lademodul-2-1-a-schwarz-delock-86506-p266330.html

Bin übrigens voll davon überzeugt den Ring über's Netz zu betreiben. Alles andere führt zu unbefriedigenden Kompromissen. Ich lasse aktuell schon zwei Nest Protect über Kabel laufen. Die liefern jedoch nur die Anwesenheit, keine Info zu Temperatur, etc. und sind sehr viel teurer.

DerDom commented 6 months ago

Auf der Rückseite der Platine, die im Livy Ring steckt gibt es drei Lötstellen für BAT+ (mit dem Pluspol des Akkus verbunden), GND (mit dem Minuspol des Akkus verbunden) und 5V (nicht verbunden). Ich denke darüber nach ein simples 1A oder 2A Netzteil an 5V und GND zu löten. Vielleicht passt es sogar mit in den Ring? Dann könnte man die Kabel hinten aus dem Ring durch die Decke führen und hätte den Ring schön sauber angebracht.

Hat jemand von euch Erfahrung mit den drei Kontakten gesammelt? Klappt das?

https://www.ebay.de/itm/354275282703

Schnup89 commented 6 months ago

Hi, ich schaue mir das mal an und gebe dir Rückmeldung ob das so funktioniert.

Schnup89 commented 6 months ago

Eben getestet, du kannst 5v an BAT+ und GND anschließen, damit läuft der Livy Ring. Ich habe es mit einem USB Netzteil getestet, ich denke 1A reicht aus, da der Ring vom design auf Energiesparen ausgelegt ist.

Edit: Der 5V "Pin" funktioniert auch, wenn du sowieso löten musst würde ich diesen bevorzugen da dieser wahrscheinlich an dem Ladespannungsregler für die Batterie vorbeigeht.

DerDom commented 6 months ago

Besten Dank für die schnelle Rückmeldung, @Schnup89 ! Dann nehme ich 5V und GND...

Batterien könnte ich auch vollständig raus nehmen, um das Netzteil im Ring verstaut zu bekommen, oder? Mein Nest Protect hat zwar neben der 230V-Strom-Versorgung auch Batterien. Da bleibt dann der Feuermelder aktiv, wenn der Strom mal ausfällt. Das ist beim Livy Ring aber nicht unbedingt nötig, da der Rauchmelder ja auf eigene Batterien zurückgreift. Und die restlichen Werte kann ich bei einem Stromausfall nicht verarbeiten. Insofern könnten die Batterien aus dem Ring eigentlich raus, oder?

Wie habt ihr den Ring eigentlich im Einsatz? Mit USB-Stromversorgung, Batterien und Ständer auf dem Schreibtisch stehen?

Schnup89 commented 6 months ago

Legst du die externe Spannung an den 5V PIN an, kannst du evtl. die Batterien drin lassen und die werden durch die Spannung geladen (nicht getestet). Legst du die externe Spannung an BAT+ an, dann auf jeden Fall die Batterien raus. Wenn du wie geschrieben den Fallback bei Stromausfall nicht brauchst, verbinde einfach 5V und nehme die Batterien raus.

Ist das für die Akkus in Ordnung, wenn die dauerhaft mit 5V versorgt werden? Ich hatte gedacht, dass der Ring eine Art Batteriemanagementsystem hat, deswegen hätte ich an 5V und GND gelötet...

Das ist in Ordnung und funktioniert auf jeden Fall mit dem Micro-USB-Port an der Seite des Ring, ich prüfe gerade ob es eine Verbindung zwischen den 5V und dem Ladekreislauf gibt, dann könnte man die Batterien drin lassen.

Schnup89 commented 6 months ago

Du kannst die 5V nehmen, das ist die selbe "Leitung" wie der 5V Zugang des Mico-USB-Port. Damit kannst du die Batterien drin lassen und deine externe Spannung an den 5V Pin verbinden.

pflegefall commented 4 months ago

Hallo Zusammen, zunächst vielen Dank für die Commits und die spannenden Beiträge.

Dem folgenden Link nach habe ich Hoffnung, dass der Zugriff auf die ULP Funktion mit Tasmota doch noch gehen wird?

https://tasmota.github.io/docs/ULP/

Ist es möglich, dass der originale assembly code noch auf dem ULP-Prozessor ist oder ggf. verbleibt und ein "ULP.get_mem()" hierauf Zugriff gibt?

Jason2866 commented 4 months ago

Ist es möglich, dass der originale assembly code noch auf dem ULP-Prozessor ist oder ggf. verbleibt und ein "ULP.get_mem()" hierauf Zugriff gibt?

Es git keinen extra ULP-Pozessor. Der ist im ESP32 integriert. Der Code dafür ist im Flash. Der ULP Code muss mit dem ESP32 Code "zusammen spielen". Also selbst wenn der Code Part identifiziert und vorhanden wäre bringt dieser überhaupt nix.