* Refactored Wifi for ESP32 to allow for Core3
* Fix case in include
* Grrr
* Fix compilation
* Fix Ethernet IPv6
* Fix wrong hostname due to mac address unknown at start
The driver tried to avoid loops when state updates from the MCU (eg
from physical button press) could be reflected back by Tasmota and
trigger another MCU command, followed by a state update. It did this
by tracking the source of the command in the last_source and
last_command_source variables, suppressing the command if either of
those was SRC_SWITCH.
However this logic is faulty: Since there are two last_source
variables to check, a command might reset one of them, but the other
would still suppress the update. As it turns out, MQTT commands would
only set last_source but not last_command_source. As a result, any
dimmer changes via MQTT would be dropped by the driver and not applied
to the MCU.
Switch functionality (on/off) was still working because those do not
rely on last_command_source, only last_source.
This change removes the loop detection logic altogether for dimmer
updates. This should be safe, because the driver already has the
latest dimmer value in its shadow state, and will not try to re-apply
a current value, thus breaking the loop.
This patch has been tested with several CE-WF500D dimmers which had
this problem.
* New LWT on deepsleep
To allow better integration into HA LWT topic will report details of sleep status:
16:54:04.388 MQT: hm/tele/ESP_3284D1/LWT =
{"Sleep":{"Time":"2023-07-17T16:55:03","Sleep":1689612844,"Wakeup":1689612903}}
* Revert LWT back to non JSON
Send DeelSleep on LWT
Send Deepsleep parameters on topic DeepSleep
* Setting default for batteryLevel
* Enable BatteryPercentSet
Changing the battery level e.g. by rule
* Added Battery % to status message
* added battery_level_percent
* Added battery % support in STATE message
* Enable setting battery level
101 is reserved for power-plug. No battery Level reported
* Setting default for battery Level
101 is reserved for power plug
0..100 normal battery values
* Revert back LWT to Offline
Removed "DeepSleep" LWT status until further decision is made. Current implementation is technical sufficient for HA to detect a battery powered device
* Added discovery message after deepsleep change
* Added discovery for battery and deepsleep