OpenMQTTGateway v1.8.0 released

What’s Changed

New Features

  • Embedded MQTT Broker: Thanks to @mlesniew and the PicoMQTT library, OpenMQTTGateway now supports an integrated MQTT broker. This feature reduces server dependencies and enables more localized use cases.
  • Tracker Synchronization: @DigiH introduced a powerful enhancement for tracker synchronization across multiple gateways. Now, “away” messages are only triggered if no gateways detect the tracker, ensuring more accurate notifications.
  • Serial Communication Mode: OpenMQTTGateway can now operate without MQTT! Modules can communicate over a Serial connection, making it easier to link multiple microcontrollers.

Theengs Plug and Theengs Bridge

  • The WebUI is now available for Theengs Bridge
  • Theengs Plug has now the capability to detect voltage changes and publish when the voltage changed more than 2V. This is useful when having time sensitive scenario that requires a trigger when there is a voltage change.

New BLE Devices

  • SwitchBot Blind Tilt and Curtains control, in addition to the previously supported SwitchBot Bot.
  • Bosch Nyon eBike tracker
  • ShellyBLU H&T SBHT-003C
  • Onset Hobo Water Level Sensor
  • Add support for ShellyBLU Wall Switch4 and RC Button4 devices
  • Teltonika FMT100 vehicle tracker
  • Feasycom beacon model BP102
  • New Feasycom beacon BP103B
  • Tilt Brewing Hydro- Thermometer
  • Amphiro/Oras/Hansa Faucet decoder
  • Otodata RC1010 propane tank transponder
  • Gigaset G-Tag added as device tracker
  • Govee H5105 Thermo Hygrometer
  • XOSS X2 heart rate sensor chest strap
  • NodOn NIU smart button decoder
  • MUE4094RT improvements
  • Jaalee F51C model
  • Mobvoi TicWatch GTH (Pro) added as tracker
  • ClearGrass/Qingping Barometer Pro CGP23W
  • Apple Watch decoder
  • Aranet4 CO₂ Monitor

Boards

  • Added compatibility for M5 Stamp S3 and S3.

Farewell to Arduino Boards and IDE

  • To streamline development and focus on widely used boards, OpenMQTTGateway is discontinuing support for Arduino boards and the Arduino IDE. While we remain committed to the Arduino framework, shifting resources to ESP boards and the web flasher ensures better support for the majority of users.

Over the Air server change

  • Unfortunately Github changed its root certificate without notice breaking the existing Over the Air mechanism, the OTA server is now hosted outside of Github to have more control over certificates update.
  • To update your boards you can either:
    • Flash from the Web upload
    • Download the binary below and Update with WiFiManager (you need to erase the flash first by a long button press or with the Home Assistant devices command)
    • Update with PlatformIO with an USB cable or OTA locally

Breaking

Category Description
BOARD-BREAKING Change of partition for esp32dev-pilight by @1technophile in #1952
BT-BREAKING Change Switchbot API and add new commands by @1technophile in #2003
LED-BREAKING Refactor LED handling by @1technophile in #2051
OTA-BREAKING Switch cloud OTA server to ota.openmqttgateway.com by @1technophile in #1962
RF-BREAKING Improve Home Assistant auto discoverability by @JamiePhonic in #2057
SERIAL-BREAKING RS232 change to SERIAL GATEWAY by @1technophile in #2008
SYS-BREAKING Add gateway state, offline mode and refactor sleep by @1technophile in #2020
LORA-BREAKING Update LoRa env partition by @1technophile in #2110

Changes

Category Description
BLUFI Add Bluetooth timer, notifications and AP scan list by @1technophile in #2045
BLUFI Add Blufi activation and deactivation at runtime by @1technophile in #2058
BLUFI Enable larger notifications by @1technophile in #2107
BLUFI Remove Blufi password visibility in the logs by @1technophile in #1976
BLUFI Enable BluFi onboarding with other modules than BT gateway by @1technophile in #1982
BOARD Add M5Stamp C3 by @1technophile in #1857
BOARD Add Web Upload for ESP32-C3 family by @1technophile in #1861
BOARD Activate WebUI for the bridge (beta) by @1technophile in #2000
BOARD Add Theengs Plug environment by @1technophile in #2065
BOARD add esp32s3-m5stack-stamps3 by @mhaberler in #2088
BOARD Remove Arduino boards by @1technophile in #1929
BOARD Remove unnecessaries ESP8266 ESP32 macros by @1technophile in #1931
BROKER Allow running an MQTT broker within OMG by @mlesniew in #1988
BT Bump Theengs Decoder to 1.6.7 & prmac conversion to RMAC by @DigiH in #1844
BT prmac to RMAC discovery fix by @DigiH in #1849
BT Timeout for MUE4094RT by @1technophile in #1871
BT Tracker discovery and timeout by “track” tag by @DigiH in #1881
BT presence publishing independent of pubOnlySensors by @DigiH in #1883
BT Device Tracker & Room Presence separation and clarification by @DigiH in #1880
BT Run presenceUseBeaconUuid check when device is close by @ayetee in #1915
BT Prevent intervalacts from being lower than interval by @DigiH in #1932
BT Enable to define MinimumRSSI from a macro in ini files by @1technophile in #1977
BT Increase BLE task stack by @1technophile in #1984
BT Add a build flag to define the default state of the BT gateway by @1technophile in #1985
BT Switchbot Bot control fix by @1technophile in #2001
BT Add Switchbot Blind Tilt control by @1technophile in #2002
BT Add capability to remove the decoder when using BT by @1technophile in #2028
BT Add Switchbot curtain control by @1technophile in #2049
BT ctrl key included in Advanced Data by @DigiH in #2050
BT HOBOMX2001 added to UNIQ Level display routine by @DigiH in #2055
BT Clean KnownBTAction function by @1technophile in #2062
BT Device Tracker sync across gateways by @DigiH in #2094
CERTS Remove certificate display on WiFi manager and enable memory certificate usage for update check by @1technophile in #1967
CI Add page speed measurement in the CI by @1technophile in #1891
CI Update Github actions versions by @1technophile in #2047
CI Implement changes to build against ArduinoJson@7.2.0. \n by @peshovec in #2083
CM Git Ignore certificates by @1technophile in #2018
CM Ignore pycache folder by @1technophile in #2019
DEV Add automatic BT lib replacement for BLE environments by @1technophile in #1860
DISC source_type discovery key fix by @DigiH in #1853
DISC uv/uvi discovery fix and device classes added by @DigiH in #1923
DISC Additional RF discovery keys and device classes by @DigiH in #1927
DISC Add the capability to use the device BLE name by @1technophile in #1936
DISC Nexa additional auto-discovery properties (#1953) by @DigiH in #1955
DISC Consistent upper case discovery property names by @DigiH in #1957
DISC battery_ok discovery differentiation by @DigiH in #1958
DISC always auto-discover Presence/Tracker timeout by @DigiH in #1959
DISC build flag dependant discovery of HTTP firmware update UI by @DigiH in #1969
DISC auto-discovery strcmp instead of substring only strstr by @DigiH in #1968
DISC Add ability to change Discovery Prefix via WebUI or via mosquitto_pub by @puterboy in #2007
DISC Update main.ino - Remove restartesp from discovery_prefix stanza by @puterboy in #2033
DISC Warning message for discovery prefix change by @NorthernMan54 in #2066
DISC Additional HA discovery device class by @DigiH in #2097
DISC Remove unnecessary discovery publication by @1technophile in #2105
DISC Do not deactive autodiscovery when discovery_republish_on_reconnect is enabled by @ssalonen in #1933
DISPLAY Generic SSD1306 display support for ESP32 added by @j-paulus in #1847
DISPLAY Touch Based Display Blanking by @NorthernMan54 in #2015
DISPLAY Removed obsolete pubOled stub and calls by @puterboy in #2039
DOCS Remove Zigbee by @1technophile in #1835
DOCS info container fix by @DigiH in #1851
DOCS Update vuepress packages by @1technophile in #1855
DOCS Add sponsorship button by @1technophile in #1854
DOCS Factorize documentation configuration into one file by @1technophile in #1856
DOCS Update navbar and sidebar style for upload page by @1technophile in #1865
DOCS Add sitemap by @1technophile in #1868
DOCS Add robots txt by @1technophile in #1870
DOCS Auto-discovery timer add by @1technophile in #1876
DOCS Update home_assistant.md by @simowilso in #1884
DOCS Search optimization by @1technophile in #1886
DOCS Optimize landing page loading by @1technophile in #1890
DOCS Optim config by @1technophile in #1892
DOCS Add alt texts to images on the first page by @1technophile in #1893
DOCS Optim first image size by @1technophile in #1894
DOCS Bump ip from 1.1.8 to 1.1.9 by @dependabot in #1901
DOCS Bump follow-redirects from 1.15.4 to 1.15.6 by @dependabot in #1914
DOCS Use configured “packages_dir” by @ivankravets in #1917
DOCS Bump express from 4.18.2 to 4.19.2 by @dependabot in #1918
DOCS Page Speed criteria update by @1technophile in #1924
DOCS Page speed optimizations by @1technophile in #1922
DOCS Use Node 16 by @1technophile in #1925
DOCS BLE compatible devices clarification by @DigiH in #1921
DOCS Remove Arduino IDE support by @1technophile in #1928
DOCS RETAIN option clarification only for white/black-list by @DigiH in #1937
DOCS Bump ws from 6.2.2 to 6.2.3 by @dependabot in #1974
DOCS Adaptive scan condition to change intervals by @1technophile in #1999
DOCS Bump elliptic from 6.5.4 to 6.5.7 by @dependabot in #2010
DOCS Bump send and express by @dependabot in #2061
DOCS Bump serve-static and express by @dependabot in #2060
DOCS Touch Blanking Docs by @NorthernMan54 in #2067
DOCS RF Gateway receiver mode change, HA integration example to view/change the RF mode by @peshovec in #2072
DOCS Bump cookie and express by @dependabot in #2087
DOCS SwitchBot Curtain clarification & device tracker updates by @DigiH in #2096
DOCS Bump elliptic from 6.5.7 to 6.6.0 by @dependabot in #2095
HCSR501 Update sensor publication criteria by @diepeterpan in #1846
LED Add capability to change second RGB led function by @1technophile in #2009
LED Add ON Led status by @1technophile in #2011
LED Add ON Led status by @1technophile in #2016
LED Avoid gpio error message at start and fix led macro by @1technophile in #2017
LED Add power pin to addressable LED by @1technophile in #2056
LED Add LED STRIP macros and a third Addressable pin by @1technophile in #2063
LORA Add water counter sensor with example by @evlas in #1941
ONBOARD Use Gateway short name macro by @1technophile in #1943
OTA Add Github Digicert cert hash check by @1technophile in #1965
RF Use exponential backoff delay in initCC1101() by @ianmtaylor1 in #1874
RF Differentiation between OOK and FSK modulation in default environments’ names by @DigiH in #1934
RF Revert ZgatewayRTL_433 to use handleJsonEnqueue by @puterboy in #2036
RF Add ‘rtl433_stack’ size reporting to RFtoMQTT topic by @puterboy in #2081
RF Bumped rtl_433_ESP to v0.3.3 to increase rtl_433_Decoder_Stack size to prevent OOM crash by @puterboy in #2082
RF Disable the active RF receive when transmitting with RC-Switch and “Kaku” by @peshovec in #2084
RN8209 Detect voltage changes by @1technophile in #1850
RN8209 Enable RN8209 task size override by @1technophile in #1973
RTL_433 Correct string handling for type key in NAMING_KEYS by @riegelbrau in #1960
RTL_433 Bump ESP RTL_433 library by @1technophile in #1842
RTL_433 Temporary fix for installations with numerous sensors by @1technophile in #1843
SERIAL Add the capability send info to Serial instead of/added MQTT by @1technophile in #2030
SERIAL Enable SERIAL communication layer by @1technophile in #2068
SERIAL Add Serial Heartbeat ack by @1technophile in #2073
SERIAL Improve communication robustness by @1technophile in #2079
SOMFY fix frequency in documentation by @maxnowack in #1898
SYS Increase WiFi timeout by @1technophile in #1864
SYS Avoid transmission of MQTT password to the web page by @1technophile in #1878
SYS Avoid logging sensitive information by @1technophile in #1879
SYS Avoid AP generation if no WiFi, and config already saved by @1technophile in #1888
SYS ESP32 JSON buffer size fixed for RuuviTag_RAWV2 by @ssalonen in #1906
SYS Log Theengs props deserilization failures by @ssalonen in #1907
SYS Add Blufi support by @h2zero in #1913
SYS Do not check idle task on cpu 1 to be consistent with Arduino configuration by @1technophile in #1935
SYS Multiple connections management by @1technophile in #1947
SYS Change log level when publication is canceled by @1technophile in #1949
SYS Add connection fallback capability by @1technophile in #1950
SYS Add serial self test feature by @1technophile in #1964
SYS Improve max buffer by @1technophile in #1981
SYS Detect instable MQTT connection with AWS by @1technophile in #1979
SYS Use PicoMQTT for MQTT communication by @mlesniew in #1954
SYS Clean queue before restart by @1technophile in #1986
SYS Refine json buffer maximum size by @1technophile in #2005
SYS Add Mutex to potect mqtt->publish() from concurrent… by @puterboy in #2034
SYS Remove handleJsonQueue wrapper and use std::string by @1technophile in #2038
SYS Externalize utils functions by @1technophile in #2046
SYS Externalize utils function keep cmpToMainTopic by @1technophile in #2048
SYS Improve queue performance when Using Ethernet and low BT interval by @1technophile in #2052
SYS Detect IDF environnement with USE_ESP_IDF by @1technophile in #2074
SYS Erase secondary module flash when button is pressed on primary module by @1technophile in #2076
SYS Bump ESP8266 framework version to 4.2.1 by @1technophile in #2102
SYS Remove Multi Gateway Tracker Sync from idf example env by @1technophile in #2109
UPLOAD Update ESP WEB TOOLS by @1technophile in #1862
WEBUI Specific Gravity SG added to BLE display routine by @DigiH in #1939
WEBUI Update ZwebUI.ino - Convert WiFi.SSID() to c_string (JJK) by @puterboy in #2021
WEBUI Changed from GET to POST method for config forms with passwords by @puterboy in #2037

Fixes

Category Description
BLUFI Fix SSID return by @1technophile in #2108
BLUFI Fix max buffer size for BluFi by @1technophile in #1972
BROKER Fix BT start by @1technophile in #2112
BT Fix crash when sending multiple BT commands at the same time by @1technophile in #2059
BT Fix BT command triggering a stack trace due to conflict by @1technophile in #2104
CI Fix development deployment by @1technophile in #1866
DISC Fix empty topic publication by @1technophile in #1858
DISC Fix via device discovery when using a secondary module by @1technophile in #2077
DISC Fix device name discovery by @1technophile in #2093
DOCS Fix sponsor button by @1technophile in #1859
DOCS Fix config.js for sitemap by @1technophile in #1869
DOCS Fix image sizing and path by @1technophile in #1926
DOCS Fix capitalization of rssithreshold in documentation by @kamaradclimber in #1993
DOCS Fix image path by @1technophile in #2006
HCSR501 Fix not logging by @diepeterpan in #1897
IR Fix errors noticed when sending IR codes by @GRMrGecko in #1991
LORA Fix message without json not being transmitted by @1technophile in #1875
LORA Fix save function for parameters that are not frequency by @1technophile in #1987
ONBOARD Fix failsafe mode by @1technophile in #2080
RF Fix Mqtt Device Trigger announcement message by @Odyno in #2091
SYS Avoid queue overloading at start by @1technophile in #2114
SYS Fix wrong connection index record during onboarding by @1technophile in #1961
SYS Fix default connection by @1technophile in #1966
SYS Fix Ethernet network check on MQTT failure by @1technophile in #2013
SYS Fix disconnection detection by @1technophile in #2031
SYS Fixed data corruption associated with jsonQueue enqueueing and dequeuing by @puterboy in #2035
SYS Fix connection validation on unknown indexes and improve erase method by @1technophile in #2075
SYS Fix erase function for ESP8266 by @1technophile in #2101
SYS Fix ESP8266 discovery publications by @1technophile in #2100
SYS Fix webUI OTA update free memory by @1technophile in #2103
SYS Fix capacity to onboard ethernet board without WiFi AP by @1technophile in #2106
WEBUI Fix web serial console by @1technophile in #1863
WEBUI Fix index by @1technophile in #1992

New Contributors

Full Changelog: v1.7.0…v1.8.0

1 Like