* Inverted idle logo
Back on white background start-up logo.
Inverted idle logo with random positioning.
* Idle Logo display default true
DISPLAY_IDLE_LOGO true as burn-in screens saver, especially fo the constant heading and line
* Display Brightness added
* SSD1306toMQTT / MQTTtoSSD1306
Additional "onstate" and "brightness" setting and regular display state reporting
Docs - separate Displays section
* [OTA] Add automatic OTA updates
This feature will enable to update the gateway with one button or a simple MQTT command.
* [CI] Enable automatic OTA for nightly development builds
And integrate the latest_version file creation into the CI
Enable to specify a particular version
and switch between dev and production builds
Set `interval` and `intervalacts` to the minimum when adaptive scanning is deactivated. When the user encounters a situation on which a device is not detected due to adaptive scanning, we set the gateway to continuous active to maximize the chance to detect the device.
By not deinitializing BLE at the start, if it has not been initialized. Setting the time between waking up from the macro rather than the config interval.
This one does not have a value at the start.
* [BT] Adaptive scan
Add adaptive scan to avoid users setting parameters and deduct automatically the scan requirements from the list of devices
---------
Co-authored-by: DigiH <github@digih.net>
* add JSON parse option to RS232 gateway
* add hardware UART support to RS232 gateway
* changed default RS232toMQTTmode to raw (instead of JSON)
* removed reference to Arduino Mega in RS232 gateway config
* update RS232 gateway doc
* Added board ESP32 DOIT DevKit V1 with SX1278 module Ai-Thinker Ra01
Gateway using RTL_433_ESP library, need SX1278
ESP32 DOIT DevKit V1 & external Ai Thinker Ra01 Loraboard SX1278 on VPSI and (DIO0=15, DIO1=4, DIO2=16 and RST=17)
With only one control that enables the publication of all the advertisement data, default: false
Note that if the sensor is not recognized, we will no longer publish its advertisement data unless the control is true. This is for the sake of traffic reduction.
* https://github.com/1technophile/OpenMQTTGateway/issues/1380
CC1101 TXPower selection
* Creates the possability the define SDA/SCL Pins correct through a compiler switch from the platformio.ini
Sample:
'-DBME280_PIN_SDA=0'
'-DBME280_PIN_SCL=2'
This also changes the topic structure when using the macro valueAsATopic=true, it adds as sub-topics the `type, subtype, and channel` when they exist.
The id is the last subtopic to facilitate filtering, as it may change when replacing the batteries.
Co-authored-by: NorthernMan54 <19808920+NorthernMan54@users.noreply.github.com>
* Update to rtl_433_ESP 0.1.5
Includes support for LILYGO® LoRa32 V2.1_1.6.1 433 Mhz
* Fix lint issue
* Fix build and lint issues
* Add lilygo-rtl_433 to build.yml
This commit add the capability to set passive scanning during runtime, versus buildtime before, so as to improve energy consumption of sensors when they don't require active scanning
* Use a task to process immediate BLE actions to prevent MQTT disconnection if the action takes too long to complete.
* Add state_on and state_off parameters to createDiscovery
* Add ability to specify pulse length in ZactuatorONOFF
Add an additional parameter to the MQTT message to control the actuatorONOFF pulse length e.g. `mosquitto_pub -t home/OpenMQTTGateway_MEGA/commands/MQTTtoONOFF -m '{"gpio":15,"cmd":"high_pulse","pulse_length":25}'`
* Simplify initialization of pulselength
This allows for connecting to devices that do not use the MAC address type 0.
This also adds the logging of the "mac_type" so it is visible to users trying to connect to broadcasting devices.
Additionally this will allow for future connectable devices using a MAC address type other than 0 to be automatically connected to
when support is added for them, similar to LYWSD03MMC etc..
* Add immediate parameter to BLE connection commands.
When sending a command to read/write a characteristic on a BLE server this adds a new parameter to cause the action to be
performed immediately. This will stop the scan in progress to perform the actions queued.
Example use:
```
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,
"immediate":true }'
```
Stop BLE processing when immeditate command sent.
* Use a shorter connection timeout.
* Update docs.
* Remove MQTT spam for connection retrys
* Prevent crashing when the normal connection process occurs at the same time as an immediate action.
* Use a semaphore to protect BLE device vector.
* Add ability to change MQTT topic and or gateway name by MQTT command.
This adds new commands to allow changing the MQTT topic and or gateway name from a command.
The new topic/name will be saved in flash memory and used on subsequent reboots.
Either/both parameters can be sent or combined with other commands.
Example use:
```
mosquitto_pub -t "home/OpenMQTTGateway/commands/MQTTtoSYS/config" -m
'{
"mqtt_topic": "topic/",
"gateway_name: "name"
}'
```
* Update example with /
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
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.
* Define MQTTsetMQTT for configuring MQTT over MQTT
* Enable MQTTsetMQTT per default on all ESP except RFBridge
Co-authored-by: Dave <d.kneisz@gmail.com>
* 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.