* merge duplicate code into function setWorBMac
* rename setWorBMac to updateWorB
* add helper getDeviceByMac
* change updateWorB to use helper getDeviceByMac
* change isWhite to use helper getDeviceByMac
* change isBlack to use helper getDeviceByMac
* change isDiscovered to use helper getDeviceByMac
* eliminate duplicate devices walk for isWhite, isBlack and isDiscovered check
* fix a data corruption race between MQTTtoBT and discovery-functions
the ***Discovery functions every time create a new device unless this device is set to white-list before. as a result of this, the devices list contains the same mac multiple times with different flags
* eliminate duplicate devices walk for oneWhite check
because now we have a utility function 'createOrUpdateDevice' we can globally cache this as a single flag
* secure createOrUpdateDevice agains data races on multicore esp32
* fix the concept of the createOrUpdateDevice
c / c++ does not allow NULL as function parameter like modern languages
* use nkolban Semaphore helper class (already included and used from eos1d3/ESP32_BLE librarie)
this makes the semaphore handling more cleaner and readable
* merge duplicate code during createDiscovery into new helper createDiscoveryFromList
* replace excessive use of ZmqttDiscovery precompiler directive in ble advertised callbacks with dummy functions
for a better readability we can remove this because isDiscovered does not do a devices walk anymore
* fix build errors found by travis-ci
reduce gateway name
reduce parameters size
correct issue when using advanced config network
comment simple receiving per default (it is set in platformio.ini when necessary)
* 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
change link to sources
add credits and some shape for readme
add cleargrass with air pressure and mi band
add PWA
add plugins
Add new boards
improve doc with boars and ble devices
Add both board to automatic build with:
BLE (both)
Trigger pin for parameters reset (both)
IR for m5stick
Button reading for m5stack
Add also Trigger pin for parameters reset on m5stick-c
* cleargrass temperature, humidity and air pressure sensor add
* new method of data retrieving for standard cleargrass (enable more frequent data reading)
* update irremoteesp8266
* add new protocols, simplify API and publish protocol name
-added the following protocols:
#define IR_LEGOPF
#define IR_MITSUBISHI_HEAVY_88
#define IR_MITSUBISHI_HEAVY_152
#define IR_DAIKIN216
#define IR_SHARP_AC
#define IR_GOODWEATHER
#define IR_INAX
#define IR_DAIKIN160
#define IR_NEOCLIMA
#define IR_DAIKIN176
#define IR_DAIKIN128
#define IR_AMCOR
#define IR_DAIKIN152
#define IR_MITSUBISHI136
#define IR_MITSUBISHI112
#define IR_HITACHI_AC424
-changed the send API, now you can use the protocol name directly exemple NEC instead of IR_NEC
-publish the protocol name to MQTT added to the number
-replace long by long long
* missing repeat definitions
and set default repeat value to 0
* move protocol name retrieving outside arduino scope
* put all protocols with capital letters
* modify doc
* add long long activation for arduino json on test_config file