* 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
* Remove recursion into folders on Manage Files. May be enabled with UFILESYS_RECURSEFOLDERS_GUI. On Edit of a file, Save and Magane btuttons return to the folder containgint the file being edited. On delete file, UI returns to the folder that the deleted file was in.
* Make newfile put in in the current folder, and return to current folder on save of manage button.
* Add folderOnly and FileOnly functions to reduce code duplication.
Enable folder delete.
Enable folder listing to be aborted (x in browser)
Disbale ESP32 Download Task. Needs attention.
Allow folder create from newfile name.
This change will allow mqtt messages simpler by allowing something like
`publish cmnd/ir-bridge/IRHVAC {"Power": "On"}`.
The simpler format is required for working with mqtt clients like
iotMQTTPanel or similar on android.
Limitations:
- Requires full message be sent at-least once. I work around this with
a `system#boot` rule
- Gets messy with multiple devices. I have only one AC per room, and
this doesn't doesn't interfere with other IR devices.
TODO:
- [ ] Change the build flag `INCREMENTAL_IRAC`to a `SetOption`
- [ ] Persist `irac_prev_state` across reboots.
- [ ] Support multiple devices.
This reduces allocation to a single allocaiton, but also theroetically allows the Bytes object to grow if content-length was unset.
(cherry picked from commit 936477f5977dd1a4f899498cc7cc0baf05b34a89)
* remove unused variable
* Relocate SO92 implementation
This way, SO92 does not ignore SO106
* Relocate RGBWWTable implementation
This fixes a bug related to RGBWWTable and SO92.
Also, the code is tidier this way
* Cleanup: Reduce code duplication
* more consistent behaviour for SO92 and free_cw
---------
Co-authored-by: jonschz <jonschz@users.noreply.github.com>