* partial MAC in title
• Last three octets of MAC address in title to differentiate devices with the same model name.
• fixed memory leak
• process optimisation
* lcd to oled
lcd to oled renaming
* 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>