* 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
* [breaking] Refactor the BLE devices identification
generalize the use of the mac address with : for the lists, white, black and internal identification
Move structures from config_BT.h to ZgatewayBT.ino
update doc
* Move minRssi to INO and optimizations
change Minrssi name to match other variable convention
Optimize the add of : to mac address
Reduce the use of abs()
Note: I cannot move BLEinterval to the ZgatewayBT.ino due to its use on main.ino
* 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 datastring with hex string handling, enable the direct use of an MQTT received hex signal w/o syntax change
correct a bug on protocol identification when the protocol is a derivative of another one and share a common name piece