mirror of https://github.com/arendst/Tasmota.git
Add delayed SetPowerOnState
Add delayed SetPowerOnState to Sonoff SPM (#13447)
This commit is contained in:
parent
845972cf49
commit
f8254901d0
|
@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file.
|
||||||
- Support for Sonoff MS01 soil moisture sensor (#15335)
|
- Support for Sonoff MS01 soil moisture sensor (#15335)
|
||||||
- Support for daisy chaining MAX7219 displays (#15345)
|
- Support for daisy chaining MAX7219 displays (#15345)
|
||||||
- Command ``EnergyExportActive<phase>`` to (p)reset energy export active for supported devices. Currently ADE7880 only (#13515)
|
- Command ``EnergyExportActive<phase>`` to (p)reset energy export active for supported devices. Currently ADE7880 only (#13515)
|
||||||
|
- Sonoff SPM delayed SetPowerOnState (#13447)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo
|
||||||
- Command ``EnergyExportActive<phase>`` to (p)reset energy export active for supported devices. Currently ADE7880 only [#13515](https://github.com/arendst/Tasmota/issues/13515)
|
- Command ``EnergyExportActive<phase>`` to (p)reset energy export active for supported devices. Currently ADE7880 only [#13515](https://github.com/arendst/Tasmota/issues/13515)
|
||||||
- Support for Sonoff MS01 soil moisture sensor [#15335](https://github.com/arendst/Tasmota/issues/15335)
|
- Support for Sonoff MS01 soil moisture sensor [#15335](https://github.com/arendst/Tasmota/issues/15335)
|
||||||
- Support for daisy chaining MAX7219 displays [#15345](https://github.com/arendst/Tasmota/issues/15345)
|
- Support for daisy chaining MAX7219 displays [#15345](https://github.com/arendst/Tasmota/issues/15345)
|
||||||
|
- Sonoff SPM delayed SetPowerOnState [#13447](https://github.com/arendst/Tasmota/issues/13447)
|
||||||
|
|
||||||
### Breaking Changed
|
### Breaking Changed
|
||||||
|
|
||||||
|
|
|
@ -251,6 +251,7 @@ typedef struct {
|
||||||
|
|
||||||
uint32_t timeout;
|
uint32_t timeout;
|
||||||
power_t old_power;
|
power_t old_power;
|
||||||
|
power_t power_on_state;
|
||||||
uint16_t last_totals;
|
uint16_t last_totals;
|
||||||
uint16_t serial_in_byte_counter;
|
uint16_t serial_in_byte_counter;
|
||||||
uint16_t expected_bytes;
|
uint16_t expected_bytes;
|
||||||
|
@ -1097,6 +1098,14 @@ void SSPMHandleReceivedData(void) {
|
||||||
} else {
|
} else {
|
||||||
AddLog(LOG_LEVEL_DEBUG, PSTR("SPM: Relay scan done"));
|
AddLog(LOG_LEVEL_DEBUG, PSTR("SPM: Relay scan done"));
|
||||||
|
|
||||||
|
#ifndef SSPM_SIMULATE
|
||||||
|
if (Sspm->power_on_state) {
|
||||||
|
TasmotaGlobal.power = Sspm->power_on_state;
|
||||||
|
Sspm->power_on_state = 0;
|
||||||
|
SetPowerOnState();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
Sspm->mstate = SPM_SCAN_COMPLETE;
|
Sspm->mstate = SPM_SCAN_COMPLETE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1704,6 +1713,7 @@ void SSPMInit(void) {
|
||||||
Sspm->history_relay = 255; // Disable display energy history
|
Sspm->history_relay = 255; // Disable display energy history
|
||||||
Sspm->log_relay = 255; // Disable display logging
|
Sspm->log_relay = 255; // Disable display logging
|
||||||
Sspm->old_power = TasmotaGlobal.power;
|
Sspm->old_power = TasmotaGlobal.power;
|
||||||
|
Sspm->power_on_state = TasmotaGlobal.power;
|
||||||
Sspm->mstate = SPM_WAIT; // Start init sequence
|
Sspm->mstate = SPM_WAIT; // Start init sequence
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue