mirror of https://github.com/arendst/Tasmota.git
Updated Support for Deepsleep and Wake Up PIN (markdown)
parent
2bd7c86389
commit
150192ec00
|
@ -21,34 +21,40 @@ Deep sleep is then triggered at the TELEPERIOD event. In this example, it will o
|
||||||
|
|
||||||
If you want to minimize the time that the device is in operation, decrease TELEPERIOD down to 10 seconds. This period of time is counted **after** MQTT is connected. Also, in this case, the device will wake up at 9:00 am even if the uptime was much smaller. If the device missed a wake-up it will try a start at the next event - in this case 10:00 am.
|
If you want to minimize the time that the device is in operation, decrease TELEPERIOD down to 10 seconds. This period of time is counted **after** MQTT is connected. Also, in this case, the device will wake up at 9:00 am even if the uptime was much smaller. If the device missed a wake-up it will try a start at the next event - in this case 10:00 am.
|
||||||
|
|
||||||
## WEMOS D1 side-effects
|
## WEMOS D1 Deep Sleep Side-effects
|
||||||
Not all GPIO behave the same during deep sleep. Some GPIO go HIGH, some LOW, some FOLLOW the relay but work only on FET transistors. As soon as current flows they go LOW. I use one GPIO to trigger a BC337 transistor to switch OFF all of my connected devices during deep sleep. Here is the list of found behavior (D0 excluded because of the wake-up pin):
|
Not all GPIO behave the same during deep sleep. Some GPIO go HIGH, some LOW, some FOLLOW the relay but work only on FET transistors. As soon as current flows they go LOW. I use one GPIO to trigger a BC337 transistor to switch OFF all connected devices during deep sleep.
|
||||||
|
|
||||||
* D1: KEEP STATE, go LOW if resistance to ground < infinite
|
Findings:
|
||||||
* D2: KEEP STATE, go LOW if resistance to ground < infinite
|
|
||||||
* D3: HIGH
|
Pin|GPIO|Behavior
|
||||||
* D4: HIGH
|
-|:-:|-
|
||||||
* D5: HIGH, go LOW if resistance to ground < infinite
|
D0|16|Excluded due to use as wake-up pin
|
||||||
* D6: HIGH, go LOW if resistance to ground < infinite
|
D1|5|KEEP STATE, go LOW if resistance to ground < infinite
|
||||||
* D7: HIGH, go LOW if resistance to ground < infinite
|
D2|4|KEEP STATE, go LOW if resistance to ground < infinite
|
||||||
* D8: LOW
|
D3|0|HIGH
|
||||||
|
D4|2|HIGH
|
||||||
|
D5|14|HIGH, go LOW if resistance to ground < infinite
|
||||||
|
D6|12|HIGH, go LOW if resistance to ground < infinite
|
||||||
|
D7|13|HIGH, go LOW if resistance to ground < infinite
|
||||||
|
D8|15|LOW
|
||||||
|
|
||||||
## Log Output Explanation
|
## Log Output Explanation
|
||||||
_(logging level `5`)_
|
_(logging level `5`)_
|
||||||
|
|
||||||
`13:08:43 MQT: hm/status/sonoff/INFO3 = {"RestartReason":"Deep-Sleep Wake"}`
|
When MQTT connects at 13:08:38, this sets the system to READY.
|
||||||
When MQTT connects, this sets the system to READY. In this example, TELEPERIOD is 10. Therefore 10 seconds from now reporting will start.
|
```
|
||||||
|
13:08:43 MQT: tele/sonoff/INFO3 = {"RestartReason":"Deep-Sleep Wake"}
|
||||||
`13:08:44 APP: Boot Count 84`
|
13:08:44 APP: Boot Count 84
|
||||||
`13:08:44 CFG: Saved to flash at F4, Count 96, Bytes 3824`
|
13:08:44 CFG: Saved to flash at F4, Count 96, Bytes 3824
|
||||||
TELEPERIOD is reached. DATETIME is set. Go for reporting.
|
```
|
||||||
|
|
||||||
|
In this example, TELEPERIOD is 10. Therefore when TELEPERIOD is reached, telemetry reporting occurs.
|
||||||
```
|
```
|
||||||
13:08:48 MQT: tele/sonoff/STATE = {"Time":"2019-09-04T13:08:48","Epoch":1567595328,"Uptime":"0T00:00:14","UptimeSec":14,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":20,"MqttCount":1,"Wifi":{"AP":1,"SSId":"MyWLAN","BSSId":"AA:FF:AA:AA:AA:AA","Channel":11,"RSSI":100,"LinkCount":1,"Downtime":"0T00:00:08","DeepSleep":300,"Heap":25160}}
|
13:08:48 MQT: tele/sonoff/STATE = {"Time":"2019-09-04T13:08:48","Epoch":1567595328,"Uptime":"0T00:00:14","UptimeSec":14,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":20,"MqttCount":1,"Wifi":{"AP":1,"SSId":"MyWLAN","BSSId":"AA:FF:AA:AA:AA:AA","Channel":11,"RSSI":100,"LinkCount":1,"Downtime":"0T00:00:08","DeepSleep":300,"Heap":25160}}
|
||||||
13:08:48 MQT: tele/sonoff/SENSOR = {"Time":"2019-09-04T13:08:48","Epoch":1567595328,"ANALOG":{"A0":8}}
|
13:08:48 MQT: tele/sonoff/SENSOR = {"Time":"2019-09-04T13:08:48","Epoch":1567595328,"ANALOG":{"A0":8}}
|
||||||
```
|
```
|
||||||
|
|
||||||
Status and telemetry sent. Now start shutdown procedure.
|
DATETIME is set. Status and telemetry sent. Now start shutdown procedure.
|
||||||
|
|
||||||
First, send MQTT offline.
|
First, send MQTT offline.
|
||||||
`13:08:48 MQT: state/sonoff/LWT = Offline`
|
`13:08:48 MQT: state/sonoff/LWT = Offline`
|
||||||
|
|
Loading…
Reference in New Issue