Commit Graph
544 Commits
Author SHA1 Message Date
h2zero 76f880dc15 Add support for Mokosmart beacons. (#1003) 2021-06-30 22:16:29 -05:00
h2zero 02c371b0f5 Use native FreeRTOS semaphore functions. (#998) 2021-06-28 15:20:58 -05:00
Chris van Marle d2ff32d56f Allow inversion of input GPIO (#997)
* Allow inversion of input GPIO

* Fix formatting
2021-06-26 09:31:05 -05:00
Florian 90f42990df Add miflora battery (#992) 2021-06-24 20:11:50 -05:00
h2zero 2708858754 Add switching between MQTT brokers with self signed client certificates. (#993) 2021-06-24 19:46:58 -05:00
Chris van Marle f1351ec439 Use correct SDA+SCL pins (#996)
ESP8266 uses D1 (5) and D2 (4), ESP32 uses 21 and 22. Both provide defines for SDA and SCL pin numbers though
2021-06-24 19:13:16 -05:00
h2zero 7cfbd3d050 Ble read/write characteristics over MQTT. (#988)
* EXPERIMENTAL: Ble read/write characteristics over MQTT.

Uses #979

This allows reading and writing BLE characteristics from an MQTT message.

Example format:
mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoBT/config -m '{"ble_write_address":"AA:BB:CC:DD:EE:FF", "ble_write_service":"cba20d00-224d-11e6-9fb8-0002a5d5c51b", "ble_write_char":"cba20002-224d-11e6-9fb8-0002a5d5c51b", "ble_write_value":"TEST", "ttl":4 }'
mosquitto_pub -t home/OpenMQTTGateway/commands/MQTTtoBT/config -m '{"ble_read_address":"30:AE:A4:7C:3C:A6", "ble_read_service":"cba20d00-224d-11e6-9fb8-0002a5d5c51b", "ble_read_char":"cba20002-224d-11e6-9fb8-0002a5d5c51b", "ttl": 2 }'
The ttl parameter is the number of calls to connect (defaults to 1), which occur after the BLE scan completes.

A response is provided over MQTT in the format:
write : {"id":"30:AE:A4:7C:3C:A6","service":"cba20d00-224d-11e6-9fb8-0002a5d5c51b","characteristic":"cba20002-224d-11e6-9fb8-0002a5d5c51b","write":"TEST","success":true}
read : {"id":"30:AE:A4:7C:3C:A6","service":"cba20d00-224d-11e6-9fb8-0002a5d5c51b","characteristic":"cba20002-224d-11e6-9fb8-0002a5d5c51b","read":"TEST","success":true}

* Add generic BLE connect class and read data as hex.

* Add value_type parameter and document usage

* Add note to docs
2021-06-21 20:27:06 -05:00
Northern ManandNorthern Man ac23235327 DT24 - Update messages to support temp (#991)
With the additional functionality added by @h2zero I’m able to extract
the temperate data from the 2nd part of the bluetooth message.

Co-authored-by: Northern Man <sgracey@Heisenberg.local>
2021-06-18 21:20:07 -05:00
h2zero 792807e6e5 Create BLE connect class and add derivatives (#979) 2021-06-17 16:52:03 -05:00
Northern ManandNorthern Man 09596697b9 Adjustment of DT24 Bluetooth voltmeter MQTT Discovery message (#983)
Updating of DT24 messages to align with MQTT Discovery messages.

Co-authored-by: Northern Man <sgracey@Heisenberg.local>
2021-06-11 22:46:22 -04:00
h2zero 4467ef9a17 Fix missing gateway name in discovery. (#982) 2021-06-11 15:32:23 -05:00
h2zero 2ece72dd68 Fix null client when using MDNS. (#981) 2021-06-10 17:07:50 -05:00
Florian 2737a4cbf7 Add Eddystone TLM BLE protocol (#972)
supporting battery, temperature, count and time from start in s
2021-06-08 17:53:58 -05:00
Northern ManandNorthern Man 6bb65ca12a DT24 bluetooth Voltmeter (#975)
* DT24 bluetooth Voltmeter

* Initial checkin of Home Assistant Discovery

Co-authored-by: Northern Man <sgracey@Heisenberg.local>
2021-06-08 16:50:39 -05:00
h2zero cd9ed21f9d Replace github OTA update over MQTT with settings in user_config. (#976) 2021-06-05 17:01:11 -05:00
h2zero b8b99c6d5d Add Wifi and mqtt broker configuration over MQTT commands (#971)
- Adds MQTT command to change the WiFi access point.
- Adds MQTT command to change the MQTT broker and update username and password.

This will test the connection changes first and, if unsuccessful, fallback to the current connection.
If successful the new configuration will be saved in non-volatile memory.
2021-06-05 16:52:30 -05:00
h2zero 31efcb32ee Remove Secure Connection macro and add the config to wifimanager. (#961)
This adds the ability to specify if the MQTT broker connection is secure via a checkbox on the config page of WiFiManager.
Also added to the WiFiManager config page is a text box to enter the brokers TLS certificate.

In the case of using manual configuration a new macro is created MQTT_SECURE_DEFAULT.
When defined as true a secure connection will be requested and the certificate defined in user_config.h will be used.
2021-06-02 21:10:38 -06:00
spacemanspiff2007 cd09476807 Fix BME280 (#962)
Fix log output, since %H never prints anything
2021-05-30 11:34:15 -05:00
Northern ManandNorthern Man 33fa1ca759 Minor RTL_433 Tuning (#960)
* Update to SmartRC-CC1101-Driver-Lib@^2.5.4 and removal of workaround from #847

Tks to @LSatan workaround no longer needed
https://github.com/LSatan/SmartRC-CC1101-Driver-Lib/issues/65

* Default to value as subject for rtl_433 and receiver switching

* Default to not publishing unparsed signals

* Fix for missing String for uint64_t

* Fix is only required when value a subject is defined and not PiLight

Co-authored-by: Northern Man <sgracey@Heisenberg.local>
2021-05-28 21:09:32 -05:00
Leon Kiefer 18c8524ae0 added somfy repeat option (#957)
update somfy dependency to fix bug with multiple somfy remotes
2021-05-24 15:09:18 -05:00
Leon Kiefer 3a2e88e089 fixed WiFiMulti if secure connection is enabled #934 2021-05-24 14:29:40 +02:00
h2zero 295d39bc27 Trigger firmware update via MQTT (ESP Only). (#953)
If enabled in user_config.h this will trigger the OMG to update it's firmware from the link
provided in the MQTT message.

Example message:
{\"version\":\"test\",\"password\":\"OMGPASSWORD\",\"url\":\"https://github.com/1technophile/OpenMQTTGateway/releases/download/v0.9.6/esp32dev-ble-cont-firmware.bin\"}

If the firmware version in the message is not the same as the current OMG version the device will self update using the link in the url of the message.
2021-05-23 16:38:52 -05:00
Florian 8ef3a61e75 Add INKBIRD IBBQ IBT-4XS (#955)
* Add INKBIRD IBBQ IBT-4XS

BBQ temperature sensor with 4 probes
2021-05-23 14:45:57 -05:00
Florian fb7ad1b2ca Add Inkbird IBS-TH2 (#954)
Temperature sensor for freezer, fridge
2021-05-23 10:14:02 -05:00
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
Northern ManandNorthern Man f69906861d Active Receiver Switching (#936)
* PR #934

* Active Receiver Switching

Switching of the active receiver module is available between the RF,
RF2, RTL_433 and Pilight Gateway modules, allowing for changing of
signal decoders without redploying the openMQTTGateway package.
Sending a JSON message to the command topic of the desired receiver
will change the active receiver module.

Other minor adjustments/improvements

1 - Improved startup serial logging that includes
- OpenMQTTGateway Version
- OpenMQTTGateway Modules

2 - Trace logging of full Gateway module command topic
 - Enabled in RF, RF2, PiLight and RTL_433

3 - Updated RTL_433 Documentation to only include enabled ASK/OOK
device decoders

4 - Trace logging of MQTT Callback topic

* Regression testing

* Adding valueAsASubject support to rtl_433_ESP
- model and id keys are appended to message topic

* Increased memory size for receiver switching in blocking build all

Co-authored-by: Northern Man <sgracey@Heisenberg.local>
2021-05-10 19:36:25 -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
melyux 1de93d3f1d Enable the BME280 options to be settable using PlatformIO build flags, add and organize documentation (#942)
* Allow BME280 options to be build flaggable

* Update and clarify documentation for configurations and builds
2021-05-07 05:50:55 -05:00
Northern ManandNorthern Man 2744510822 Usability Improvements for esp32 platform (#934)
* Increased ESP32 base capabilities

1 - Expose SERIAL_BAUD as an optional compiler directive.
2 - Enabled mDNS based MQTT Host name lookup for ESP32 devices.
3 - Expand capability of ESPWifiManualSetup mode for multiple SSID’s.
Tested with ESP32

* Regression testing of ESP8266 and ESP32

* Removal of Wifi Debuging

* Fix lint issue

Co-authored-by: Northern Man <sgracey@Heisenberg.local>
2021-04-28 20:16:12 -05:00
Florian 4d49f5b08e Correct build error if discovery deactivated (#930)
#920
2021-04-23 21:28:33 -05:00
Martin KorbelandMartin Korbel 23cd2a3104 GridFree SUN-2000G (#926)
* Support for GridFree Sun-2000G inverter

* Bump version of GFSunInverter

Co-authored-by: Martin Korbel <korbel@blackserver.cz>
2021-04-23 20:40:09 -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
Northern ManandNorthern Man 55dd571c49 Clean up of redundant compiler definitions (#913)
CC1101_FREQUENCY
ONBOARD_LED
RF_RECEIVER_GPIO

Co-authored-by: Northern Man <sgracey@Heisenberg.local>
2021-04-01 17:16:14 -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 863a56b389 Change ESP8266 Json Buffer Size (#903)
768 causes core dump so go back to 512
2021-03-22 19:05:41 -05:00
Florian d0489d1a85 Correct uptime display on trace (#904)
and set unit to s
2021-03-22 19:05:14 -05:00
Florian 221afa98b0 Change uptime calculation method (#901)
and revert #897
2021-03-18 15:07:59 -05:00
Florian ad72211d71 Add CGH1 Qingping Cleargrass window and door sensor (#899) 2021-03-16 19:24:35 -05:00
Florian 46e1ee422a Increase json buffer (#898)
discovery msg and systomqtt require now a bigger buffer
2021-03-16 17:41:50 -05:00
Florian 0e8b619bb9 [BREAKING] Change uptime unit from seconds to minutes (#897)
* Change uptime from s to min

to prevent going to the max of unsigned long
2021-03-14 19:31:53 -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
Florian e2feb0bc24 Wifi reconnection improvements (#894)
Deep sleep should be activated only when failing connect on low power mode.
Correct reconnection on esp8266. Unfortunately WiFi.reconnect(); prevent the esp8266 from reconnecting, so we reduce its scope to ESP32
2021-03-12 14:54:41 -06:00
Florian c3cdd8f04c Remove wifi protocol auto change (#882)
#575
so as to see if in conjunction with the platform update we get a better stability of wifi
2021-03-11 15:55:21 -06:00
Florian ac9e8347ed irremote esp8266 bump to 2.7.15 (#892)
* irremote esp8266 bump to 2.7.15

* lint format
2021-03-11 15:53:28 -06:00