Koen Kanters
49f37acd18
Add adapter_delay option. https://github.com/Koenkk/zigbee2mqtt/issues/4884
2020-11-18 18:46:13 +01:00
Chris Nesbitt-Smith
aabb88fbf4
Add force_disable_retain option ( #4948 )
...
* 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>
2020-11-16 17:27:49 +01:00
William Sutton
1c3ad9da72
Log zigbee-herdsman version on startup ( #4930 )
...
* add getZigbeeHerdsmanVersion Function
Allow current zigbee-herdsman version to be exposed to controller for logging and to startup output.
* Update utils.test.js
Add tests for getZigbeeHerdsmanVersion() function
* Update utils.js
Added getZigbeeHerdsman to module exports
* Update utils.js
Fixed path because I'm dumb.
* Update utils.test.js
Apparently version numbers are important when they're different.
* Update zigbee.js
Added actual display of herdsman version output.
* Update utils.js
Remove git checking in getZigbeeHerdsmanVersion()
* Update utils.test.js
Remove commitHash from getZigbeeHerdsmanVersion test
* Update utils.js
Remove commitHash from getZigbeeHerdsmanVersion
* Update utils.js
* Update utils.test.js
* Update utils.js
Try removing less code this time.
* Update utils.test.js
* Update zigbee.js
* Update utils.js
* Update utils.js
* Update utils.test.js
* Update utils.js
* Update utils.test.js
* Update utils.js
* Update utils.js
* Update zigbee.js
* Update utils.js
Generalize getZigbeeHerdsmanVersion() to getDependVersion(), so any node_module dependency can be checked
* Update zigbee.js
* Update utils.test.js
* Update utils.js
* Update zigbee.js
* Update utils.test.js
* Update zigbee.js
* Update zigbee.js
* Update zigbee.js
* Update zigbee.js
* Update zigbee.js
* Update utils.js
* Update zigbee.js
* Update utils.test.js
* Update zigbee.js
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2020-11-14 17:25:22 +01:00
Koen Kanters
ddbf936102
Mark ZIGBEE2MQTT_CONFIG as deprecated. https://github.com/Koenkk/zigbee2mqtt/issues/4697
2020-10-24 16:20:48 +02:00
mr G1K
aa9ba03228
adapter zigate ( #4737 )
2020-10-23 19:13:33 +02:00
Koen Kanters
3a1f697d93
Don't log when including logger.js
2020-10-07 17:15:46 +02:00
github-actions[bot]
34e82118a1
Update zigbee-herdsman-converters to 12.0.201 ( #4575 )
...
* Update zigbee-herdsman-converters to 12.0.201
* Update homeassistant.js
* Update utils.js
* Update homeassistant.js
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2020-10-06 20:40:20 +02:00
Koen Kanters
4f9c36ee44
Don't allow renaming to not allowed friendlyName. https://github.com/Koenkk/zigbee2mqtt/issues/3281
2020-09-19 10:57:39 +02:00
OzGav
7d7b2fc671
Add support for NUE-ZBFLB Update homeassistant.js ( #4279 )
...
* Update homeassistant.js
* Update utils.js
* Update utils.js
* Update homeassistant.js
* Update utils.js
2020-09-12 09:45:26 +02:00
Koen Kanters
d167b149ad
Refactor device options retrieval
2020-08-17 20:57:12 +02:00
Tom
08524953bf
Add Environment Variable Override ( #4085 )
...
* 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>
2020-08-13 23:50:30 +02:00
Koen Kanters
9a6397fe75
Make Zigbee2MQTT naming consistent
2020-08-01 10:36:20 +02:00
lionel590
ded3a58883
Network parameters / config displayed in zigbee2mqtt/bridge/config ( #4010 )
...
* Update zigbee.js
* added network parameters to zigbee2mqtt/bridge/config
* added network parameters to zigbee2mqtt/bridge/config
* added test for network config in zigbee2mqtt/bridge/config
* Fix network data
* Added test data for network parameters
* Update zigbee.js
* Update zigbee.js
* Update bridge.test.js
* Update bridge.test.js
* Update utils.js
* Update bridge.js
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2020-07-30 22:31:52 +02:00
Hamish Moffatt
f5e5c76ca9
output plain text to syslog ( #3985 )
...
* output plain text to syslog (#3984 )
* fix lint warnings
Co-authored-by: Hamish Moffatt <hamish@moffatt.id.au>
2020-07-27 22:22:02 +02:00
Koen Kanters
867918bd63
Fix incorrect device type. https://github.com/Koenkk/zigbee2mqtt/issues/3953
2020-07-23 19:55:56 +02:00
Koen Kanters
ad13564687
Improve error messages when configuration is invalid. #3943
2020-07-23 19:17:26 +02:00
Koen Kanters
0e0a364da7
Validate experimental.output settings. #3928
2020-07-18 23:40:23 +02:00
Koen Kanters
67f02adbd0
Prefer blocklist/passlist over blacklist/whitelist
2020-07-15 23:22:32 +02:00
Koen Kanters
ff1a64b192
Change ID -> id for new api. https://github.com/Koenkk/zigbee2mqtt/issues/3281
2020-07-15 22:16:18 +02:00
Koen Kanters
8415adc514
Make new api snake case. https://github.com/Koenkk/zigbee2mqtt/issues/3281
2020-07-13 23:00:33 +02:00
Koen Kanters
d3b7fe222f
Update herdsman and converters.
2020-07-12 17:14:56 +02:00
Koen Kanters
b1a4926a30
Add cache_state_persistent and cache_state_send_on_startup options. #3496
2020-07-10 22:09:16 +02:00
Koen Kanters
22387fd637
Don't provide defaults for rtscts and baudrate ( #3854 )
...
* Don't provide defaults for rtscts and baudrate
* Update herdsman
2020-07-06 21:37:58 +02:00
Koen Kanters
4900a2501d
Support Home Assistant configuration for external converters. https://github.com/Koenkk/zigbee-herdsman-converters/issues/1343
2020-07-03 21:20:22 +02:00
John Doe
def6bf1d0b
Implement external converters ( #3810 )
2020-06-29 16:16:16 +02:00
Koen Kanters
f8d082e18d
Networkmap #3281
2020-06-15 20:10:30 +02:00
Kosta
b42c61d09a
use relative timestamps ( #3743 )
...
Use relative timestamps for the network map (e.g, `1 hour, 43 minutes ago` or `15 minutes, 10 seconds ago`), since that is easier to understand/decode than the standard ISO timestamps.
This introduces an additional (light weight) dependency to [humanize-duration](https://github.com/EvanHahn/HumanizeDuration.js ) which in itself doesn't have any additional dependencies.
Co-authored-by: Konstantin Baumann <konstantin.baumann@autodesk.com>
2020-06-14 17:43:27 +02:00
Koen Kanters
a90ebce677
Change device options. #3181
2020-06-13 23:28:06 +02:00
Koen Kanters
16f5812f6c
Finish remove api. https://github.com/Koenkk/zigbee2mqtt/issues/3281
2020-06-13 17:22:00 +02:00
Koen Kanters
c6e76165ff
Always convert syslog type to string. https://github.com/Koenkk/zigbee2mqtt/issues/3725
2020-06-12 16:51:49 +02:00
Koen Kanters
7f68fd3fc4
Initial syslog logging. #3647
2020-06-03 20:44:11 +02:00
Koen Kanters
409fb2407a
#3281 Add tests for new bridge API
2020-05-24 18:16:39 +02:00
John Doe
33bed2bbfb
Add more enpoins names for validation ( #3552 )
2020-05-15 16:54:36 +02:00
Koen Kanters
520f59f47c
Update converters
2020-05-11 18:35:45 +02:00
Koen Kanters
856ecf47f1
Start on new API implementation. #3281
2020-05-04 20:06:50 +02:00
Koen Kanters
d22e73ebb4
#3271 Allow to randomize network_key by settings 'network_key: GENERATE'
2020-04-21 21:58:43 +02:00
Koen Kanters
838cb6e702
Update converters.
2020-04-13 21:15:08 +02:00
Koen Kanters
3ef7555ca2
Refactor
2020-04-05 00:05:05 +02:00
Koen Kanters
e0076367d3
Start on legacy api isolation. https://github.com/Koenkk/zigbee2mqtt/issues/3281
2020-04-04 22:47:23 +02:00
Koen Kanters
903cec5760
Allow to disable log rotation. #3280
2020-04-04 19:46:43 +02:00
Koen Kanters
eeb85cf096
Update herdsman and converters.
2020-03-30 21:56:34 +02:00
Koen Kanters
fb4d86cef5
Allow to change non-setted options via device_options. #3215
2020-03-28 19:48:05 +01:00
Koen Kanters
4fe23842cf
Don't allow non existing entities on availability_blacklist or availability_whitelist. #3191
2020-03-25 20:46:20 +01:00
Koen Kanters
5cd1af569e
Fix crash when removing device from group which has no devices in settings. #3185
2020-03-23 22:24:35 +01:00
Koen Kanters
a3b285d1ac
Don't allow MQTT wildcard (# or +) in friendly_name. #3175
2020-03-23 19:59:49 +01:00
Koen Kanters
6b9baf0114
Allow to specify adapter type. https://github.com/Koenkk/zigbee-herdsman/issues/72
2020-03-19 19:34:11 +01:00
Dustin Sallings
97a4b6b539
Add support for expiring retained messages. ( #3082 )
...
* Add support for expiring retained messages.
For most of my environmental monitoring use cases, I want the readings
retained so I can pick them up from clients at any time, but if the
sensor (or zigbee2mqtt) fails, I want the readings to go away so I can
tell the difference between a stale reading and a missing reading.
This is easily accomplished in MQTTv5 using the "message expiry
interval" property. To add that to zigbee2mqtt, I added a 'version'
option to the mqtt section so I can specify to connect with version 5
and added a 'retention' property to devices allowing me to specify how
long items should be retained.
e.g.
mqtt:
base_topic: site/zigbee2mqtt
server: 'mqtt://myserver'
user: zigbee
version: 5
serial:
port: /dev/ttyACM0
devices:
'0x00358d00022308da':
friendly_name: someroom
retain: true
retention: 900
* Also get from deviceOptions
* Update settings.js
* Update controller.js
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2020-03-12 20:25:37 +01:00
Koen Kanters
9b592d4546
Refuse to start when 'device_options: null' is set. #3107
2020-03-11 20:18:27 +01:00
Koen Kanters
4d54e5038b
Refuse to start when friendly_name ends with /DIGIT. #2645
2020-03-07 23:06:22 +01:00
Koen Kanters
34b3e66fa5
Add l5 till l8 to postfixes. https://github.com/Koenkk/zigbee-herdsman-converters/pull/1041
2020-03-06 23:18:50 +01:00
Jorge Schrauwen
658cc21b4d
#3009 allow filtering of mqtt topics and payloads ( #3037 )
...
* Allow filtering of attributes in mqtt json payload or published attributes
* Add test for mqtt_attribute_filter
Just doing attribute_and_json should be fine as the code changes are run before this. Doing this tests lets us varify both json or seperate topic get properly filtered.
* Add test for mqtt_attribute_filter on group
* Rename mqtt_attribute_filter to filtered_attributes
2020-03-02 20:08:51 +01:00
Koen Kanters
9f1b8cf214
Allow to disable homeassistant legacy triggers. #3033
2020-03-01 15:55:20 +01:00
Koen Kanters
342d4c17b9
Fix debounce, debounce_ignore, retain and qos in device_options not honored. #3004
2020-02-27 21:06:27 +01:00
Koen Kanters
9cc84feb67
Allow to rename groups through zigbee2mqtt/bridge/config/rename. https://github.com/Koenkk/zigbee2mqtt/issues/2991
2020-02-23 21:51:30 +01:00
svh1985
e473590dd9
Added log_file name setting ( #2894 )
...
* Added log_file name setting
Added log_file to schema while preserving the default log.txt setting.
Added option to logger to use the filename and support for the %timestamp% var.
* Update logger.js
Added the filename to the console/log output.
2020-02-05 19:37:13 +01:00
Koen Kanters
313edcc445
Keep latest log in log.txt (not in log1.txt, etc.). https://github.com/Koenkk/zigbee2mqtt/issues/2855
2020-01-31 23:13:15 +01:00
Koen Kanters
dae52a22d7
Update converters.
2020-01-21 21:19:11 +01:00
Twan Coenraad
dd0ca2a392
Add keepalive option for MQTT ( #2767 )
2020-01-17 21:38:46 +01:00
Koen Kanters
39ed95371e
Log when using non-valid log_level. #2706
2020-01-16 23:33:17 +01:00
Boris Prüßmann
2234fd1e8a
Added endpoints for Busch-Jaeger ( #2723 )
...
* Added endpoints for Busch-Jaeger
* Added RM01 to homeassistant.js
* Updated mapping to reflect latest change in converter
* Renamed endpoint according to converted PR
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2020-01-14 18:47:32 +01:00
lukeIam
4a0059afcd
Allow attribute and json in parallel ( #2712 )
...
* Allow attribute and json in parallel
* Fix tests
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2020-01-12 15:07:06 +01:00
Wilmar den Ouden
5083bbcc16
feat: create environment variable for the config file ( #2519 )
...
Signed-off-by: wilmardo <info@wilmardenouden.nl>
2019-12-16 20:49:25 +01:00
Wilmar den Ouden
087d1b8761
fix: avoid creating the log/ directory when file not enabled ( #2516 )
...
Signed-off-by: wilmardo <info@wilmardenouden.nl>
2019-12-13 19:09:18 +01:00
Koen Kanters
d17eec5310
Don't allow postfix to be a friendly_name. #2486
2019-12-09 18:27:39 +01:00
Wilmar den Ouden
694c45fd96
Make logging transports configurable ( #2231 )
...
* feat: Make logging optional
Signed-off-by: wilmardo <info@wilmardenouden.nl>
* feat: be more verbose about what logging is enabled
Signed-off-by: wilmardo <info@wilmardenouden.nl>
* feat: adds tests
Signed-off-by: wilmardo <info@wilmardenouden.nl>
* Updates.
* Updates
* fix tests.
* Remove onlythis.
* Remove another onlythis
* Improve test stability
* Remove another onlythis
2019-11-29 23:36:57 +01:00
Koen Kanters
99fd93f9a7
Allow setting transmit power. https://github.com/Koenkk/zigbee2mqtt/issues/2253
2019-11-27 22:02:49 +01:00
Kryzek
46d7176976
availability_whitelist ( #2387 )
...
* availability_whitelist
* Tests
* Cleanup
* Update deviceAvailability.js
2019-11-23 11:47:37 +01:00
Kryzek
878a88632b
Customizable timestamp ( #2357 )
...
* Customizable timestamp
Add a customizable timestamp
* Revert "Customizable timestamp"
This reverts commit 7ae06e8e2c
.
* Customizable timestamp
* Update settings.js
2019-11-17 21:29:53 +01:00
Koen Kanters
22c8f14659
Update herdsman and converters.
2019-11-17 21:22:24 +01:00
Koen Kanters
44db557a0c
Log in local timezone. https://github.com/Koenkk/zigbee2mqtt/issues/2341
2019-11-15 23:04:23 +01:00
Koen Kanters
019b087af1
Fix tests.
2019-11-06 20:51:31 +01:00
Koen Kanters
af770acd2d
Make retain a optional option and default it to false.
2019-11-06 20:30:33 +01:00
Jorge Schrauwen
5ad97325be
Fix missing retain on add_group, allow specifying of groupID ( #2266 )
...
* Accept json for add_group so a groupID can be provided, also set retain property on group creation
* Update util/settings tests for groupID and retain
* Update bridgeConfig tests for add_group with json
2019-11-04 17:59:00 +01:00
Koenkk
646cd34715
Support secret for network_key. https://github.com/Koenkk/zigbee2mqtt/issues/2209
2019-10-28 18:05:50 +01:00
Koen Kanters
4983048191
Only poll on Hue dimmer switch brightness button. https://github.com/Koenkk/zigbee2mqtt/pull/2122
2019-10-25 19:42:47 +02:00
Koen Kanters
78531a0878
Finish https://github.com/Koenkk/zigbee2mqtt/issues/2201 .
2019-10-25 19:17:47 +02:00
Koenkk
505be311a4
Allow to store MQTT credentials separate from configuration.yaml. https://github.com/Koenkk/zigbee2mqtt/issues/2201
2019-10-25 18:43:14 +02:00
Koen Kanters
ada9316148
birthtimeMS is not realiable on Linux leading to removal of latest instead of oldest log directory which makes the logging stop.
2019-10-21 18:11:16 +02:00
Koen Kanters
f415171036
Allow null for port. https://github.com/Koenkk/zigbee2mqtt/issues/2145
2019-10-16 21:21:52 +02:00
Koen Kanters
f3a51f66fd
Make serial and serial.port optional.
2019-10-12 23:18:01 +02:00
Koen Kanters
a3bbb93f99
Update zigbee-herdsman and zigbee-herdsman-converters.
2019-10-07 19:34:10 +02:00
Koen Kanters
732a97ba0c
Don’t write to configuration.yaml when it didn’t change. https://github.com/Koenkk/zigbee2mqtt/issues/2071
2019-10-03 20:06:31 +02:00
Koen Kanters
c8eb503ae7
Simplify group optimistic mode. https://github.com/Koenkk/zigbee2mqtt/issues/764
2019-09-29 14:35:05 +02:00
Koen Kanters
67f6ccc8a8
Don’t allow duplicate friendly_name. #1876
2019-09-27 22:56:59 +02:00
Koen Kanters
d4011fabc7
Implement group optimistic ‘group_devices’ mode. https://github.com/Koenkk/zigbee2mqtt/issues/764#issuecomment-534146878
2019-09-25 12:51:17 +02:00
Koen Kanters
cfefaeb73c
Validate settings on startup with JSON schema.
2019-09-25 12:08:39 +02:00
Koen Kanters
34111159ae
Update Winston logger to 3.x
2019-09-25 10:55:50 +02:00
Koen Kanters
d4f01e6893
Replace Livolo extension with DeviceEvent. https://github.com/Koenkk/zigbee2mqtt/issues/592
2019-09-19 20:36:05 +02:00
Koen Kanters
c09f55873b
Add group optimistic feature. https://github.com/Koenkk/zigbee2mqtt/issues/764
2019-09-17 19:01:57 +02:00
Koen Kanters
21dadd631c
Don’t throw error when devices is null. https://github.com/Koenkk/zigbee2mqtt/issues/1973
2019-09-16 19:49:49 +02:00
Koen Kanters
9c5b3bf4d1
Use lastSeen from zigbee-herdsman.
2019-09-12 22:48:23 +02:00
Koen Kanters
d53e1330f5
Improve error message when reading invalid YAML file.
2019-09-11 21:42:44 +02:00
Koen Kanters
d83085ea7f
Zigbee-herdsman ( #1945 )
...
* Update zigbee-herdsman and zigbee-shepherd-converters.
* Force Aqara S2 Lock endvices (#1764 )
* Start on zigbee-herdsman controller refactor.
* More updates.
* Cleanup zapp.
* updates.
* Propagate adapter disconnected event.
* Updates.
* Initial refactor to zigbee-herdsman.
* Refactor deviceReceive to zigbee-herdsman.
* Rename
* Refactor deviceConfigure.
* Finish bridge config.
* Refactor availability.
* Active homeassistant extension and more refactors.
* Refactor groups.
* Enable soft reset.
* Activate group membership
* Start on tests.
* Enable reporting.
* Add more controller tests.
* Add more tests
* Fix linting error.
* Data en deviceReceive tests.
* Move to zigbee-herdsman-converters.
* More device publish tests.
* Cleanup dependencies.
* Bring device publish coverage to 100.
* Bring home assistant test coverage to 100.
* Device configure tests.
* Attempt to fix tests.
* Another attempt.
* Another one.
* Another one.
* Another.
* Add wait.
* Longer wait.
* Debug.
* Update dependencies.
* Another.
* Begin on availability tests.
* Improve availability tests.
* Complete deviceAvailability tests.
* Device bind tests.
* More tests.
* Begin networkmap refactors.
* start on networkmap tests.
* Network map tests.
* Add utils tests.
* Logger tests.
* Settings and logger tests.
* Ignore some stuff for coverage and add todos.
* Add remaining missing tests.
* Enforce 100% test coverage.
* Start on groups test and refactor entityPublish to resolveEntity
* Remove joinPathStorage, not used anymore as group information is stored into zigbee-herdsman database.
* Fix linting issues.
* Improve tests.
* Add groups.
* fix group membership.
* Group: log names.
* Convert MQTT message to string by default.
* Fix group name.
* Updates.
* Revert configuration.yaml.
* Add new line.
* Fixes.
* Updates.
* Fix tests.
* Ignore soft reset extension.
2019-09-09 19:48:09 +02:00
hawkefly
4d4a63f913
support aqara s2 lock pro ( #1859 )
2019-08-16 17:40:47 +02:00
Kiall Mac Innes
d96c3da8d5
Fix commit hash output in version info ( #1855 )
2019-08-13 20:03:08 +02:00
GuGu927
c1e8dd990f
Add support for Goqual zigbee switch(1~6gang) ( #1783 )
...
* Update homeassistant.js
* Update utils.js
2019-08-11 14:13:44 +02:00
Koen Kanters
fcb6c37ef0
Set whitelist to empty array when null. https://github.com/Koenkk/zigbee2mqtt/issues/1774
2019-08-11 14:13:44 +02:00
Koen Kanters
3daf97283c
Fix queue settings.
2019-07-02 19:13:06 +02:00
Koen Kanters
aca0c39291
Move queue from advanced.
2019-07-02 19:00:42 +02:00
Koen Kanters
9624384c3f
Add queue settings. https://github.com/Koenkk/Z-Stack-firmware/issues/93
2019-07-02 18:56:03 +02:00