Commit Graph
87 Commits
Author SHA1 Message Date
h2zero 4706d75adc Remove unsubscribe and disconnect calls in BLEconnect. (#948)
These calls were unecessary as the client object swill be deleted when finished with the connection.
2021-05-16 21:07:21 -05:00
h2zero c82f6cadb6 Remove reinitializing the BLE stack on each scan. (#949)
Using NimBLE requires less resources than bluedroid so it is much less beneficial to
deinitialize the stack. Instead this initializes it once in initial setup and only deinitializes
before entering deep sleep.
2021-05-16 20:12:04 -05:00
h2zero e3731bdccf Cleanup compiler warnings in strict environment. (#945) 2021-05-16 19:47:50 -05:00
Florian 9fb3d90da9 Add BLE WS02 SensorBlue beacon (#932)
https://github.com/h2zero/NimBLE-Arduino/issues/215
2021-05-08 17:59:32 -05:00
Florian 4d49f5b08e Correct build error if discovery deactivated (#930)
#920
2021-04-23 21:28:33 -05:00
Florian e1aef48296 [Breaking] Deactivate Home Assistant presence per default (#915)
And enable to activate it by MQTT
2021-04-04 19:34:36 -05:00
Florian 6c8ba53276 Add BLE setScanDuplicateCacheSize (#911)
#906
2021-04-03 07:44:28 -05:00
Florian f01b7184a0 Resolve issue with wifi reconnection on M5Stack boards (#907)
And update libraries
2021-03-27 09:26:15 -05:00
Florian cd55f0dfd5 Add CGPR1 Qingping PIR and luminance sensor (#905) 2021-03-25 19:40:35 -05:00
Florian b9151bb6ac BLE low power mode and settings optimization (#902)
* BLE low power mode and settings optimization
-low power mode settings example
-take into account parameters following #891
-add esp32dev-ble-cont for door/window sensor listening

* Disable WDT during scan

* update esp32 arduino framework
2021-03-25 18:53:47 -05:00
Florian ad72211d71 Add CGH1 Qingping Cleargrass window and door sensor (#899) 2021-03-16 19:24:35 -05:00
Florian 625f7f358b Publish SYStoMQTT scan count (#896) 2021-03-14 15:05:09 -05:00
Florian 8afb1c5223 Enable deactivation of BLE connect (#895)
Useful if you want to scan continuously for BLE device, in this case you should deactivate the BLE connect to avoid concurrency between scan and connect
2021-03-14 12:53:26 -05:00
Csiki bcd45d68f4 Minor BT refactor (service_len) (#890) 2021-03-10 17:48:08 -06:00
Csiki fd0518ae46 Support pvvx firmware custom type messages from LYWSD03MMC (#889) 2021-03-10 15:09:06 -06:00
Florian 48791b2c88 Correct parameters count on discovery (#887) 2021-03-08 18:03:03 -06:00
Florian 244dc903b0 Add CGDK2 BLE temperature and humidity BLE sensor (#884)
* Add CGDK2 BLE temperature and humidity BLE sensor

and remove batt from CGD1 (this sensor does not advertise battery value)
2021-03-04 19:26:50 -06:00
Florian a6fb17595e [BREAKING] remove tem key (#883)
* [BREAKING] remove tem key

we rely now on tempc and tempf only
2021-03-03 18:38:37 -06:00
Csiki ebd6bb8031 Bt discovery fix (#880)
* launchDiscovery fix for esp32 (sending the discovery mqtt messages on the main core)
2021-03-02 17:13:14 -06:00
Florian 28ff1a553a Correct build issue when discovery is disable (#877)
#875
2021-02-26 15:47:38 -06:00
Florian 452233258f Add check on stabilisation fo weight and LBS handling (#868) 2021-02-26 15:08:13 -06:00
Csiki 1b7f83c014 BT lockless queue (#867)
* Lockless json queue for ESP32 BT to avoid SYStoMQTT concurrency issue

* BT haRoomPresence handle with lockless queue
2021-02-26 14:30:55 -06:00
Florian 557cf340db Improve low power mode (#859)
-add switch on HASS
-avoid issue when using ESPWifiManualSetup
-Correct issue on gateway discovery on first connect
-stop processing during discovery
2021-02-05 15:19:43 -06:00
Florian 2d377a1c3f Auto discovery deactivation at runtime by MQTT command (#856)
and switch automatic creation for it in HASS (by autodiscovery :-)
2021-01-31 13:41:22 -06:00
Florian 717bdb1f06 Disconnect after a timeout (#842)
So as to save the devices battery
2021-01-30 15:32:53 -06:00
Nikolay Chapkin 3884630727 Fix ClearGlass CGG1 and CGP1W sensors recognition (#849)
* Fix ClearGlass CGG1 and CGP1W sensors recognition

* CGG1 parsing refactoring
2021-01-29 16:34:28 -06:00
Thibault Cohen 0c01ded583 HASS Discovery - Create BLE devices automatically to gather entities (#826)
Create automatically devices into Home Assistant through MQTT auto discovery

Before, only entities were created automaticaly and they were not linked to a device.
2020-12-22 06:31:13 -06:00
Florian e17b5b9c9d Add low power to M5StickC Plus (#830) 2020-12-06 16:59:36 -06:00
Florian 6ae09d8bb6 Add board M5Stickc Plus (#828) 2020-12-06 12:06:50 -06:00
Thibault Cohen 979211ab7e Add Qingping CGP1W support (#820) 2020-12-02 19:40:57 -06:00
Florian b2c05156b2 Srfb bugs (#807)
* Correct buffer processing

was missing an instruction due to a previous refactoring

* Correct duplicate condition

* Avoid publishing \n into the raw value

* Merge extract_char and value_from_service_data functions
2020-11-28 17:16:15 -06:00
adamrbell 5890bf7be6 Fix for CGD1 detection (#810)
Before the fix:
{"id":"58:2D:34:50:A0:D0","name":"Qingping Alarm Clock","rssi":-82,"distance":11.4949,"servicedata":"080cd0a050342d580104c0007c02"}
The servicedata string does not match any pattern so is not parsed

After the fix:
{"id":"58:2D:34:50:A0:D0","name":"Qingping Alarm Clock","rssi":-83,"distance":12.61001,"model":"CGD1","tem":19.2,"tempc":19.2,"tempf":66.56,"hum":63.5}
The parser is invoked and the data is output as expected.

There are probably too many brackets (I'm not a C dev) and I can't test on whatever version of CGD1 broadcasts 080caf or 080c09 servicedata strings.
2020-11-24 10:19:28 -06:00
Tiutiu Marius Cristianandmtiutiu a6e6d98262 [ESP32 OTA] Critical fix - Make sure that the BT coreTask gets suspended when not needed (#795)
* make sure that coreTask gets supended when not needed

Co-authored-by: mtiutiu <marius.tiutiu@softvision.com>
2020-11-06 14:02:05 -06:00
Florian 9a66c9ef09 HASS gateway Discovery improvements (#792)
* MQTT discovery improvements

-remove gatewayBT
-remove device class formaldehyde (not existing in HASS)
-add SYStoMQTT new parameters
-attach connectivity parameter to the device
-add BT gateway infos and switches
-refactor modules storage and publication
2020-11-04 11:53:55 -06:00
orrpan 03ab7f7d0e update temperature unit to work in HA (#768)
* update temperature unit to work in HA
* use only one temperature sensor for HA
2020-10-04 14:56:34 -05:00
Florian 55436c29fa [BT] Fix rssi value type
value can be be negative or positive from the user MQTT command
2020-09-17 13:45:25 -05:00
Michał Rybicki caad5dde1a Add iNode Energy Meter support (#755) 2020-09-03 16:09:34 -05:00
Florian 0600b89190 Add LYWSD03MMC from ATC (#754)
https://github.com/atc1441/ATC_MiThermometer

long instead of double
and cast when used
2020-09-03 06:18:11 -05:00
Florian 6d1d1ac50d [BT] Remove voltage class (#750)
and correct wrong comment
2020-09-02 14:49:38 -05:00
Florian 7b9944d1ca Refactor LED management (#745)
-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
2020-08-27 16:24:23 -05:00
Florian 5e2d86e963 Add publish only BLE sensors function (#741)
don't publish the non identified BLE devices when requested (at build or by MQTT setting)
2020-08-26 17:24:23 -05:00
Florian 9d22f242e8 [BLE] Callback leads to memory decrease correction (#740)
and library update
2020-08-22 20:45:39 -05:00
Florian d6d42bfce5 BLE sensors data through a connect, LYWSD03MMC and MHO-C401 add (#736)
* 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
2020-08-18 12:28:45 -05:00
Florian e9910a9165 Arduino NimBLE support (#732)
* NimBLE-arduino support

* Decorrelate discovery from BLEScan

To avoid Stack canary watchpoint triggered and store sensor model into BLEdevice vector
2020-08-17 09:51:58 -05:00
Jon 418c1d0c81 Minimize decompose, remove calls to extract_char, check data length before parsing (#724) 2020-08-15 08:12:27 -05:00
Florian da63fd3606 JQJCY01YM BLE formaldehyde, temperature, humidity and battery sensor integration (#722)
* Add JQJCY01YM Formaldcehyde detector

The device publish also the temperature, humidity and battery

* Reduce ServicedataMinLength

so as to read battery data of this device and others
2020-08-05 19:46:50 -05:00
Jon 0cd2464bf1 BT MAC addr ':' fix (#721) 2020-08-05 10:17:05 -05:00
Florian 8d79bebab8 [breaking] Refactor the BLE devices identification (#720)
* [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
2020-08-04 12:03:22 -05:00
Florian d4457f817a Enable BT use for Arduino Mega (#718)
* Enable BT use for Arduino boards

by adding a ArduinoSTL library

* Update doc
2020-08-04 11:40:16 -05:00
Florian 60d173ff51 Correct value entered into temperature conversion (#713)
from C to F
The division by 10 must be done before the conversion.
2020-07-27 07:57:55 -05:00