Commit Graph
81 Commits
Author SHA1 Message Date
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
JonandJonathan Michael Wells 4f1b49d135 Standardize MQTTDiscovery Temp Keys [deprecate tem key] (#703)
* 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>
2020-07-24 10:10:44 -05:00
Florian a3ab39b04e Initial support of INKBIRD IBS-TH1 (#644) 2020-07-02 19:03:20 -05:00
Florian 7482b34fa2 BLE gateway HM10 Correct token offset for service data 2020-06-21 14:39:17 -05:00
Florian 022643381f BT Low power: remove duplicate wifi stop 2020-06-19 16:17:04 -05:00
Florian 9bba730e84 Add a lock mechanism to improve the OTA chances of success with ESP32 and BLE (#634)
* 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
2020-06-19 12:44:53 -05:00
Florian 1e10783a28 [DISCOVERY] replace unit of measurement lu by lx (#628)
#603
2020-06-10 20:16:46 -05:00