Releases: 1technophile/OpenMQTTGateway
OpenMQTTGateway v0.9.8
A little release to bring some features and bug fixes. Among others, the support of Tire Pressure Monitoring System with ESP32 so that you can monitor your vehicle tires pressure, a bug fix regarding the RF gateway, and the possibility to set into the JSON OTA command the server binary certificate.
New devices:
New features:
- Add "server_cert" parameter to firmware_update command. thanks to @h2zero
- allow BLE WRITE procedures for WriteWithoutResponse characteristics thanks to @DigiH
- Advertise discovery of the battery sensor for MiFlora devices thanks to @Kernald
Under the hood:
- Enable transmit outside of CC1101 thanks to @1technophile
- Update ibeacon naming thanks to @1technophile
- Remove duplicate BLE service data sent over MQTT. thanks to @h2zero
- Bugfix: missing break in BLE connect switch. thanks to @h2zero
Docs:
OpenMQTTGateway v0.9.7
Release time!
This one brings a lot of features and improvements to BLE and TLS functions.
- The support of a generic BLE connection to devices, you can now trigger a READ/WRITE to a BLE device through your ESP32 with MQTT. The gateway will initiate a connection to the device and acts on the service and characteristic given. For a value reading or writing. This opens a lot of integration possibilities, among others the control of actuators, valves, light, relays...
It could also be a good way to test a value retrieval with a BLE connection before asking for a native integration into the gateway.
Example MQTT message 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",
"value_type":"STRING",
"ttl":4 }'
-
Efforts have been made around the security connection functions, the TLS connection can now be configured within the configuration web page by adding the server root certificate (copy&paste) and checking a box.
You can alternatively use self-signed certificates and even several sets of them, if you want to handle several MQTT servers. With this comes also the ability to change the MQTT server by MQTT, with automatic return to the previous configuration if not working. -
So as to make the update of the gateway you are now able to trigger it through MQTT, if the version is different than the current one and if the password is OK, the gateway will download and install the linked firmware.
mosquitto_pub -t "home/<gateway_name>/commands/firmware_update" -m
'{
"version": "test",
"password": "OTAPASSWORD",
"url": "https://github.com/1technophile/OpenMQTTGateway/releases/download/v0.9.6/esp32-m5stack-ble-firmware.bin"
}'
But that's not all, let's take a deeper look at all the new devices and features!
New devices:
- Add support for Ibeacon thanks to @h2zero
- Add support for Mokosmart H1, H2, H3, H4, H5 thanks to @h2zero
- Allow inversion of input GPIO thanks to @qistoph
- Add Miflora battery reading thanks to @1technophile
- DT24 - Update messages to support temp thanks to @NorthernMan54
- DT24 bluetooth Voltmeter thanks to @NorthernMan54
- Add eddystone tlm ble protocol thanks to @1technophile
- Add INKBIRD BBQ temperature sensor IBBQ IBT-4XS thanks to @1technophile
- Add INKBIRD IBS-TH2 thanks to @1technophile
- Add BLE WS02 SensorBlue beacon thanks to @1technophile
New features:
- Set OTA name as Gateway_Short_Name + MAC if using mac as gateway name thanks to @h2zero
- Add Wifi and mqtt broker configuration over MQTT commands. thanks to @h2zero
- Ble read/write characteristics over MQTT. thanks to @h2zero
- Add a macro to use the MAC address as the gateway name. thanks to @h2zero
- Add triggering of actuator on/off state by button press. thanks to @h2zero
- Implement error LED and status codes. thanks to @h2zero
- Add switching between MQTT brokers with self signed client certificates. thanks to @h2zero
- Make configuring WiFi and MQTT over MQTT optional thanks to @dkneisz
- Replace github OTA update over MQTT with settings in user_config. thanks to @h2zero
- Remove Secure Connection macro and add the config to wifimanager. thanks to @h2zero
- Added somfy repeat option thanks to @Legion2
- Trigger firmware update via MQTT. (ESP Only) thanks to @h2zero
- Update to latest version of RC-SWITCH thanks to @NorthernMan54
- Add val_tpl on HA discovery configuration - fix issue #939 thanks to @Odyno
- Active Receiver Switching thanks to @NorthernMan54
- GridFree SUN-2000G thanks to @BlackSmith
Under the hood:
- fix: add code for miscale_v2 lbs thanks to @rayslinky
- Minimize BLE resources. thanks to @h2zero
- Set WifiManager debug level. thanks to @h2zero
- Cleanup compiler warning. thanks to @h2zero
- Erase stored settings in NVS when triggered. thanks to @h2zero
- Bugfix: switching brokers with self signed certs. thanks to @h2zero
- Use native FreeRTOS semaphore functions. thanks to @h2zero
- Use correct SDA+SCL pins thanks to @qistoph
- Fix null client when using MDNS. thanks to @h2zero
- LYWSD03MMC relevant data from connection get replaced by broadcast data thanks to @fhb
- BLE connection handling update. thanks to @h2zero
- Fix BME280 thanks to @spacemanspiff2007
- Minor RTL_433 Tuning thanks to @NorthernMan54
- Fixed WiFiMulti when secure connection is enabled thanks to @Legion2
- Remove reinitializing the BLE stack on each scan. thanks to @h2zero
- Remove unsubscribe and disconnect calls in BLEconnect. thanks to @h2zero
- Cleanup compiler warnings in strict environment. thanks to @h2zero
- Enable the BME280 options to be settable using PlatformIO build flags, add and organize documentation thanks to @melyux
- Usability Improvements for esp32 platform thanks to @NorthernMan54
- Correct build error if discovery deactivated thanks to @1technophile
- Compilation error: 'CLEARGRASSCGH1Discovery' was not declared in this scope thanks to @combatistor
- Compiler warning when build with PIO, redefine of struct_size in main.ino thanks to @AlmightyFrog
Breaking:
- Per default remove MQTT discovery of RF switch with RF gateway thanks to @1technophile
- LED_SEND and LED_RECEIVE macro has been replaced by LED_SEND_RECEIVE
Docs:
- Adding node-red tutorial for BLE sensors thanks to @1technophile
- Fix a couple typos thanks to @gabe-sky
- Resolve incorrect wiring instructions thanks to @NorthernMan54
- Updating link to bootloader address thanks to @witnessmenow
- Typo fix thanks to @DigiH
Deprecate - functions that will be removed or modified on the next release:
-
The default gateway name for ESP will be generated automatically from the MAC address per default, OpenMQTTGateway in the AP name and the topic will be replaced:
AP Name: OMG_112233445566
Topic: home/112233445566/BTtoMQTT
Setting the Gateway_name will not be needed anymore unless you want to do it explicitely. -
SimplePublishing and simpleReceiving methods will be removed see why here
OpenMQTTGateway v0.9.7beta
release for testing only
OpenMQTTGateway v0.9.6
Big release time, I hope you enjoy it!
This one brings a lot of features and improvements.
- In particular the support of RTL_433 library to ESP32 thanks to @NorthernMan54. This is a huge addition to the community as this library enables to support a lot of new protocols. More than 75 433Mhz protocols supported with an ESP32 + a CC1101!
Here is an example with a weather station:
home/OpenMQTTGateway_RTL_433_ESP/RTL_433toMQTT
{"model":"WS2032","id":38553,"battery_ok":1,"temperature_C":22.3,"humidity":65,"wind_dir_deg":90.0,"wind_avg_km_h":0,"wind_max_km_h":0,"rain":256,"flags":0,"mic":"CRC","protocol":"WS2032 weather station","rssi":-52,"duration":511982}
-
Also, @csiki2 improved the BLE gateway by adding a queue mechanism, bringing more stability to the gateway, and improving the number of BLE packets transmitted. Thanks to this, the gateway can now be configured for the continuous scan (TimeBtwRead:0, Scan_duration:1000) and catch easily BLE PIR and door/window sensors events.
-
Regarding the BLE gateway, sensor devices are now created automatically in Home Assistant so as to gather their entities. You can add directly these devices from configuration->devices into your Lovelace UI. Thanks, @titilambert, and @francisp.
But that's not all, let's take a deeper look at all the new devices, boards, and features!
New devices:
- LYWSD03MMC with PVVX style messages compatibility thanks to @csiki2
- Add CGDK2 BLE temperature and humidity sensor
- Add CGP1W Qingping branded sensor thanks to @titilambert
- Add CGPR1 Qingping PIR and luminance sensor
- Add CGH1 Qingping door and window sensor
New boards:
- Heltec ESP32 Lora thanks to @hallard
- TTGO T-Beam and ADC value thanks to @hallard
- ESP32 Adafruit feather
- M5Stickc Plus
- ESP32 Lolin32 Lite board definition, our current low power champion!
New features:
- RTL433 support thanks to @NorthernMan54
- Bluetooth lockless queue thanks to @csiki2
- Publish scan count in SYStoMQTT
- Enable deactivation of BLE connect by MQTT
- Added Xiaomi Mi scale XMTZC04HM lbs unit and stabilization
- Increase time led ON
- Deactivation of auto-discovery by MQTT
- Support of changing the CC1101 frequency thanks to @NorthernMan54
- Add shtc3 thanks to @NullYing
- Sonoff RFBridge direct mode board definition thanks to @brahmafear
- Add low power to M5Stick C Plus
- HASS Discovery - Create BLE devices automatically to gather entities thanks to @titilambert
- HASS Discovery - Implement multi gateways discovery, created devices by autodiscovery are not anymore gateway dependent and can now retrieve data from all the gateways that are in range. The data will be transmitted to the same Home Assistant device.
- Added ZactuatorSomfy thanks to @Legion2
- Add support for Somfy RTS remote control enhancement thanks to @Legion2
- Set CC1101 Frequency via MQTT enhancement thanks to @Legion2
- Add ability to specify repeats for raw Pilight strings thanks to @melyux
- BLE Mi Scale - add check enhancement thanks to @michapr
- Xiaomi Mi Scale V2 BLE (XMTZC05HM) configuration thanks to @tiagofreire-pt
- HASS gateway Discovery improvements thanks to @1technophile
- Add rf2 autodiscovery thanks to @hbraam
- Static IP for Gateway with ESP thanks to @duemchen
- Basic RS232 Communication thanks to @DieKatzchen
- feat: add protocol into topic thanks to @hugokernel
- feat: add device_id as unique identifier thanks to @hugokernel
- Add ability to invert the PIR Notify LED thanks to @jmw6773
Under the hood:
- Improve wifi reconnections
- Improve RCSwitch stability
- Update IRremote ESP8266
- Minor BT refactoring thanks to @csiki2
- BT discovery fix thanks to @csiki2
- Remove wifi protocol auto change, this was causing issues on some Fritzbox routers
- Platforms update
- Increase Json buffer size for ESP board
- Correct advanced network parameter on ESP
- Correct build issue when discovery is disabled
- Correct RF2 gateway auto discovery thanks to @qistoph
- Update CC1101 lib thanks to @NorthernMan54
- Fix CGG1 and CGP1W recognition thanks to @Nikolay-Ch
- BLE disconnect after a timeout
- IR correct sendIdentifierprotocol thanks to @chesterbr
- NPM docs setup thanks to @Legion2
- Improve OTA update of RF Bridge
- ifndef condition for time_avoid_duplicate thanks to @jumika
- Fix/update to Qingping Cleargrass CGD1 detection thanks to @adamrbell
- Separate "Name of Gateway" and "target MQTT-topic base" settings for multiple BLE-Gateway in one building and network enhancement thanks to @Nikolay-Ch
- Srfb bugs correction
- BLE connection will not be closed thanks to @michapr
- ESP32 OTA Critical fix - Make sure that the BT coreTask gets suspended when not needed thanks to @mtiutiu
- mqtt_user is missing or not saved into the config enhancement thanks to @gborus
- Update espilight library version
- Pilight identifier thanks to @hugokernel
- Dont make HADiscovery switch if RF is receive only thanks to @jmw6773
- The reset button function does not work if TRIGGER_GPIO = 0 thanks to @NorthernMan54
- update temperature unit to work in HA thanks to @orrpan
Docs:
- Added room presence example
- Readme update thanks to @anarchking
- 433 value in topic
- Add Home Assistant user creation note
- Integration switch
Breaking:
- Deactivate HASS room presence by default, it can be activated by MQTT now or by the HASS auto-discovered interface
- Remove 'tem' key, this json key is replaced by 'tempc' and 'tempf'
- Improve low power mode the key is now 'lowpowermode' instead of 'low_power_mode' to make it consistent with SYStoMQTT
- Publish RF2 state to the same channel as received signals thanks to @qistoph
- Add M5 SYS parameters to auto discovery
Deprecate - items that will be removed on the next release:
- SimplePublishing and simpleReceiving methods will be removed see why here
OpenMQTTGateway v0.9.6-beta
beta version for testing purposes
OpenMQTTGateway v0.9.5
Plenty of new stuff for this v0.9.5, I hope you will enjoy it,
A big thank you to @jmw6773 & @Legion2 for their numerous contributions!
--Here is the content--
New devices:
- Inode energy meter support thanks to @nemoo2580
- LYWSD03MMC custom ATC firmware support
- LYWSD03MMC and MHO-C401 support through a connection
- JQJCY01YM BLE formaldehyde, temperature, humidity and battery sensor
- INKBIRD IBS-TH1
New boards:
New features:
- SSL support on ESP thanks to @Legion2
- AHTx0 sensor support thanks to @jmw6773
- Refactor LED management
- Publish only BLE data from sensors and not beacons option
- Add the possibility to invert the IR emitter command
- Generic PWM controller thanks to @OliWright
- BLE use support for Aduino MEGA
- PIR notification LED thanks to @jmw6773
- RF disable transmit thanks to @jmw6773
- 64 bits support for RF except for UNO
Aside from the code:
- A new way to retrieve the compatible devices, boards and parts, through a website
Under the hood:
- Fix ESPiLight transmission error reporting thanks to @melyux
- Add default include_dir to platformio section so as to avoid warning
- Fix pilight value as subject thanks to @hugokernel
- [Increase MQTT password max size](Increase the size of MQTT password)
- Remove voltage class
- Don't publish binary data related to -test and -all environments thanks to @Legion2
- Update IRremote to 2.7.9
- BLE memory optimizations and HM10 processing optimizations thanks to @jmw6773
- Change the BLE library to NimBLE so as to increase available memory
- Allow overriding more parameters from .ini files thanks to @mpember
- Fix memory leakage in BLE manufacturer data thanks to @l8l8l
Docs improvements - BT mac address fix thanks to @jmw6773
- Avoid storing duplicate messages thanks to @jmw6773
- Fix ESPWifiManualSetup / Move MQTT variables thanks to @jmw6773
- Set the domain name as a server thanks to @Legion2
- Fix wrong type thanks to @Legion2
Breaking:
- BLE devices identification, now the device id needs to be identified in upper case and with : between numbers pairs when setting a white or black list by MQTT for example
- Change HCSR501 MQTT key to 'presence'
Deprecate - items that will be removed on the next release:
- Standardize MQTTDiscovery Temp Keys [deprecate tem key]
- SimplePublishing and simpleReceiving methods will be removed see why here
OpenMQTTGateway v0.9.5-beta
Woow v0.9.5 is gonna be huge in terms of functionalities so let's begin by testing a beta before outgoing the official release.
OpenMQTTGateway v0.9.4
v0.9.4 adds the following features/fixes:
- Add HTU21 Sensor thanks to @jmw6773
- Update IRRemote ESP8266 list of protocols supported and IR library version
- Automaticaly set MQTT buffer size thanks to @balvig
- ESP32 deep sleep between BLE scans
- M5Stack and M5stick improved support
- Add CC1101 compatibility for Radiofrequency gateways,thanks to @orrpan
- Automatic wifi reconnection improvments
- Auto discovery with HA fix thanks to @tht
- Fixed Pilight can not send on RX pin thanks to @Legion2
- Add version into SYStoMQTT gateway status
- removed duplicated valueAsASubject option thanks to @Legion2
- remove duplicate code in main\ZgatewayBT.ino (thanks to @Floyddotnet )
- fix 'LoadProhibited' in dumpdevice
thanks to @Floyddotnet - Enable automatic erasing of configuration for ESP8266 by a long push to TRIGGER_BUTTON
- Improve Log management by the uase of ArduinoLog
- Add support for DS1820 1-wire temperature sensor(s) thanks to @irswss
- Add support for weather stations thanks to @BlackSmith
- DS1820 discovery thanks to @jmw6773
Under the hood:
- replace travis by github actions thanks to @Legion2
- Add clang format thanks to @Legion2
- Refactor BLE gateways
- Weather station library update thanks to @Alomon31
- Allow pins settings into .ini files thanks to @Alomon31
Thanks to the numerous contributors to this version!
Breaking changes:
- Home assistant discovery of luminance value is now with lx unity instead of lu
- Protocol name has changed for IR, now the IR_ is removed in the json input or output
- actuatorONOFF API has been modified, see docs, pin is replaced by GPIO
- all system attributes published to SYStoMQTT are now lower case, example:
{"uptime":260,"version":"version_tag","freemem":50012,"rssi":-30,"SSID":"omgap","ip":"192.168.1.23","mac":"24:0A:C4:24:90:98","wifiprt":0,"lowpowermode":0,"interval":55555,"modules":"BTHADiscovery"}
OpenMQTTGateway v0.9.4beta
This is a beta of v0.9.4, this version can be used for tests only.
It adds the following features/fixes, thanks to the numerous contributors to this version:
- ESP32 deep sleep between BLE scans
- M5Stack and M5stick improved support
- Add CC1101 compatibility for Radiofrequency gateways,thanks to @orrpan
- Automatic wifi reconnection improvments
- Auto discovery with HA fix thanks to @tht
- Fixed Pilight can not send on RX pin thanks to @Legion2
- Add version into SYStoMQTT gateway status
- removed duplicated valueAsASubject option thanks to @Legion2
- remove duplicate code in main\ZgatewayBT.ino (thanks to @Floyddotnet )
- fix 'LoadProhibited' in dumpdevice
thanks to @Floyddotnet - Enable automatic erasing of configuration for ESP8266 by a long push to TRIGGER_BUTTON
- Improve Log management by the uase of ArduinoLog
- Add support for DS1820 1-wire temperature sensor(s) thanks to @irswss
- Add support for weather stations thanks to @BlackSmith
OpenMQTTGateway v0.9.3
Gateway
- Set gateway name and base topic by wifi manager
- Publish gateway HA discovery message once with retain flag
- Add network advanced setup macro (no need anymore to modify the code)
- Wifi automatic reconnection improvments for ESP32
BLE
- Add M5stack, M5stick-c and M5stick boards into platformio.ini
- Add Vegtrug (Mi Flora like) BLE sensor
- Add of cleargrass temperature, humidity and air pressure BLE sensor
- Add Xiaomi MiLamp Night led on BLE gateway
- Add Mi band steps reading
- Add Unit of Measurement for MiFlora Fertility and Fix MiJia BT thanks to @kanttti
- Add Ble Xiaomi scales compatibility, thanks to @pavon87 & @kanttti
- Implement minimum rssi filtering for BLE devices
Others
- Make ON OFF actuator more flexible (set the pin into json payload)
- ESP IR library update
- Add support for HC-SR04 sensor thanks to @mpember
- Name of the wifi AP is now the gateway name
- Vuepress powered documentation
- Avoid spam of buffer message in hcsr501 thanks to @chesterbr
- Continuous integration improvments