Add device tracker detection and automatic creation following HA discovery convention
So as to trigger the away state, add an offline status to the identified BLE trackers
Add optional timestamps to the SYStoMQTT and modules messages
Also, the sync with the NTP time server now occurs every hour (can be defined with TimeBetweenCheckingSYS in UserConfig.h)
to filter advertisement coming from iBeacon packets that contains volt
as the voltage is not properly advertised throught the iBeacon packet and render a wrong voltage
* partial MAC in title
• Last three octets of MAC address in title to differentiate devices with the same model name.
• fixed memory leak
• process optimisation
* lcd to oled
lcd to oled renaming
* [BT] Add BM2 voltage
Voltage retrieval through a BLE connection, frequency of the BLE connection is defined by `intervalcnct`
* Add doc
Credits to https://github.com/KrystianD/bm2-battery-monitor
* BLE Display - THB, THBX, PLANT, AIR, BATT, BODY
* SCALE
* BBQ
* Filter MS-CDP, GAEN and IBEACON
* Mopeka & Smart Dry
* ACEL
ACEL sensor, as most also have temp and hum, but no acceleration info display included so far.
* Only display when properties are present
Only display when properties are present, to avoid model only display for devices which require active scanning at a larger interval, e.g. Mi Band and similar.
* LilyGo-BLE environment
* BLE display relocated
BLE display relocated to have pubadvdata "type" in message, required for the different type display functions.
To enable boards with the constant power supply to don't build this function.
Change the default behavior for the mode not to be built by default.
Only the boards with batteries are keeping it
Set `interval` and `intervalacts` to the minimum when adaptive scanning is deactivated. When the user encounters a situation on which a device is not detected due to adaptive scanning, we set the gateway to continuous active to maximize the chance to detect the device.
By not deinitializing BLE at the start, if it has not been initialized. Setting the time between waking up from the macro rather than the config interval.
This one does not have a value at the start.
* [BT] Adaptive scan
Add adaptive scan to avoid users setting parameters and deduct automatically the scan requirements from the list of devices
---------
Co-authored-by: DigiH <github@digih.net>
Publish BT config parameter at start so as to update the switch statuses in the controller
Also publish regularly in case of controller restart
Also move btqsum, btqsnd and btqavg to BTtoMQTT topic instead of SYStoMQTT as they are more relevant here
With only one control that enables the publication of all the advertisement data, default: false
Note that if the sensor is not recognized, we will no longer publish its advertisement data unless the control is true. This is for the sake of traffic reduction.
This also changes the topic structure when using the macro valueAsATopic=true, it adds as sub-topics the `type, subtype, and channel` when they exist.
The id is the last subtopic to facilitate filtering, as it may change when replacing the batteries.
Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
The current way of saving settings is through the retain flag of the MQTT commands, unfortunately if several commands are issues they may overwrite each other. So as to prevent it, we now leverage the memory saving introduced earlier to store the BLE settings.
Also leverage the config status publication to show the state through the button position (optimistic false)
This commit add the capability to set passive scanning during runtime, versus buildtime before, so as to improve energy consumption of sensors when they don't require active scanning
So as to avoid to have a growing memory consumption, indeed each time these devices change their MAC it will create a new entry into the list. This increase continuously the memory consumption of the list. And as these devices can't be discovered and doesn't have interest to be white or black listed we don't store them