* Initial generalization from a PWM LED controller, to a PWM controller.
Allow the config file to set the name of each channel and the number of channels.
Fade time is now per-channel, so MQTT messages can genuinely set an individual channel, and specify the fade time for that channel.
The default gamma is configurable in the config.
-replace low power led by led info
-enable to change the led ON value
-go upper case for the led macros
Also transform BLE connect warning to notice in log
Add Sonoff RF Bridge LED
* Add LYWSD03MMC and MHO-C401 device
and an associated BLE connect mechanism as these devices advertise only encrypted data
-free manufacturer data
-update library
* Implement scans number before connect
-Add the possibility to do a connect every X scan
-Rename variables for consistency
-Some refactoring for improved code reading
* added support for secure TLS connections
on ESP32 and ESP8266 close#101
* added TLS test builds
* added documentation for TLS
fixed some some issues in the documentation
* added documentation for error code=54
* Detect when sensor isn't available or read fails
* Add temperature conversion macros
* Add 'tempc' & 'tempf' keys to published values
* Unique Values for HA Discovery
* Remove degree symbol from temp sensors
Co-authored-by: Jonathan Michael Wells <jonathan-wells@oist.jp>
* handle 64 bits values, except for UNO
Arduino UNO is not enough powerfull to handle properly uint64_t in terms of memory so differenciate the variable type depending on the board type
With this configuration ATMega will not be able to receive with simpleReceiving 64 bits values. Of course Json will work with 64 bits values for this board.
* Simplify jsondata.success() condition
* Renamings and optimize deduplication functions
* replace 2 dimensions array by a structure so as to handle the time with an uint32_t when using an ESP (instead of a uint64_t)
* change storeValue and isAduplicate function names
* point to the rcswitch revision with the new 40 bits protocol
Co-authored-by: Leon Kiefer <leon.k97@gmx.de>
* Add a lock mechanism to improve the OTA chances of success
change TimeBeforeMQTTconnect to InitialMQTTConnectionTimeout
move delay(BLEinterval); after the scan so the first scan will always be done at start now
remove non relevant delay
add stopProcessing and startProcessing functions
* Automatically set mqtt buffer size
Current versions of pubsubclient allows the buffer size to be set
dynamically: https://github.com/knolleary/pubsubclient/pull/282
We can take advantage of this to avoid having to modify one of the
dependencies and instead automatically up the buffer size when a
powerful board is detected.
* Refactor BLE gateways:
-merge HM10 and ESP32 code
-publish sensor values with the other BLE device parameters to avoid MQTT multiple publication
-make uniform the case of mac adress id between HM10 and ESP32
-add the possibility to remove service data publishing either when sensors is recognised or not
-correct manufacturing data display
-merge process cleargrass methods
-check service data validity before processing
* Replace fixed allocation of json buffer
by a dynamic one, and simplify trace function of json objects
* differentiate the change depending on board memory size
to make it works with UNO
Rename set commands to config
correct json buffer size and gateway name
replace state to cmd
replace set by config
add restart and erase command
add unicity to gateway command switches
BLE devices shouldn't be child of the gateway
make the BTtoMQTT topic consistent with other definitions