* Added syslog settings
not perfect yet, should be a dependencie of other setting
* fixed typo
* Update settings.schema.json
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* OTA privacy enhancement
Adds the option to disallow device-initiated OTA update checks.
Currently these OTA update checks can be quite frequent, and essentially mean the device is indirectly able to ping a cloud server. In the EU it's wise to handle an IP address as personal information, and therefore it might be wise to not enable OTA checking by default. Ideally a user would agree to a privacy policy that clarifies things a bit first.
* Added default settings for OTA update management
* Set update interval in minutes
* OTA update settings
* Adds both settings for OTA updates control
* Update settings.schema.json
* Update settings.js
* Update otaUpdate.js
* Update otaUpdate.test.js
* Update bridge.test.js
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Update settings.schema.json
Added missing settings legacy_api and homeassistant_legacy_triggers
* Update settings.schema.json
Removed legacy_api, it was already in
* Do not fallback to string if array can be parsed
This in needed, otherwise ZIGBEE2MQTT_CONFIG_ADVANCED_NETWORK_KEY can never be set to a JSON object (array).
* Update settings.js
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* support configurable retain on mqtt settings since some servers throw errors and drop the connections if you try (e.g. aws iot)
* Revert "support configurable retain on mqtt settings since some servers throw errors and drop the connections if you try (e.g. aws iot)"
This reverts commit 40d3a9c0bc84c83d2b167e2e3c3a06ca6df80f47.
* support configurable retain on mqtt settings
* support subscribing to the whole base prefix
* Update mqtt.js
* Fixes
* Fixes
* Fix tests
* Updates
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Add Environment Variable Override
I need to be able to manage settings on this service via Environment Variables. I've added the ability to override anything in the settings schema with a corresponding environment variable.
e.g. to override settings.serial.port you can set ZIGBEE2MQTT_SERIAL_PORT=/dev/ttyS0
to override the mqtt username you can set ZIGBEE2MQTT_MQTT_USER=testusername
This new addition will not perform any action on existing installations unless the matching environment variable is set. I have tested this setting string, number, boolean, object and array values.
* Adding test case for environment variables and slight modification to ensure 100% code coverage.
* Adding a test to confirm that env variables will set non default values. Also realized that I was errantly applying the env variables to the defaults for testing. Understanding what this is doing more clearly I realize that should be clean.
* Refactoring to
1. Remove the test variables from the schema and defaults and manually reflect the tests in the test.
2. Rename environment variable base from ZIGBEE2MQTT_ to ZIGBEE2MQTT_CONFIG_
* Small improvements
* Removing the unneeded test.
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>