* Allow for hiding mqtt config settings in wifimanager setup.
Adds the macro `WIFIMNG_HIDE_MQTT_CONFIG` that when defined will hide the mqtt configuration in the wifimanager setup.
Co-authored-by: Florian <1technophile@users.noreply.github.com>
* Disable MQTTsetMQTT and MQTT_HTTPS_FW_UPDATE to allow OTA for Avatto Bakery IR
Trying to update my Avattos with the currently released 0.9.8 I found that OTA wasn't possible any longer as the build was now to large
0.9.8
Checking size .pio/build/avatto-bakeey-ir/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [==== ] 42.4% (used 34772 bytes from 81920 bytes)
Flash: [====== ] 55.2% (used 528716 bytes from 958448 bytes)
this goes back to 0.9.7, where WiFi, MQTT and firmware update was introduced over MQTT commands
0.9.7
Checking size .pio/build/avatto-bakeey-ir/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [==== ] 42.4% (used 34772 bytes from 81920 bytes)
Flash: [====== ] 55.2% (used 528716 bytes from 958448 bytes)
Going back to building 0.9.6 I was able to OTA update again with the much smaller build
0.9.6
Checking size .pio/build/avatto-bakeey-ir/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [==== ] 39.7% (used 32512 bytes from 81920 bytes)
Flash: [==== ] 41.4% (used 396804 bytes from 958448 bytes)
Building 0.9.8 with the flags brings the build back to OTAable size
0.9.8 with
'-UMQTTsetMQTT'
'-UMQTT_HTTPS_FW_UPDATE'
Checking size .pio/build/avatto-bakeey-ir/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [==== ] 39.9% (used 32684 bytes from 81920 bytes)
Flash: [==== ] 42.3% (used 405024 bytes from 958448 bytes)
Similar to the flag setting in [env:rfbridge]
I'm not even sure if MQTT_HTTPS_FW_UPDATE would even work on the Avatto, with the limited flash memory.
Should we also add
board_build.ldscript = eagle.flash.1m64.ld
as a default, as it's required for OTA updates on the Avattos as discussed in https://github.com/1technophile/OpenMQTTGateway/issues/763#issuecomment-698864712 ?
* Doc addition for restricted MQTT options
Doc addition for https://github.com/1technophile/OpenMQTTGateway/pull/1046 and https://github.com/1technophile/OpenMQTTGateway/pull/986
This allows for directly uploading OMG to ESP32 and ESp8266 devices from the upload section of the documentation.
This will upload the latest release binary for the device selected in the dropdown menu on the webpage.
A script has been added to generate the upload page when a new release is issued.
This will remove the sending of BLE service data when multiple service data attributes are advertised by a broadcasting device.
Instead the data for known device types will be consolidated into a single message to reduce overhead.
When updating from the MQTT command from a SSL enabled server this adds an option to provide
the server SSL certificate with the command.
This is useful if connecting to different servers or if the configured certificate has expired
and requires updating to not lose the ability to update via OTA.
The certificate provided will be saved to flash memory for use on subsequent restarts.
While playing with the new BLE READ/WRITE feature for my Playbulb Candles I found that writing was not possible for characteristics which are WriteWithoutResponse only.
I implemented this quick fix which might be useful for others with devices for which they want to write to WriteWithoutResponse characteristics.
Alternatively a more slective option could be possible for a future release, i.e. adding an additional WRITE tag like "ble_write_withoutresponse": true/false
* Set OTA name as Gateway_Short_Name + MAC if using mac as gateway name.
This will set the OTA name of the gateway to the *Gateway_Short_Name*_*MAC* when USE_MAC_AS_GATEWAY_NAME is defined in the config.
* Log OTA hostname when using MAC as gateway name.
* Define MQTTsetMQTT for configuring MQTT over MQTT
* Enable MQTTsetMQTT per default on all ESP except RFBridge
Co-authored-by: Dave <d.kneisz@gmail.com>
This allows for setting the WiFimanager debug level for more or less verbosity using the WM_DEBUG_LEVEL macro.
Valid values are:
DEBUG_ERROR = 0,
DEBUG_NOTIFY = 1, // default
DEBUG_VERBOSE = 2,
DEBUG_DEV = 3,
DEBUG_MAX = 4
Adds the macro USE_MAC_AS_GATEWAY_NAME, when defined the gateway name will default to
OMG_XXXXXXXXXXXX, where the X's are the mac address characters.
This can still be changed in WiFiManager.
This will provide the expected funtionality for the reset trigger when the button is pressed for more than 10 seconds.
Also allows the same pin to be used as an actuator/relay trigger if pressed for less than 10 seconds.
This will enable using button on the gateway to switch any controlled attached actuators/relays when pressed.
Adds the following macros:
- ACTUATOR_ON; 0 or 1, set to the output level of the gpio pin to turn the actuator on.
- ACTUATOR_ONOFF_DEFAULT; ACTUATOR_ON or !ACTUATOR_ON, set to the state desired on reset.
- ACTUATOR_BUTTON_TRIGGER_LEVEL; 0 or 1, set to the sensing level which to detect a button press to change the actuator state.
* Fixes BLE scanning being disabled after switching server fails.
* Fixes crash caused by BLE scan results arriving while switching servers.
* Adds documentation to use the server switching command.
Merges LED_RECEIVE/LED_SEND into LED_SEND_RECEIVE pin definition.
Adds LED_ERROR to display error status based on blink times as follows:
Disconnected from Wifi: 2 seconds on 2 seconds off.
Disconnected from broker: 2 seconds on 5 seconds off.
Other status LED indications added:
WifiManager configuration web portal active: LED_INFO and LED_SEND_RECEIVE = ON.
OTA Update in progress: LED_SEND_RECIEVE and LED_ERROR = ON.
* 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
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>