* 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
-avoid issues with WIFI automatic reconnection on ESP32
-avoid reset of ESP32 when wifi is disconnected
-enable to erase the wifi/mqtt settings if; the mqtt broker wasn't connected once or if the TRIGGER_PIN is pushed for a long time >10s