NEWS
Tasmota und DeepSleep nutzen ?
-
Hallo,
Ich bin grad dabei meine ganze IOT Hardware von lauter selbstgebastelten Lösungen auf iOBroker umzubauen.
Als Gerätefirmware nutze ich dazu Tasmota und MQTT als Protokoll.
Jetzt habe ich aber ein paar selbst programmierte WemosD1mini die im Batteriebetrieb mit DeepSleep laufen (temperatur garten, wasserstand regentank) und da habe ich gewisse Probleme die auf Tasmota umzuziehen.Einerseits gibt es ja einen offiziellen DeepSleep Modus den man aber manuell konfigurieren und selbst kompilieren muss.
Andererseits scheint das aber in der offiziellen 8.1 bin eh schon aktiviert zu sein - auf jeden Fall gibts einen Devicecode „DeepSleep“ bei der Pin-Konfiguration.Jetzt bin ich leicht ratlos. Was muss ich tun ?
Selbst kompilieren ? Einfach nur PIN konfigurieren ? Was muss ich löten ? Und wie und wo aktiviere ich DeepSleep im Betrieb ?Wäre echt toll wenn mir jemand weiterhelfen könnte
Lg
Clara -
Moin,
Hab mich mal ein bisschen mit Tasmota/DeepSleeptime beschäftigt.
Auf jedenfall muss Gpio16 mit RST verbunden werden.
Weil über Gpio16 das Aktivierungssignal an RST gesendet wird und
dadurch der ESP kurz geweckt wird.
Bei mir habe ich mal "DeepSleepTime 7200" eingegeben.
Vor der Eingabe noch "savedata 1" eingegebn.
Damit wird der ESP alle 2 Stunden geweckt und in IOBroker werden
zb. die Werte vom DS18B20 aktualisiert und in VIS dargestellt.
Zuerst MQTT aktivieren.
In Tasmota unter Gerätetyp "Generic (18)" wählen.
Nach Neustart dann unter Geräte-Einstellungen bei D0 Gpio16
auf "DeepSleep (182)" setzen.
In der Konsole noch
savedata 1
DeepSleepTime ....
eintragen. -
Hallo,
der DeepSleep Modus ist echt irgendwie nirgendwo gut erklärt. Der TasmotaWiki der in Englisch ist, ist leider auch nicht der beste.
Ein einfaches Beispiel wäre gut.
Oder was genau macht die Option DeepSleep wenn man diese dem D0 zuweist?
Sobald ich mit einem Befehl in der Konsole "DeepSleepTime 20" eingebe. Habe ich keinen Empfang mehr. Und muss im endefekkt Reset-Taster betätigen. Da D0 zu RST, GND zu RST und auch 5V zu RST. Mit doer ohne 10 leider keinen effekt haben.
Dann ist für ein paar sekunden die oberfläche wieder online, und wenn ich schnell bin kann ich den "DeepSleepTime 0" wieder setzen. Dann geht es wieder wie vorher.
Was mich auch etwas iritierr das die Konsole nach der DeepSleepEingabe folgende ausgibt:
"Reset wrong settings wakeup: 0, slip 10000"Hört sich an als ob das aufwecke für 0 sekunden sein sollte. Aber wo kann man das ändern
Wenn jemand noch ideen häte, wäre ich dankbar.
-
Habe mir 6 Sensoren mit Wemos D1 gebaut für temperatur und luftfeuchte laufen mit einem 18650 Lipo ca 8 Wochen
Als Weboberfläche nutze ich EspEasy da ist mqtt und deppslepp sehr einfach zu konfigurieren
Auf jedenfall muss Gpio16 mit RST verbunden werden. Zugriff ist nur wärend der aufwachzeit möglich die ist auch einstellbar!!
oder Gpio16 mit RST trennen und reset ausführen. -
Hallo,
das Setzen eines GPIOs auf Deepsleep(182) benötigt man nur, um den Deepsleep per Schalter ab dem nächsten Zyklus zu unterbrechen.
Siehe hier -> https://tasmota.github.io/docs/DeepSleep/Ein DeepSleepTime 120 (auf der Console) lässt das Gerät alle 2 Minuten aufwachen. Das Gerät schläft, sobald das Kommando eingegebene wurde.
Das Fenster der Konsole einfach offen lassen, dann wird wieder etwas angezeigt sobald dar ESP online geht.Ein Problem hatte ich dabei: Wenn der ESP respektive Tasmota zu viele Reboots in kurzer Zeit hat, wird ein "self-restoring" angestossen.
Das bedeutet das Gerät ist wieder ein "Sonoff-Basic (1)" und die Konfiguration ist weg.Alternativ kann per MQTT die Deepsleep Zeit gesetzt werden.
Ich verwende dazu "mosquitto_pub" am Raspberry (Installation mit "sudo apt install mosquitto-clients".Das Topic, also das mit "tasmota_AA12BB34" kann man aus der Infoseite in Tasmota nehmen.
-> http://192.168.2.123/in?Setzen einer Zeit per MQTT (120 Sekunden):
mosquitto_pub -t "cmnd/tasmota_AA12BB34/DeepsleepTime" -r -m "120"
Löschen der Zeit (setzen auf 0):
mosquitto_pub -t "cmnd/tasmota_AA12BB34/DeepsleepTime" -r -m "0"
Dann bleibt der ESP nach dem nächsten Wakeup eingeschaltet.
Mit dem Schalter "-r" bleibt die Nachricht am Mosquitto Server stehen und der ESP kann die Nachricht abholen sobald er online ist.
Er muss also nicht warten bis die Nachricht nochmals gesendet wird, bzw. im passenden Moment gesendet wird.Will man die Nachricht am Mosquitto löschen bzw. keinen Wert setzen, so sollte man eine null-message senden.
mosquitto_pub -t "cmnd/tasmota_AA12BB34/DeepsleepTime" -r -n
Beobachten der Nachrichten:
mosquitto_sub -h mosquitto_host_name -t "tele/tasmota_AA12BB34/#" -v
oder mit mqtt-spy unter Windows.
Vielleicht benötigt ja mal jemand diese Infos.
-
Hi all,
ich habe zu dem Thema Tasmota und DeepSleep ein kleines TUT verfasst.
Das sollte bei dem einen oder anderen etwas mehr Klarheit bringen.Tasmota und der DeepSleep 20200615.pdf
Meine nächste DeepSleep Anwendung wartet schon, ein Grillthermometer.
Wemos-Mini + Powerbank + 2 Temp.Sensoren (Metall-Thermoelemente)VG aus dem Kreis Heinsberg
#HSbeStrong
AlfredEDIT 20200614: Habe eine neue Version des TUTs hochgeladen.
EDIT 20200615: Einen dicken Fehler bereinigt !
-
Hallo Leute,
ich würde den DeepSleep Modus gerne an einem Sonoff Basic nutzen. Dafür muss man ja Gpio 16 und RST verbinden. Weiß jemand wo die auf dem Board sind? Ich habe nichts im Netz gefunden. -
-
@premo Danke und sorry hatte vergessen zu erwähnen das ich Version 1 des Basics habe
RST müsste ja einer von den beiden markierten sein aber Gpio 16 finde ich nicht
-
@vikk88
Ob RST einer von den beiden ist muss du mal durchmessen ob eine Verbindung besteht.
Auf dem Bild als Anhang am Gpio16 mal testen.
Ansonsten eine feine Litze direkt am ESP anlöten
-
@premo ich werde mein Glück mal probieren. Da muss schon echt fein löten. Danke
-
@nas4killer
hi - ich habe das gleiche Problem - konntest du es lösen? Wäre nett wenn du mir einen tipp geben könntest.
Ich habe nur den GPI0 mit dem RST (natürlich mit wiederstand 10k) verbunden. Aber dennoch kommt der aus dem deep sleep nichtmehr raus.
danke! -
@fuema hast du einen Wemos? Weil da musst du RST mit dem GPIO16 kopieren. Ich glaube mit einem anderen GPIO gehts nicht da auch am GPIO16 WAKE steht.
-
Habe mal mit einem Wemos D1 und DS18B20 mit 4xAA Batterien getestet .
Nach ca. 7 Wochen war Schluss mit der Übertragung an IOBroker.
Anbei mal eine kleine Anleitung. -
@premo welche deepsleep Zeit hattest du eingestellt? Ich habe jetzt einen alten Handyakku mit Solarzelle am laufen. Mal gucken wie das läuft
-
@vikk88 danke - es war glaube ich einfach auch eine kalte löststelle. funktioniert
-
Hi,
Ich arbeite recht viel mit Tasmota an diversen Projekten. Mein aktuelles Problem macht mich aber fast wahnsinnig. Ich würde gern deepsleep nutzen und beim wachwerden abfragen wie lange es noch bis zum eingestellten timer dauert. Den timer kann ich aber nicht über json abfangen. Hat da jemand eine Idee?Meine Projekte habe ich hier mal aufgeschrieben http://ihr-it-profi.de/index.php
-
@t-willms
Beim ESP-12 (E,F & S) ist die Pinfolge:
RST
ADC
Enable
GIPO16 D0 WAKEIch hab nur einen DS18B20 dran und alle 10 Minuten wacht der ESP auf und übermittelt eine Messwert.
Der Sensor hat dauert Spannung weil der erste Messwert immer 85°C ist ... -
@smartieshome Wie lange ist denn der ESP dann "online" also wenn ich 30 Sekunden einstelle, ist er dann 30sekunden schlafend, 30sekunden wach etc?
-
Ich beschäftige mich auch gerade mit dem Thema.
Will einen Sensor für den Füllstand der Zisterne bauen, wenn möglich batteriebetrieben.Ist nun alles soweit aufgebaut. Habe die Anleitung von @SmartiesHome mit meinem Setup verglichen, und bin zufrieden.
Was ich nicht verstehe und auch nicht richtig eingeben kann, ist der Wert "Savedata 1". --> Befehl unknown.
Wenn ich nur savedata eingebe, kommt die Meldung, dass der Wert auf ON steht.Momentan kämpfe ich aber noch mit der Batterielebensdauer. Hatte nun 2x 18650 - 4000mAh Akkus dran. Mit einer Deepsleeptime von 3600, also stündlich kurz Werte holen, war das Ganze nicht mal nen halben Tag aktiv.
Bin aber nicht ganz sicher wie voll die Dinger waren und muss das nun nochmal wiederholen.
Hat jemand noch Tipps?Im Einsatz: Wemos D1 Mini, Ultraschallsensor jsn-sr04t-3.0, diymore Battery Shield V8
@hohmannc Ich verstehe es so: ESP einschalten, dann nimmt er von den Sensoren nach dem Boot den ersten Wert. Das ist grundsätzlich so.
Dann gibt es den Parameter "Telemetry period" unter Log Settings. Dieser gibt in Sekunden an, wie oft er dann weitere Werte nimmt (so verstehe ich das).
Wenn dieser z.B. auf 30 steht, dann nimmt er alle 30 Sekunden Werte. Vorausgesetzt deepsleeptime ist off/0.
Wenn die deepsleeptime jetzt auf 60 gestellt wird, dann nimmt er den ersten Wert nach dem Boot, einen weiteren nach 30 Sekunden und dann geht er für 60 Sekunden schlafen. Nach dem Aufwachen wiederholt sich alles.