Compare commits

...
342 Commits
Author SHA1 Message Date
Koen Kanters ff02e54f25 1.1.1 2019-02-01 23:36:20 +01:00
Koen Kanters 963064dc22 Fix Cannot read property 'close' of undefined. #937 https://github.com/danielwelch/hassio-zigbee2mqtt/issues/97 2019-02-01 23:33:59 +01:00
clockbrain a7eea5ecad Add reparenting statement to end devices (#983) 2019-01-31 20:24:04 +01:00
Koen Kanters e13bdf1a31 Add FAQ to index 2019-01-31 20:20:13 +01:00
Bruceforce 5bee8ccafe Update how_to_secure_network.md (#963)
* Update how_to_secure_network.md

Make clear that the key consists of 16 hex values and gave an example how to generate a key with command line tools.

* Clarified info about network key notation

* clarified network key notation (dec or hex)

* Update how_to_secure_network.md

Make clear that the key consists of 16 hex values and gave an example how to generate a key with command line tools.

* Remove trailing comma. #916
2019-01-31 19:09:49 +01:00
Koen Kanters 9d61184013 Fix table layout of How to create a CC2530 router 2019-01-30 17:46:03 +01:00
Andreas Brett 4f300aa72d added ZBOSS for Windows users (#968) 2019-01-30 17:44:41 +01:00
Koen Kanters cf7e0d1aa9 1.1.0 2019-01-29 21:45:36 +01:00
Koen Kanters 17874cfdc1 Make availability_timeout non experimental. #775 2019-01-29 20:17:56 +01:00
Koen Kanters e12a371093 Fix before_install tag 2019-01-29 20:13:05 +01:00
Koen Kanters 7e74b8c549 Update zigbee-shepherd-converters to 7.0.27. 2019-01-29 20:11:06 +01:00
Koen Kanters cdf64823ef Merge branch 'master' into dev
# Conflicts:
#	docs/configuration/configuration.md
#	docs/getting_started/pairing_devices.md
#	docs/index.md
#	docs/information/mqtt_topics_and_message_structure.md
2019-01-29 19:57:02 +01:00
Koen Kanters 5d195fc299 Update link to group support firmware. 2019-01-29 19:55:24 +01:00
Koen Kanters fd932926e7 Update zigbee-shepherd-converters to 7.0.26. 2019-01-28 22:22:20 +01:00
zipbee 38159a536c Add support for Gledopto devices with multiple lights in one controller (#956) 2019-01-28 22:11:55 +01:00
MarkAdamson 7e2ca5a97e Added support for Salus SP600 Smart Plug (#954) 2019-01-28 22:10:44 +01:00
Robin Meis b95dcd0f9b Adding missing T for MQTT (#957) 2019-01-28 21:19:38 +01:00
Mikkel Kroman 73f0f8fe43 Fix Docker images having the wrong platform (#952)
* travis: Update Docker and add experimental support

* travis: Build images with experimental --platform

* Update docker.sh
2019-01-27 20:32:52 +01:00
Koen Kanters 16f3e884fc Update zigbee-shepherd-converters to 7.0.25. 2019-01-27 00:45:31 +01:00
Sebastian Raff c5e6b9dd13 add hue/saturation color (#948)
* add hue/saturation color

https://github.com/Koenkk/zigbee-shepherd-converters/pull/239

* Update mqtt_topics_and_message_structure.md
2019-01-27 00:32:15 +01:00
Koen Kanters cae5d1a004 Implement queue for Xiaomi router polling. https://github.com/Koenkk/zigbee2mqtt/issues/927 2019-01-26 21:19:20 +01:00
krikk 85375ffbae How to connect a CC2530 coordinator using a USB to serial adapter (#940)
* mini howto connect cc2530 an needing configuration

hope this helps

* missing link

* Update how_to_connect_cc2530_via_usb_to_serial_adapter.md

* update

* Update cc_sniffer_devices.md
2019-01-26 21:11:42 +01:00
Boris Hajduk 43fc66c436 Update flashing_the_cc2531.md (#926) 2019-01-24 17:46:30 +01:00
nldroid 5718cd0157 Added Why is this needed for E1524 remote (#922)
Added some explanation for the E1524 remote procedure.
2019-01-23 18:05:51 +01:00
Koen Kanters dd6e34a152 Fix tests. 2019-01-22 20:44:40 +01:00
Koen Kanters 1ddf60bef0 Fix some of the clogging issues. #914 #842 2019-01-22 20:31:50 +01:00
Koen Kanters 6ff3954b71 Update zigbee-shepherd-converters to 7.0.23. 2019-01-22 20:22:16 +01:00
Simon Rasmussen 6dd2926a1d Refactored light specific transtime to generic readAfterWriteTime value (#910)
* Refactored light specific transtime value to generic readAfterWriteTime
value

* Added line break
2019-01-22 20:08:57 +01:00
clockbrain 5970e498f3 Add styling to graphviz devices and links (#894)
* Add styling to graphviz devices and links

* Fix eslint error and gvrender_set_style warning
2019-01-22 20:07:38 +01:00
Simon Rasmussen dcd81cbbf2 Updated docs to reflect thermostat enums (#912) 2019-01-22 20:06:10 +01:00
Laurent 9e5fb04314 Elapsed time (#909)
* new elapsed attribute giving the elapsed time since the previous msg

* configurable elapsed attribute

* Update deviceReceive.js

* Update deviceReceive.js
2019-01-22 20:02:34 +01:00
Koen Kanters d324a91a5f Change unit of sensor_linkquality to -. #883 2019-01-21 18:51:53 +01:00
Koen Kanters fcfeac81e4 Fix state when controlling brightness via brightness_percent. https://github.com/Koenkk/zigbee2mqtt/issues/902 2019-01-21 18:02:50 +01:00
Fredrik Lindqvist c44816efee Add simple step for securing Zigbee network (#899)
* Add simple step for securing zigbee network

* Update configuration.md

* Update how_to_secure_network.md

* Update index.md
2019-01-21 17:51:21 +01:00
Koen Kanters 86f19affa1 Ensure that state and brightness are executed before other commands. #788 2019-01-21 17:38:06 +01:00
Koen Kanters e21bfc1567 Fix tests. 2019-01-19 14:10:59 +01:00
Koen Kanters 329c290505 Update docs. 2019-01-19 14:06:26 +01:00
Hmmbob b624a8ccad Update integrating-with-homeassistant.js (#890) 2019-01-19 14:05:15 +01:00
Koen Kanters a43cd5a864 Ignore messages from coordinator. https://github.com/Koenkk/zigbee2mqtt/issues/801 2019-01-18 22:23:47 +01:00
Koen Kanters 5f6b37bf83 Support mesh networks in grapvhiz networkmap. https://github.com/Koenkk/zigbee2mqtt/issues/652 2019-01-18 22:11:01 +01:00
Koen Kanters 653dfc7b6f Update zigbee-shepherd-converters to 7.0.22. https://github.com/Koenkk/zigbee2mqtt/issues/887 2019-01-18 22:00:33 +01:00
Koen Kanters aa87443c95 Add unit_of_measurment to linkquality sensor. https://github.com/Koenkk/zigbee2mqtt/issues/883 2019-01-18 21:41:41 +01:00
Koen Kanters f5a5668359 Update zigbee-shepherd-converters to 7.0.21. 2019-01-18 20:45:24 +01:00
pnewnam 5f2e93f64d Add Device Map for Sengled downlight E1ACA4ABE38A (#881)
* Add Device Map for Sengled downlight E1ACA4ABE38A

Add mapping for Sengled recessed downlight E1A-AC2

* Add image for Sengled downlight E1A-AC2

* Add Sengled model E1A-AC2

* Add Sengled model E1A-AC2 downlight

* Update supported_devices.md
2019-01-18 20:37:29 +01:00
Laurent 7cd30a3a05 configurable last_seen (#874)
* configurable last_seen

* Refactor last_seen.
2019-01-18 20:31:55 +01:00
Ivan Salazar 34a3e3c00b add Sengled E11-G13 bulbs to deviceAvailability.js (#860)
* add Sengled E11-G13 bulbs to deviceAvailability.js

* Update deviceAvailability.js

* Refactor and add tests

* Fix linting issue
2019-01-16 20:41:41 +01:00
Koen Kanters 28e32884d9 Update zigbee-shepherd-converters to 7.0.20 2019-01-15 21:19:07 +01:00
Timo Matthias dda2e064b2 Fix Typo (#863)
* Update coordinatorGroup.js

Fix Typo

* Update deviceAvailability.js

Fix Typo
2019-01-15 17:46:53 +01:00
Koenkk 9605e724e1 Update zigbee-shepherd-converters to 7.0.19 2019-01-14 18:19:59 +01:00
Koenkk 6912f8108d Refactor json_attributes to json_attributes_topic. https://github.com/Koenkk/zigbee2mqtt/issues/840 2019-01-14 18:04:33 +01:00
Koenkk 3c0e784afb Update zigbee-shepherd-converters to 7.0.18. 2019-01-14 17:38:49 +01:00
Koen Kanters be50d650a4 Update-zigbee-shepherd-converters to 7.0.16 2019-01-13 19:12:13 +01:00
Chrischi- a5057ac101 added hilips Hue power-on behavior (#851)
* added hilips Hue power-on behavior

i also removed json syntax highlighting where comments were added. They generate a syntax error (red).
JSON doesn't support comments.

* Update mqtt_topics_and_message_structure.md
2019-01-13 18:21:22 +01:00
Sander 72a74d7dc1 Add device support for iCasa Zigbee 3.0 Dimmer (#846)
* Add device support for iCasa Zigbee 3.0 Dimmer

* Update homeassistant.js
2019-01-13 17:28:56 +01:00
Koen Kanters dccdc5aafa Publish one MQTT message when a zigbee message is converted twice. #827 2019-01-11 22:38:16 +01:00
Koen Kanters 6dd60c09bf Fix tests. 2019-01-10 18:29:13 +01:00
Koen Kanters 4ec905efca Update zigbee-shepherd-converters to 7.0.14. 2019-01-10 18:23:22 +01:00
Koen Kanters f62eabcb6d Update zigbee-shepherd-converters to 7.0.13 2019-01-10 17:52:58 +01:00
mkventure fd2cf41f0f Update homeassistant.js for HGZB-01A & 464800 (#831)
- Add Nue HGZB-01A ZigBee Smart Light Controller to enable autodiscovery. (ref: PR#203 on zigbee-shepherd-converters,  https://github.com/Koenkk/zigbee-shepherd-converters/pull/203)
- Add Hue 464800 Hue white ambiance BR30 flood light
2019-01-09 20:57:14 +01:00
Koen Kanters 755d101738 Fix crash when there are no endpoints. #819 2019-01-09 20:49:22 +01:00
Koen Kanters 6fdd58be8a Update zigbee-shepherd-converters to 7.0.12. 2019-01-08 22:07:13 +01:00
Koen Kanters 26083a62d9 Update zigbee-shepherd-converters to 7.0.11 2019-01-08 19:38:56 +01:00
Koen Kanters 30b35e7272 Prevent Message without device! messages when pairing devices. 2019-01-08 19:22:09 +01:00
Koenkk f6c01a02c9 Home Assistant: set precision in value_template. #787 2019-01-08 19:00:47 +01:00
Koenkk 35b9e6204d Implement banning devices. #816 2019-01-08 19:00:02 +01:00
boojew 84f9d09b3f Rebased and added D1531 and D1532 bulbs (#829) 2019-01-08 18:46:38 +01:00
sebastianheierhoff f260bf974b Experimental ecozy support (WIP) - Documentation (#784)
* Added ecozy Smart Thermostat documentation

* Added initial documentation for ecozy and fixed Typo

* Fixing doc issues

* Fixing doc issues

* Update mqtt_topics_and_message_structure.md

* Finalizing documentation for ecozy and Bitron thermostats

* Update mqtt_topics_and_message_structure.md

* Update mqtt_topics_and_message_structure.md
2019-01-08 18:45:35 +01:00
Koen Kanters a2ea9c548f Improve logging. 2019-01-07 18:18:14 +01:00
Koen Kanters 932a66a5c4 Home Assistant: create separate sensor for battery. #787 2019-01-06 15:42:25 +01:00
Koen Kanters 3d0541a32d Add ‘%’ unit_of_measurement for Home Assistant battery sensor. #787 2019-01-06 15:35:30 +01:00
Koen Kanters 3bb1f0f10b Update zigbee-shepherd-converters to 7.0.10. 2019-01-06 15:31:08 +01:00
MarkAdamson 85b042ac25 Add support for Hive HALIGHTDIMWWB22 (Bayonet mount) (#800) 2019-01-06 14:37:38 +01:00
davidedmundson f1fe1edb49 Add 3321-S to home assistant (#797) 2019-01-05 20:56:30 +01:00
Frank 70d177485d added support for IKEA SURTE light door 38x64 (#804)
* added support for IKEA SURTE light door 38x64

* added ikea l1531 to documentation

* Revert "added ikea l1531 to documentation"

This reverts commit ee16a3d713.
2019-01-05 16:11:44 +01:00
allofmex fd44537984 Docu added for occupancy_timeout on SML001 (#796) 2019-01-03 14:32:34 +01:00
Koen Kanters dc20816043 Add configuration for CC2530 devices. #721 2019-01-02 21:41:53 +01:00
qosmio c6d09df01a Add support for Sengled E12-N14 (BR30) Light (#793) 2019-01-01 23:42:26 +01:00
Koen Kanters 74cdde23b9 Prevent battery devices to be checked for availability. https://github.com/Koenkk/zigbee2mqtt/issues/775 2019-01-01 22:15:05 +01:00
Koen Kanters 57aefe477d Update zigbee-shepherd-converters to 7.0.9. 2019-01-01 22:03:39 +01:00
netztrip d5a3ce3871 Add support for round Hue Aurelle LTC016 (#789) 2019-01-01 13:28:50 +01:00
Koen Kanters 92de1ca942 Implement binding feature. #765 #782 (#783)
* Start on bind implementation. https://github.com/Koenkk/zigbee2mqtt/issues/765

* Finish binding implementation.
2018-12-30 22:42:55 +01:00
Koen Kanters 6f477c2923 Add hex color to documentation. https://github.com/Koenkk/zigbee-shepherd-converters/pull/180 2018-12-30 20:15:07 +01:00
Koen Kanters 5453c082c4 Fix typo availablility -> availability. #777 #775 2018-12-30 20:08:31 +01:00
Koen Kanters 07fbc1b9a3 Add how to create a CC2530 router. #465 2018-12-30 17:26:00 +01:00
Gergely Markics afeed4f372 Add device availability functionality for HASS based on router devices ping and attribute reporting also available on battery-powered devices (#761)
* Discovery on HASS restart and last_message attribute added

- On restarting Home Assistant, resending device discovery information
- Add timestamp on receiving message from Zigbee

* Add option: add_timestamp in settings

* typo

* Update homeassistant.js

* Update homeassistant.js

* Update homeassistant.js

* Update controller.js

* Update zigbee.js

* Add files via upload

* Update zigbee.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update homeassistant.js

* Update deviceAvailabilityHandler.js

* Update deviceAvailabilityHandler.js

* Update homeassistant.js

* Fix checkonline callback.

* Refactor.

* Refactor.
2018-12-29 19:55:59 +01:00
Koen Kanters 2a197a4ba8 Add tutorial on how to sniff zigbee traffic. #716 2018-12-28 14:02:03 +01:00
Koen Kanters 5e4e6d81de Add FAQ. 2018-12-27 23:26:53 +01:00
Koen Kanters faede151f3 Update zigbee-shepherd-converters to 7.0.7. #142 2018-12-27 22:51:16 +01:00
Koen Kanters ea4aaf2cfa Fix groups docs (groups -> group). https://github.com/Koenkk/zigbee2mqtt/issues/764 2018-12-27 22:39:41 +01:00
Koen Kanters ac94b95bba Update zigbee-shepherd-converters to 7.0.6. 2018-12-27 22:23:57 +01:00
Koen Kanters 708c497614 Update zigbee-shepherd. 2018-12-27 22:01:24 +01:00
DJTerentjev bd8aaea767 Add Gledopto GL-S-007Z to supported devices (#756)
* Upload GL-S-007Z image

* Add GL-S-007Z to supported devices

* Change GL-S-007Z image

* Update supported_devices.md

* Add "how to" for modelID 'undefined'

* Update how_to_support_new_devices.md

* Update how_to_support_new_devices.md

* Resize image

* Resize GL-S-007Z image

* modelID is 'undefined'

* Update supported_devices.md

* Update how_to_support_new_devices.md

* Update pairing_devices.md

* Update pairing_devices.md
2018-12-27 21:30:31 +01:00
Evildime ac4ca88b8a Add support for Xiaomi Aqara Curtain Motor (ZNCLDJ11LM) (#758)
* Add support for Xiaomi Aqara Curtain Motor (ZNCLDJ11LM)

* Update mqtt_topics_and_message_structure.md
2018-12-27 21:10:31 +01:00
Koen Kanters 8651fd7162 Merge branch 'master' into dev 2018-12-27 21:08:30 +01:00
Koen Kanters 03ff4e6e5a Finish groups documentation. #15 2018-12-27 19:37:39 +01:00
Koen Kanters 3bc2ec8c79 Simplify groups api. 2018-12-27 18:43:34 +01:00
Koen Kanters c4804e574e Fix tests. 2018-12-27 18:21:48 +01:00
Gergely Markics 5d3461c4c6 Add the timestamp of last received zigbee message visible in HASS (#739)
* Add timestamp on receiving message from Zigbee

Add last_message to the payload

* Discovery on HASS restart and last_message attribute added

- On restarting Home Assistant, resending device discovery information
- Add timestamp on receiving message from Zigbee

* Add option: add_timestamp in settings

* Add option: add_timestamp in settings

* Add option: add_timestamp in settings

* typo

* Update homeassistant.js

* Update homeassistant.js

* Update homeassistant.js

* Update deviceReceive.js

* Update deviceReceive.js

* Update homeassistant.js

* Update settings.js

* Update deviceReceive.js

* Update deviceReceive.js

* Update deviceReceive.js

* Update deviceReceive.js

* Fix tests

* Fix lint

* Fix lint
2018-12-26 17:33:39 +01:00
Koen Kanters 9380bbcadf Update README.md 2018-12-26 12:54:50 +01:00
Koen Kanters 3a0fe60b22 Update README.md 2018-12-26 12:44:45 +01:00
Der-Jan a1eea76dd4 Added OSRAM MR16 (#748) 2018-12-24 19:08:11 +01:00
Koen Kanters 69e805c882 Allow to configure network_key. https://github.com/Koenkk/zigbee2mqtt/issues/685 2018-12-24 16:29:06 +01:00
Koen Kanters 0fe3a9b45c Improve group support. #15 2018-12-24 00:39:58 +01:00
Koen Kanters ecf64c8058 Fix typo in logging. 2018-12-22 00:15:33 +01:00
Koen Kanters d3f705162d Group support #15 (#745)
* Start on group support. #15

* Implement publishing to zigbee groups. https://github.com/Koenkk/zigbee2mqtt/issues/15

* Complete first version of group support.

* Fix tests.
2018-12-22 00:07:53 +01:00
Koenkk bd8282a41a Update zigbee-shepherd-converters to 7.0.4. 2018-12-20 21:49:15 +01:00
Koenkk 82e87d563e Add semver dependency. https://github.com/Koenkk/zigbee2mqtt/issues/726 2018-12-19 17:36:06 +01:00
Koenkk d6c2b536ee Introduce device_options. https://github.com/Koenkk/zigbee2mqtt/issues/708 2018-12-19 17:33:02 +01:00
Koen Kanters 919178840f Merge branch 'master' into dev 2018-12-17 21:30:14 +01:00
Koen Kanters 84593a55ee 1.0.1 2018-12-17 21:28:17 +01:00
Koen Kanters 1b8154bac1 Fix crash when transition is used. #712 2018-12-17 21:27:13 +01:00
Koen Kanters 8a133de1d1 Fixed alternative_flashing_methods.md. #718 2018-12-17 19:54:58 +01:00
Koen Kanters 75dddf462e Update zigbee-shepherd-converters to 7.0.3. https://github.com/Koenkk/zigbee2mqtt/issues/708 2018-12-15 22:02:23 +01:00
Koen Kanters 91bbb0d4a8 1.0.0 2018-12-15 19:41:04 +01:00
Koen Kanters d25d093a1a Fix home assistant docs. 2018-12-15 19:38:29 +01:00
Koen Kanters 0bf91fd300 Sync with wiki. 2018-12-15 14:07:33 +01:00
Koen Kanters bf285681b4 Update stale.yml 2018-12-15 14:07:09 +01:00
Koen Kanters cf9a5b7553 Update zigbee-shepherd-converters to 7.0.2. 2018-12-14 22:08:01 +01:00
Koen Kanters c2a0a6b2d1 Require at least Home Assistant 0.84. https://github.com/Koenkk/zigbee2mqtt/pull/689 2018-12-14 21:50:48 +01:00
Koen Kanters eaff35421f Add logo to documentation. 2018-12-14 19:43:23 +01:00
Koen Kanters ec20bfdd15 Cleanup references to wiki. 2018-12-14 19:37:57 +01:00
Koen Kanters 1f2d3ec850 Update README.md with new logo! 2018-12-14 19:30:03 +01:00
Koen Kanters d9b418cdde Cleanup duplicate device images. 2018-12-14 19:29:43 +01:00
Koen Kanters 56ea61be3e Fix docs tests. 2018-12-13 21:40:47 +01:00
cbrherms b59afbd10d Change mqtt lights to new schema attribute (#689)
* Change mqtt lights to new schema attribute

* Update docs
2018-12-13 21:18:13 +01:00
EmmanuelLM 21fc5f0275 Update homeassistant.js (#694)
Add support for Innr B22 RGBW (BY 185 C)
2018-12-13 21:13:18 +01:00
Koen Kanters 9d6f6186b0 Merge branch 'master' into dev 2018-12-13 20:57:37 +01:00
Koen Kanters 590a897e9b Move docs from wiki to github pages. 2018-12-13 20:54:14 +01:00
Koen Kanters 753e8c3da7 Implement Home Assistant device registry. #646 2018-12-07 23:17:29 +01:00
Koen Kanters ef57083ae9 Always set name to friendly_name + object_id. #668 2018-12-07 23:13:20 +01:00
Koen Kanters 1fa13f3f96 Always set unique_id. https://github.com/Koenkk/zigbee2mqtt/pull/419 #668 #646 2018-12-07 23:09:56 +01:00
Adán SDPC 0fb84294f0 Stop caching forgotten and keyerror properties (#667)
* feat(device_receive): stop caching `forgotten` and `keyerror` properties

After this change, the `forgotten` and `keyerror` properties as emitted
by the Xiaomi Vima Smart Lock will stop being cached. Previously they
were mostly useless, because after they were set to `true`, they were
never being unset or set back to `false` upon a successful unlock.

Close #666

* chore(device_receive): order uncached properties lexicographically

As the list of uncached properties grows over time, it could be
useful to order them lexicographically. This will make life easier
to any developer looking for a particular property in the list, and
in overall makes things look tidier.
2018-12-07 17:51:34 +01:00
Koen Kanters 828df38e09 Fix failing docgen test. 2018-12-06 21:28:23 +01:00
Koen Kanters a13bd85ef3 Update zigbee-shepherd-converters to 7.0.1 2018-12-06 21:27:41 +01:00
Koen Kanters 65526e7f68 Revert "Experimental support for home assistant device registry. https://github.com/Koenkk/zigbee2mqtt/issues/646"
This reverts commit 7ea1fc66c2.
2018-12-06 21:27:41 +01:00
johnnyletrois 81d04d3dae Support Iris 3326-L occupancy/temperature sensor (#651)
* Support Iris 3326-L occupancy/temperature sensor

* Support for Iris contact sensor 3320-L
2018-12-06 21:27:41 +01:00
Koen Kanters 16c222d3b3 Support iAS cluster. (#654)
* Implement zapp-cie. https://github.com/Koenkk/zigbee2mqtt/issues/507

* Cleanup cie app. https://github.com/Koenkk/zigbee2mqtt/issues/507

* Update package.json

* Update zigbee.js
2018-12-06 21:27:41 +01:00
Koen Kanters 0e61618935 Experimental support for home assistant device registry. https://github.com/Koenkk/zigbee2mqtt/issues/646 2018-12-06 21:27:41 +01:00
Koen Kanters bede1032e6 Refresh state after transition. https://github.com/Koenkk/zigbee-shepherd-converters/issues/155 2018-12-06 21:27:41 +01:00
Koen Kanters 0786f22ce6 Prepare for github pages. 2018-12-06 21:27:41 +01:00
Koen Kanters c9c4fad7df Fix bridge/config topic. https://github.com/Koenkk/zigbee2mqtt/issues/626 2018-12-06 21:27:41 +01:00
Koen Kanters a52d3ea073 Publish bridge config. https://github.com/Koenkk/zigbee2mqtt/issues/626 2018-12-06 21:27:41 +01:00
Koen Kanters dcc410f6c5 Update zigbee-shepherd-converters to 6.0.7. 2018-12-06 21:27:41 +01:00
Dennis van den Bos c7743e6734 added Climax PSS-23ZBS power plug (#644) 2018-12-06 21:27:41 +01:00
Koenkk cc56141c39 Docker unlock nodejs and npm version. 2018-12-06 21:27:41 +01:00
Koenkk 60c2593669 Skip state when brightness is also published (reduces amount of useless zigbee commands). 2018-12-06 21:27:41 +01:00
Koenkk db945c90be Update zigbee-shepherd-converters to 6.0.6. https://github.com/Koenkk/zigbee2mqtt/issues/627 2018-12-06 21:27:41 +01:00
Koenkk 9df1065634 Add test with brightness as number. 2018-12-06 21:27:41 +01:00
Koenkk 65f23171e6 Update zigbee-shepherd-converters to 6.0.4 2018-12-06 21:27:41 +01:00
Koenkk 920d1c91c7 Update zigbee-shepherd-converters to 6.0.1 2018-12-06 21:27:41 +01:00
Koenkk 698b40554e Improve tests. 2018-12-06 21:27:41 +01:00
Koenkk cb9beaa2ad Fix getDeviceInfoForMqtt crash. https://github.com/Koenkk/zigbee2mqtt/issues/632 2018-12-06 21:27:41 +01:00
Koenkk d652856e90 Update zigbee-shepherd-converters 6.0.0. https://github.com/Koenkk/zigbee2mqtt/issues/608 2018-12-06 21:27:41 +01:00
Koenkk 7d09d065c5 Update zigbee-shepherd-converters to 5.0.3. https://github.com/Koenkk/zigbee2mqtt/issues/627 2018-12-06 21:27:41 +01:00
Koenkk 352fa2db50 More tests. 2018-12-06 21:27:41 +01:00
Koenkk 349ebad659 Move docs to repo 2018-12-06 21:27:41 +01:00
Koenkk 8fefa16fbc Prepare for github pages. 2018-12-06 21:27:41 +01:00
Koenkk 99b330e85e Lint 2018-12-06 21:27:41 +01:00
Koenkk 3f49e2e596 Don’t use unsupported json_attributes binary_sensor attribute. https://github.com/Koenkk/zigbee2mqtt/issues/605 2018-12-06 21:27:41 +01:00
Koenkk dcb75b19d3 Default postfix to empty string. https://github.com/Koenkk/zigbee2mqtt/issues/593 2018-12-06 21:27:41 +01:00
Koenkk c213a96133 Add missing device images. 2018-12-06 21:27:41 +01:00
Koenkk 78984a65ab Add devices images to repository. 2018-12-06 21:27:41 +01:00
Koenkk 6c059c3898 Update zigbee-shepherd-converters (remove onAfIncomingMsg code). https://github.com/Koenkk/zigbee2mqtt/issues/553 2018-12-06 21:27:41 +01:00
Koenkk ac6eb19aff Fix node version requirement. https://github.com/Koenkk/zigbee2mqtt/issues/596 2018-12-06 21:27:41 +01:00
Koenkk 6df4e39f18 Refactor! 2018-12-06 21:27:36 +01:00
Koenkk b0d3c2f964 0.2.0 2018-11-14 19:18:31 +01:00
Koenkk f797a12250 Update zigbee-shepherd-converters. 2018-11-14 18:32:02 +01:00
Jonas Janz 081d3c3dfe update docs for Home Hssistant (#583)
This adds a hint that you 'need' to set "hass/state" as a topic if you want zigbee2mqtt to resend the cached values on restarts.
2018-11-11 20:04:34 +01:00
Koenkk 7ca966ce39 npm is not installed by default anymore in Alpine. 2018-11-07 20:25:38 +01:00
Koenkk fc664bdc68 Fix node version to >=8.11 10 and implement check on startup. https://github.com/Koenkk/zigbee2mqtt/issues/552 2018-11-07 20:05:14 +01:00
Koenkk 2cb27b14f9 Allow ‘/‘ in friendly_name. https://github.com/Koenkk/zigbee2mqtt/issues/470 2018-11-07 19:40:58 +01:00
Koenkk 86a102e081 Only mock state after set. #518 2018-11-06 21:20:03 +01:00
Koenkk 9119e54c2c Prepare for read commands. https://github.com/Koenkk/zigbee2mqtt/issues/518 2018-11-05 21:55:30 +01:00
Dustin Wyatt f379bc0391 add linkquality to json_attributes for HA discovery (#566) 2018-11-05 19:39:36 +01:00
Koenkk 2e736bf501 Update zigbee-shepherd-converters to 4.0.11 2018-10-31 17:10:28 +01:00
Stanislav Demydiuk 1e7f985d4e Support both DeviceID and FriendlyName in device control topic (#476) 2018-10-30 21:23:34 +01:00
Koenkk 61c4ff33e0 Update zigbee-shepherd-converters to 4.0.10 2018-10-29 21:34:48 +01:00
mmnpkf 73ae48f387 Add Sengled Element Classic (A60) - B22 fitting (#544)
* Add Sengled Element Classic (A60) - B22 fitting

The Sengled Element Classic with Edison fitting (E27) is already defined - model E11-G23.  The same bulb comes with a bayonet fitting (B22) with a slightly different model number - E11-G33.

* Update homeassistant.js

* Update homeassistant.js
2018-10-29 21:12:37 +01:00
Stanislav Demydiuk 0a1c60b2cf Add Link for Domoticz integration to Readme (#546) 2018-10-29 08:29:28 +01:00
Koenkk 4eb56319c4 Update zigbee-shepherd-converters to 4.0.9 2018-10-25 20:44:55 +02:00
mmnpkf d8ea36af29 Add Nue Double GPO (au version) to Home Assistant (#506)
* Update homeassistant.js

Add code to expose Nue double power outlet (au version) to Home Assistant

* Update homeassistant.js
2018-10-25 20:43:31 +02:00
Felix Triller d0cf61bf10 Use Home Assistant's device_class (#528)
* Use Home Assistant's device_class for sensors.

* Unit for pressure should be hPa

* There is no device_class lock
2018-10-24 21:10:42 +02:00
Koenkk ddb83cc6e4 Handle zigbee commands sequentially (and refactor it). #529 2018-10-23 20:39:48 +02:00
Jens Willmer e54de4bea7 Adding update script (#525)
* Adding update script

Fix #389

* Update update.sh :)

* Make executable & update update.sh
2018-10-22 18:08:03 +02:00
Koenkk 97cc56b691 0.1.8 2018-10-19 22:44:26 +02:00
Koenkk c9df5c8221 Update zigbee-shepherd-converters to 4.0.7. 2018-10-19 22:27:29 +02:00
dcshoes23 7f13e2c3e6 Add homeassistant auto-discovery support for CE LED potlight 4" (#505) 2018-10-19 22:20:11 +02:00
Koenkk 0aab565083 Update zigbee-shepherd-converters to 4.0.6 2018-10-17 21:17:45 +02:00
Kiall Mac Innes 153f8bcfb5 Add Philips Hue white ambiance E14 (LTW012) HA Support (#491)
Adds HA support for LTW012 devices - See https://github.com/Koenkk/zigbee-shepherd-converters/pull/100
2018-10-17 18:25:33 +02:00
Simon van der Veldt c04ed81adb Fix typo in logging messages (#486) 2018-10-16 17:51:54 +02:00
Koen Kanters a1cf75456b Fix state caching. #485 2018-10-16 17:34:46 +02:00
Koenkk b063e67e24 Update zigbee-shepherd-converters to 4.0.5. https://github.com/Koenkk/zigbee2mqtt/issues/467 2018-10-15 19:07:12 +02:00
Koenkk a4da482225 0.1.7 2018-10-15 17:37:06 +02:00
Koenkk 98302bebd1 Update zigbee-shepherd-converters to 4.0.3 2018-10-09 21:28:32 +02:00
AnhDuc85 2197328db5 add homeassistant config for Osram Outdoor Lantern W RGBW OSRAM (#464) 2018-10-09 20:47:29 +02:00
Koen Kanters c5b9176614 Fix unique_id being set when not all devices have a friendly_name. 2018-10-08 20:25:04 +02:00
Laurent 0322354c37 [RFC] graphviz network map, display all devices (#443)
* network map, more info

* add a get(All)Devices method to zigbee

* graphviz: display all devices

loop through all devices, display all devices even those that haven't
responded to the lqi scan.

* makes eslint happy :)

* remove null chars from network map graphviz output

makes graphviz happy :-)

* Improvements to graphviz network map

* Always add device type
2018-10-07 21:46:54 +02:00
Koenkk b692c94fe9 Update zigbee-shepherd. https://github.com/Koenkk/zigbee-shepherd/pull/6 2018-10-05 22:08:47 +02:00
Koenkk 1496861811 Fix https://github.com/Koenkk/zigbee2mqtt/issues/373 again. 2018-10-05 20:54:57 +02:00
Koen Kanters 5459152f01 Fix Koenkk. #451 2018-10-05 19:35:23 +02:00
Koenkk 1db926173d Refactor router polling & only poll Xiaomi routers, refactor soft reset timeout and disable by default. #274 2018-10-02 21:15:12 +02:00
Koenkk da9ee71d80 Fix crash when deviceSettings are missing. 2018-10-02 20:35:14 +02:00
Phil Hawthorne d9f02230a0 Add autodiscovery support for Sylvania MR16 (#435)
Adds auto discovery support for the MR16 smart bulbs from
Osram/Sylvania.
2018-10-01 16:39:23 +02:00
Koenkk bf68f4575f Update zigbee-shepherd-converters to 4.0.2 2018-09-29 23:05:18 +02:00
Koenkk 33ea08ad22 Update dependencies for. #388 2018-09-29 23:05:18 +02:00
UnrealKazu 3a17db7c79 Add support for TRADFRI Control Outlet (#413)
The control outlet is a switch, hence the switch configuration.
2018-09-29 23:05:18 +02:00
Koenkk e55252b9ff Mock state ON when moveToLevelWithOnOff succeeds. https://github.com/Koenkk/zigbee-shepherd-converters/pull/81 2018-09-29 23:05:18 +02:00
Koenkk 71d12c3c71 Revert "Allow joining through specified device."
This reverts commit bf85ea1494.
2018-09-29 23:05:18 +02:00
Koenkk bc7b2bd5e0 Allow joining through specified device. 2018-09-29 23:05:18 +02:00
Koenkk 50d58d3dff Always call zigbee shepherd permit join (in both true and false). 2018-09-29 23:05:18 +02:00
Koenkk 4180bd8933 Add friendly_name to graphviz network map. #252 2018-09-29 23:05:18 +02:00
Koenkk 172d11677b Update zigbee-shepherd-converters. 2018-09-29 23:05:18 +02:00
Plácido Revilla ab5537e18c Add support for GE 45857 in-wall smart dimmer (#394)
* Add support for homeassistant discovery of E11-N1EA

* Add support for GE 45857 in-wall smart dimmer
2018-09-29 23:05:18 +02:00
Viet Dzung b06e3b61f2 Support cfg in foundation and functional (#390)
* Support cfg in foundation and functional

* Update zigbee-shepherd-converters.
2018-09-29 23:05:18 +02:00
Stanislav Demydiuk 03d913defc Add ability to send device information in MQTT message payload (#374) 2018-09-29 23:05:18 +02:00
Koenkk e4bcac5411 Update zigbee-shepherd. https://github.com/Koenkk/zigbee-shepherd/pull/4 2018-09-29 23:05:18 +02:00
Koenkk 5ed29d045b 0.1.6 2018-09-23 11:21:24 +02:00
Koen Kanters 75acffa8c7 Fix topicPrefix parsing. #387 2018-09-21 11:12:51 +02:00
Koenkk ade84dc6c0 Fix MQTT command with prefix, introduced in #c22f8b3. #387 2018-09-20 16:16:57 +02:00
Koenkk 7d49e136a6 0.1.5 2018-09-19 21:00:03 +02:00
Koenkk 0c1dba7208 Fix functional command. #386 2018-09-19 20:59:30 +02:00
Koenkk 63f4f681c4 0.1.4 2018-09-19 18:59:52 +02:00
Unknown 1afbe05318 Update zigbee-shepherd-converters. 2018-09-18 22:24:17 +02:00
Plácido Revilla 8376b7c5f6 Add support for homeassistant discovery of E11-N1EA (#379) 2018-09-18 18:07:33 +02:00
Unknown b71a9920de Update zcl-packet. #373 2018-09-18 18:03:27 +02:00
Unknown 2fd59cb7ef Remove log_directory_timestamp option, implement default settings, no : in timestamp. #356 #381 2018-09-18 17:51:34 +02:00
Zhong Jianxin 60e72c612c Allow no timestamp in log directory (#356)
* Allow no timestamp in log directory

* Update log_directory_timestamp option
2018-09-17 22:55:17 +02:00
Koen Kanters fbbc1fad73 Merge pull request #371 from dzungpv/dev
Fix foundation error from #8433571
2018-09-14 08:34:58 +02:00
Koen Kanters d5de918247 Revert 2018-09-14 08:33:28 +02:00
Koen Kanters f916ec5f4c Update foundation publish 2018-09-14 08:31:11 +02:00
Viet Dzung 469a01ebb6 Fix foundation error from #8433571 2018-09-14 10:01:07 +07:00
Koenkk 6ede5a373e Update zigbee-shepherd/zcl-packet. 2018-09-12 22:16:59 +02:00
Koenkk 6e1af542e5 Update zigbee-shepherd-converter. 2018-09-11 22:04:37 +02:00
Koen Kanters 53051e9192 Merge pull request #351 from lolorc/linkquality0
don't ignore linkquality when its value is 0
2018-09-11 21:42:03 +02:00
Koenkk 542a5f1564 Update zigbee-shepherd-converters. #355 2018-09-11 21:41:24 +02:00
Koen Kanters b82f0e46aa Use hasOwnProperty for linkquality check. https://stackoverflow.com/questions/13632999/if-key-in-object-or-ifobject-hasownpropertykey 2018-09-11 21:38:01 +02:00
Koen Kanters f0f2dc847b Merge pull request #355 from dzungpv/dev
Support Foundation Command for use in zigbee-shepherd converter
2018-09-11 21:34:25 +02:00
Koenkk 8433571b1e Refactor multiple foundation. 2018-09-11 21:28:30 +02:00
Koenkk 2141d670bf Update dependencies. 2018-09-11 18:01:48 +02:00
Viet Dzung fccb4de565 Fix Lint error 2018-09-11 14:28:04 +07:00
Viet Dzung 236afaacaf Support Foundation Command for use in zigbee-shepherd converter https://github.com/zigbeer/zcl-packet/wiki/6.-Appendix#FoundCmdTbl 2018-09-11 13:59:49 +07:00
Koenkk f463ca68a5 Improve zigbee message debug logging. 2018-09-10 18:06:29 +02:00
Laurent 7502ba5312 don't ignore linkquality when its value is 0 2018-09-09 19:28:38 +02:00
Koen Kanters c05b70b30b Merge pull request #325 from sebastianheierhoff/master
Fix issue #306: Sending config msg works only with default topic
2018-09-03 16:24:23 +02:00
sebastianheierhoff c22f8b36ba Fix issue #306: Sending config msg works only with default topic 2018-08-31 12:34:59 +02:00
Koenkk 7276d116c2 Update dependencies. 2018-08-30 18:06:52 +02:00
Koen Kanters 1b7549dd73 Merge pull request #316 from sebastianheierhoff/master
Fix issue #229: router devices can't be managed by zigbee2mqtt
2018-08-30 17:59:22 +02:00
Koen Kanters 7e4fff8454 Merge pull request #313 from TheCellMC/master
Add support for Philips Hue motion sensor
2018-08-30 17:53:09 +02:00
sebastianheierhoff ad43d61f28 Fix issue #229: router devices can't be managed by zigbee2mqtt 2018-08-29 19:22:36 +02:00
sebastianheierhoff ed5c52654f Fix issue #229: router devices can't be managed by zigbee2mqtt 2018-08-29 19:19:54 +02:00
sebastianheierhoff 4f1b521bee Fix issue #229: router devices can't be managed by zigbee2mqtt 2018-08-29 18:49:01 +02:00
TheCellMC a46f06a312 Update homeassistant.js 2018-08-29 09:14:20 +02:00
TheCellMC 6311dfb0f1 Update homeassistant.js 2018-08-29 09:11:41 +02:00
TheCellMC ee82a885f7 Update homeassistant.js 2018-08-29 08:57:11 +02:00
TheCellMC 88e6c10fb2 Added support for hue motion sensor 2018-08-29 08:44:31 +02:00
TheCellMC 88524b7aed Added support for hue motion sensor 2018-08-29 08:44:22 +02:00
Koenkk b2a27dd64a Implement basic graphviz networkmap. #252 2018-08-28 22:07:57 +02:00
Koenkk 2a520b0e81 Raw implementation of network map. #252 2018-08-28 21:55:00 +02:00
Koenkk 0c32f25203 Update zigbee-shepherd-converters to 2.0.44 2018-08-25 00:11:42 +02:00
Koen Kanters 1aa020875a Merge pull request #218 from arontsang/master
Allow user to able use the same kind of click multiple times
2018-08-25 00:02:19 +02:00
Koen Kanters 9e5acdc94e Merge branch 'dev' into master 2018-08-24 23:59:39 +02:00
Koen Kanters 417879b6a8 Add force_update: true for action 2018-08-24 23:58:44 +02:00
Koen Kanters 4ee7845b2a Merge pull request #292 from carpenike/master
Added Self Signed CA Support
2018-08-17 18:41:36 +02:00
Koen Kanters fb9600d55d Change selfsigned to reject_unauthorized 2018-08-17 18:39:45 +02:00
Koen Kanters 47de3e20ae Remove selfsigned from configuration.yaml 2018-08-17 18:34:33 +02:00
Koenkk c8c8417192 0.1.3 2018-08-17 18:32:11 +02:00
Ryan Holt c00f091d7f removed trailing whitespace 2018-08-17 12:25:02 -04:00
Ryan Holt b0b2bd2444 adjusted whitespace to remove tabs and replace with spaces. 2018-08-17 12:22:27 -04:00
Ryan Holt 1e0c64caf5 made true default within commented section. 2018-08-17 12:17:18 -04:00
Ryan Holt db1fd6dd12 removed dockerfile 2018-08-17 12:16:47 -04:00
Ryan Holt 9ee0049248 adjusted to support self-signed certificates on mqtt 2018-08-17 12:15:44 -04:00
Koen Kanters 56a0f6256b Merge pull request #287 from tb-killa/logfile-extended
Logfile extended
2018-08-16 20:12:07 +02:00
Koenkk 197a3cdebc Update log file extension. 2018-08-16 20:04:29 +02:00
tb-killa c520985a4f Implement cleanup-function for logfiles 2018-08-16 19:07:32 +02:00
tb-killa 931926cd96 add fs and bring in advanced logname with dateformat 2018-08-16 19:07:32 +02:00
tb-killa 427c99cd83 add moment to logger.js 2018-08-16 19:06:48 +02:00
tb-killa c2cd02e790 add moment to package.json 2018-08-16 19:06:48 +02:00
Koenkk a921394240 Merge branch 'dev' of https://github.com/Koenkk/zigbee2mqtt into dev 2018-08-16 18:56:51 +02:00
Koenkk 21f047f4aa Use localtimestamp for file logging. #289 2018-08-16 18:56:33 +02:00
Koenkk 9a70c95672 Start adding tests. 2018-08-15 22:19:54 +02:00
Koenkk fc2e93d96f Update dependencies 2018-08-15 21:10:19 +02:00
Koenkk 494c15a731 Update dependencies. 2018-08-13 20:37:01 +02:00
Koen Kanters 23a2feb7cf Merge pull request #275 from redmusicxd/patch-1
Trust ZLED-2709
2018-08-13 19:22:39 +02:00
redmusicxd f4ceccaa9b Trust ZLED-2709 2018-08-13 19:22:24 +02:00
Koenkk b4398e21c3 Fix linting 2018-08-13 19:21:55 +02:00
tb-killa 3900d56d6e Extend ping function with friendlyName logging 2018-08-13 19:21:55 +02:00
tb-killa 08f64b96be remove arrow separator 2018-08-13 19:21:55 +02:00
tb-killa 8411c0b30d Change logger-formatter confirm to zigbee-shepherd debug 2018-08-13 19:21:55 +02:00
Koenkk 43260a3a83 Implement mqtt last will message. #267 2018-08-13 19:21:55 +02:00
Koenkk 6f4013fd94 Update zigbee-shepherd-converters. https://github.com/Koenkk/zigbee2mqtt/issues/204 2018-08-13 19:21:55 +02:00
Koenkk 426a89914f Update zigbee-shepherd. #252 2018-08-13 19:21:55 +02:00
tb-killa 4fa1a4c57a Extend configureDevice with friendlyName Output 2018-08-13 19:21:55 +02:00
Koenkk 5ddfcea8f3 Log coordinator firmware version on startup. 2018-08-13 19:21:55 +02:00
Koenkk 502c0cb852 Log error when zigbee command fails. #254 2018-08-13 19:21:55 +02:00
Koenkk 07d8fd5605 Update zigbee-shepherd. 2018-08-13 19:21:55 +02:00
Daniel Welch 445ccb5bbd Update trigger-downstream.sh to dev branch
https://github.com/Koenkk/zigbee-shepherd-converters/pull/46#issuecomment-410533163
@Koenkk
The problem here was that this script is triggered with pushes to `master`, not `dev`. I've updated the edge add-on version to use the `dev` branch rather than `master`. A new image is building now and should be available soon using the dev branch.
2018-08-13 19:21:55 +02:00
Koenkk 74c8758a3b Update zigbee-shepherd. 2018-08-13 19:21:55 +02:00
Koenkk 1f6f73e8d2 Allow to log to custom directory. #207 #182 2018-08-13 19:21:55 +02:00
Koenkk 04b2f24d6b Persist devices state across restarts. #249 2018-08-13 19:21:55 +02:00
Alex Mekkering 5e96c46a7a Update to serialport 6.2.2 2018-08-13 19:21:55 +02:00
Koenkk ec4f5e1472 Update dependencies. 2018-08-13 19:21:55 +02:00
Koenkk 32a512ea6b Update zcl-packet. #150 2018-08-13 19:21:55 +02:00
Koenkk 46a3461e76 Update dependencies 2018-08-13 19:21:55 +02:00
Koenkk fe92e9c421 Fix package.json 2018-08-13 19:21:55 +02:00
Koenkk 2f02168fcb Update to latest zcl-packet. #150 #198 2018-08-13 19:21:55 +02:00
Koenkk 2ba86a13eb Add linkquality to messages. #173 2018-08-13 19:21:55 +02:00
Koen Kanters 7dd1c75be0 Update issue template. #264 2018-08-09 17:56:51 +02:00
Koen Kanters b5f0e9b958 Update ISSUE_TEMPLATE.md 2018-08-08 19:05:22 +02:00
Koenkk bd901ec9dd Add issue template. #264 2018-08-08 19:04:24 +02:00
Koenkk a3d89c0137 0.1.2 2018-07-31 17:20:50 +02:00
Koenkk f1ae2194c9 Lock zigbee-shepherd version. #236 2018-07-31 17:18:19 +02:00
Koenkk 738c31c758 0.1.1 2018-07-27 18:06:57 +02:00
Koenkk f8fcf3a7c8 Temp: lock zcl-packet to older version. #198 2018-07-27 17:49:56 +02:00
Koen Kanters ae863ba5ab Merge pull request #219 from jaaps/hue-bloom
Add Hue Bloom support
2018-07-27 17:39:45 +02:00
Koenkk 5e66019390 Update zigbee-shepherd-converters. 2018-07-27 17:39:31 +02:00
jaaps 696e6b4787 Add Hue Bloom support 2018-07-27 10:09:13 +02:00
Aron Tsang 7403fc7ce4 Add force update 2018-07-27 03:17:09 +08:00
Aron Tsang 79d8cb69c0 Expire clicks after 1 second so you can click again 2018-07-27 03:00:07 +08:00
Koen Kanters b33878304f Merge pull request #214 from Koenkk/issue_148
Add support for MQTT client ID. #148
2018-07-24 18:34:02 +02:00
Koenkk 6e71c48108 Merge branch 'issue_148' of https://github.com/Koenkk/zigbee2mqtt into issue_148 2018-07-24 18:31:41 +02:00
Koenkk 2b7aeed4fb Add support for MQTT client ID. #148 2018-07-24 18:31:16 +02:00
Koen Kanters b3cedc4ad1 Merge pull request #206 from tb-killa/rename-devices
Rename devices (friendly_name) ->  (#177)
2018-07-24 18:27:04 +02:00
Koenkk 8ea62f535e Update change friendly name of device. 2018-07-24 18:25:16 +02:00
Koenkk de879858a5 Update zigbee-shepherd-converters to 2.0.33. 2018-07-22 18:49:45 +02:00
Koenkk d4ba3ae069 Update zigbee-shepherd-converters. 2018-07-21 21:28:42 +02:00
Koenkk 0e608c7b2e Add disable_led option. #133 2018-07-21 21:13:28 +02:00
tb-killa aab18de88d ADD Rename Function via MQTT Command 2018-07-21 18:19:11 +02:00
tb-killa 6d684b7c11 ADD RenameFriendlyName Function 2018-07-21 18:15:56 +02:00
Koenkk 396e4b1bed Update zigbee-shepherd-converters. 2018-07-18 22:50:28 +02:00
Koenkk 04d7a87765 Fix logging of unsupported cid. #199 2018-07-18 22:30:51 +02:00
Koenkk 49878e093d Log message on unsupported cid. 2018-07-14 21:22:50 +02:00
Koenkk 209624cbef Update zigbee-shepherd-converters to 2.0.28. 2018-07-14 21:10:46 +02:00
Koen Kanters 65a9645677 Merge pull request #191 from tomusher/gledopto-rgbcct-controller-support
Add mapping for Gledopto RGB+CCT controller for Home Assistant
2018-07-12 17:47:29 +02:00
Koen Kanters ad41ed6dcf Merge branch 'dev' into gledopto-rgbcct-controller-support 2018-07-12 17:43:44 +02:00
Tom Usher b494136c22 Add mapping for Gledopto RGB+CCT controller for Home Assistant 2018-07-11 13:19:01 +01:00
Koenkk 356ed9fa39 Update zigbee-shepherd and zigbee-shepherd-conveters for 324131092621 support. #36 2018-07-10 18:43:31 +02:00
Koenkk 8b5938f73f Update zigbee-shepherd-converters. 2018-07-07 23:39:30 +02:00
Koenkk 51d8c79ef2 Update zigbee-shepherd (includes firmware revision information). https://github.com/Koenkk/zigbee2mqtt/issues/178 2018-07-05 21:23:30 +02:00
Koenkk 3897541366 Log zigbee-shepherd information on startup. #178 2018-07-05 20:06:38 +02:00
Koenkk 0eee507edb Travis.yml check if TRAVIS_TAG is set to “”. 2018-07-05 20:00:12 +02:00
Koenkk caf87e805d Update zcl-packet. https://github.com/Koenkk/zigbee2mqtt/issues/150 2018-07-05 19:43:54 +02:00
Koenkk ecc734cff9 Add support for MQTT client ID. #148 2018-06-26 19:33:26 +02:00
311 changed files with 13173 additions and 3944 deletions
+1 -2
View File
@@ -1,2 +1 @@
node_modules/*
support/*
node_modules/*
+9 -5
View File
@@ -1,17 +1,21 @@
{
"env": {
"mocha": true,
"es6": true,
"node": true
},
"extends": ["eslint:recommended", "google"],
"parserOptions": {
"ecmaFeatures": {
"experimentalObjectRestSpread": true
},
"ecmaVersion": 2018,
"sourceType": "module"
},
"rules": {
"require-jsdoc": "off",
"indent": ["error", 4],
"max-len": ["error", { "code": 120 }]
}
"max-len": ["error", { "code": 120 }],
"mocha/no-exclusive-tests": "error"
},
"plugins": [
"mocha"
]
}
+16
View File
@@ -0,0 +1,16 @@
Did you read the FAQ?
https://koenkk.github.io/zigbee2mqtt/information/FAQ.md
Unsupported device?
https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html
A question?
Read the documentation: https://koenkk.github.io/zigbee2mqtt/
Bug report:
- First make sure your on the latest version of zigbee2mqtt.
- Make sure you are running the latest CC253X firmware from https://github.com/koenkk/z-stack-firmware.
- Provide a clear description of the problem.
- If applicable, provide steps how to reproduce the problem.
- Provide a log with `log_level` set to `debug`, see https://koenkk.github.io/zigbee2mqtt/configuration/configuration.html
- DON'T copy logs directly here, post a link to https://hastebin.com/ or https://pastebin.com/.
-4
View File
@@ -2,10 +2,6 @@
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- enhancement
- bug
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
+4 -1
View File
@@ -60,4 +60,7 @@ typings/
# data
data/database.db
data/config.json
data/log*.txt
data/log*.txt
data/state.json
data/log
data-backup/
+10 -5
View File
@@ -6,18 +6,23 @@ services:
- docker
node_js:
- "8"
- "10"
before_install:
- "echo '{\"experimental\": true}' | sudo tee /etc/docker/daemon.json"
- sudo apt update -y
- sudo apt install --only-upgrade docker-ce -y
- sudo service docker restart
install:
- npm install
script:
- npm run verify-homeassistant-mapping
before_script:
- npm test
- npm run eslint
after_success:
script:
- ".travis/docker.sh"
- ".travis/wiki.sh"
- ".travis/trigger-downstream.sh"
env:
+8 -8
View File
@@ -10,22 +10,22 @@ tag_push() {
}
build_and_push() {
docker build --build-arg COMMIT=$(git rev-parse --short HEAD) -t $DOCKER_USERNAME/zigbee2mqtt:$1 -f $2 .
docker build --platform=$3 --build-arg COMMIT=$(git rev-parse --short HEAD) -t $DOCKER_USERNAME/zigbee2mqtt:$1 -f $2 .
docker push $DOCKER_USERNAME/zigbee2mqtt:$1
}
# Only update Docker images for:
# - dev branch
# - version release
if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ ! -z ${TRAVIS_TAG+x} ]
if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ ! -z ${TRAVIS_TAG+x} ] && [ ! "$TRAVIS_TAG" = "" ]
then
echo "Updating docker images for master branch!"
login
# Push versioned images
build_and_push "$TRAVIS_TAG" docker/Dockerfile.amd64
build_and_push "$TRAVIS_TAG-arm32v6" docker/Dockerfile.arm32v6
build_and_push "$TRAVIS_TAG-arm64v8" docker/Dockerfile.arm64v8
build_and_push "$TRAVIS_TAG" docker/Dockerfile.amd64 amd64
build_and_push "$TRAVIS_TAG-arm32v6" docker/Dockerfile.arm32v6 arm
build_and_push "$TRAVIS_TAG-arm64v8" docker/Dockerfile.arm64v8 arm64
# Push latest images.
tag_push "$TRAVIS_TAG-arm32v6" "arm32v6"
@@ -35,9 +35,9 @@ elif [ "$TRAVIS_BRANCH" = "dev" -a "$TRAVIS_PULL_REQUEST" = "false" ]
then
echo "Updating docker images for dev branch!"
login
build_and_push latest-dev docker/Dockerfile.amd64
build_and_push arm32v6-dev docker/Dockerfile.arm32v6
build_and_push arm64v8-dev docker/Dockerfile.arm64v8
build_and_push latest-dev docker/Dockerfile.amd64 amd64
build_and_push arm32v6-dev docker/Dockerfile.arm32v6 arm
build_and_push arm64v8-dev docker/Dockerfile.arm64v8 arm64
else
echo "Not updating docker images, triggered by pull request or not on master/dev branch"
fi
+3 -3
View File
@@ -20,11 +20,11 @@ function travis_trigger() {
"https://api.travis-ci.org/repo/${org}%2F${repo}/requests"
}
# Only trigger downstream if on master branch and not pull request
if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]
# Only trigger downstream if on dev branch and not pull request
if [ "$TRAVIS_BRANCH" = "dev" -a "$TRAVIS_PULL_REQUEST" = "false" ]
then
echo "Triggering build of downstream projects!"
travis_trigger "danielwelch" "hassio-zigbee2mqtt" "master"
else
echo "Not triggering build of downstream projects, triggered by pull request or not on master branch"
echo "Not triggering build of downstream projects, triggered by pull request or not on dev branch"
fi
-28
View File
@@ -1,28 +0,0 @@
#!/bin/sh -e
setup_git() {
git config --global user.email "travis@travis-ci.org"
git config --global user.name "Travis CI"
}
update_wiki() {
rm -rf zigbee2mqtt.wiki
git clone https://${GH_TOKEN}@github.com/Koenkk/zigbee2mqtt.wiki.git
npm run docgen zigbee2mqtt.wiki
cd zigbee2mqtt.wiki
git add -A
git diff-index --quiet HEAD || git commit -m "Travis CI: update wiki"
git push origin
cd ..
rm -rf zigbee2mqtt.wiki
}
# Only update wiki if on master branch and not pull request
if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]
then
echo "Updating wiki!"
setup_git
update_wiki
else
echo "Not updating wiki, triggered by pull request or not on master branch"
fi
+45 -29
View File
@@ -1,44 +1,60 @@
[![Travis](https://img.shields.io/travis/Koenkk/zigbee2mqtt.svg)](https://api.travis-ci.org/Koenkk/zigbee2mqtt.svg)
<div align="center">
<a href="https://github.com/koenkk/zigbee2mqtt">
<img width="150" height="150" src="images/logo.png">
</a>
<br>
<br>
<div style="display: flex;">
<a href="https://travis-ci.org/Koenkk/zigbee2mqtt/">
<img src="https://img.shields.io/travis/Koenkk/zigbee2mqtt.svg">
</a>
<a href="https://github.com/Koenkk/zigbee2mqtt/releases">
<img src="https://img.shields.io/github/release/koenkk/zigbee2mqtt.svg">
</a>
<a href="https://github.com/Koenkk/zigbee2mqtt/stargazers">
<img src="https://img.shields.io/github/stars/koenkk/zigbee2mqtt.svg">
</a>
<a href="https://www.paypal.me/koenkk">
<img src="https://img.shields.io/badge/donate-PayPal-blue.svg">
</a>
</div>
<h1>Zigbee2mqtt 🌉 🐝</h1>
<p>
Allows you to use your Zigbee devices <b>without</b> the vendors bridge or gateway.
</p>
<p>
It bridges events and allows you to control your Zigbee devices via MQTT. In this way you can integrate your Zigbee devices with whatever smart home infrastructure you are using.
</p>
</div>
# zigbee2mqtt :bridge_at_night: :honeybee:
![Thumbs up or down?](header.png)
<img align="right" height="40px" src="https://user-images.githubusercontent.com/7738048/40915536-1993dd32-6805-11e8-9f22-4dfca52133c0.png">
## [Getting started](https://koenkk.github.io/zigbee2mqtt/#getting-started)
The [documentation](https://koenkk.github.io/zigbee2mqtt/) provides you all the information needed to get up and running! Make sure you don't skip sections if this is your first visit, as there might be important details in there for you.
Allows you to use your Zigbee devices **without** the vendors (Xiaomi/TRADFRI/Hue) bridge or gateway.
If you aren't familiar with **Zigbee** terminology make sure you [read this](https://koenkk.github.io/zigbee2mqtt/information/zigbee_network.html) to help you out.
It bridges events and allows you to control your Zigbee devices via MQTT. In this way you can integrate your Zigbee devices with whatever smart home infrastructure you are using.
## [Getting started](https://github.com/Koenkk/zigbee2mqtt/wiki/Getting-started)
The [wiki](https://github.com/Koenkk/zigbee2mqtt/wiki) provides you all the information needed to get up and running! Make sure you don't skip sections if this is your first visit, as there might be important details in there for you.
[The documentation](https://github.com/Koenkk/zigbee2mqtt/wiki) will provide information on how to prepare, configure and start **zigbee2mqtt**, but also on how to customize the setup to fit your needs.
If you aren't familiar with **zigbee** terminology make sure you [read this](https://github.com/Koenkk/zigbee2mqtt/wiki/ZigBee-network) to help you out.
## Integrations
## [Integrations](https://koenkk.github.io/zigbee2mqtt/#integration)
Zigbee2mqtt integrates well with (almost) every home automation solution because it uses MQTT. However the following integrations are worth mentioning:
<img align="left" height="100px" width="100px" src="https://user-images.githubusercontent.com/7738048/40914297-49e6e560-6800-11e8-8904-36cce896e5a8.png">
### [Home Assistant](https://www.home-assistant.io/)
- [Hassio](https://www.home-assistant.io/hassio/): Using [the official addon](https://github.com/danielwelch/hassio-zigbee2mqtt) from [danielwelch](https://github.com/danielwelch)
- Generic install or Hassbian: Using instructions [here](https://github.com/Koenkk/zigbee2mqtt/wiki/Integrating-with-Home-Assistant)
- Generic install or Hassbian: Using instructions [here](https://koenkk.github.io/zigbee2mqtt/integration/home_assistant.html)
## Architecture
![Architecture](architecture.png)
<img align="left" height="100px" width="100px" src="https://user-images.githubusercontent.com/2734836/47615848-b8dd8700-dabd-11e8-9d77-175002dd8987.png">
### [Domoticz](https://www.domoticz.com/)
- Integration implemented in [domoticz-zigbee2mqtt-plugin](https://github.com/stas-demydiuk/domoticz-zigbee2mqtt-plugin)
<br>
## Architecture
![Architecture](images/architecture.png)
## Supported devices
See [Supported devices](https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-devices) to check whether your device is supported. There is quite an extensive list, including devices from vendors like Xiaomi, Ikea, Philips, OSRAM and more.
See [Supported devices](https://koenkk.github.io/zigbee2mqtt/information/supported_devices.html) to check whether your device is supported. There is quite an extensive list, including devices from vendors like Xiaomi, Ikea, Philips, OSRAM and more.
If it's not listed in [Supported devices](https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-devices), support can be added (fairly) easy, see [How to support new devices](https://github.com/Koenkk/zigbee2mqtt/wiki/How-to-support-new-devices).
If it's not listed in [Supported devices](https://koenkk.github.io/zigbee2mqtt/information/supported_devices.html), support can be added (fairly) easy, see [How to support new devices](https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html).
## Support & help
If you need assistance you can check [opened issues](https://github.com/Koenkk/zigbee2mqtt/issues). Feel free to help with Pull Requests when you were able to fix things or add new devices or just share the love on social media.
## Contributors
* [AndrewLinden](https://github.com/AndrewLinden)
* [oskarn97](https://github.com/oskarn97)
* [dgomes](https://github.com/dgomes)
* [Koenkk](https://github.com/Koenk)
* [kirovilya](https://github.com/kirovilya)
* [ciotlosm](https://github.com/ciotlosm)
If you need assistance you can check [opened issues](https://github.com/Koenkk/zigbee2mqtt/issues). Feel free to help with Pull Requests when you were able to fix things or add new devices or just share the love on social media.
+10
View File
@@ -0,0 +1,10 @@
const fs = require('fs');
const path = require('path');
const base = path.join(__dirname, '..', 'docs');
const supportDevices = require('./supported-devices');
const integratingWithHomeassistant = require('./integrating-with-homeassistant');
fs.writeFileSync(path.join(base, 'information', 'supported_devices.md'), supportDevices);
fs.writeFileSync(path.join(base, 'integration', 'home_assistant.md'), integratingWithHomeassistant);
+299
View File
@@ -0,0 +1,299 @@
/**
* This script generates the integrating-with-homeassistant page.
*/
const devices = require('zigbee-shepherd-converters').devices;
const HomeassistantExtension = require('../lib/extension/homeassistant');
const homeassistant = new HomeassistantExtension(null, null, null, null);
const YAML = require('json2yaml');
let template = `# Home Assistant
*NOTE 1: This file has been generated, do not edit this file manually!*
*NOTE 2: If you are using the [Zigbee2mqtt Hass.io add-on](https://github.com/danielwelch/hassio-zigbee2mqtt)
use their documentation*
## MQTT discovery
**At least Home Assistant >= 0.84 is required!**
**NOTE:** Groups are not auto-discovered, see configuration below.
The easiest way to integrate Zigbee2mqtt with Home Assistant is by
using [MQTT discovery](https://www.home-assistant.io/docs/mqtt/discovery/).
This allows Zigbee2mqtt to automatically add devices to Home Assistant.
To achieve the best possible integration (including MQTT discovery):
- In your **Zigbee2mqtt** \`configuration.yaml\` set \`homeassistant: true\`
- In your **Home Assistant** \`configuration.yaml\`:
\`\`\`yaml
mqtt:
discovery: true
broker: [YOUR MQTT BROKER] # Remove if you want to use builtin-in MQTT broker
birth_message:
topic: 'hass/status'
payload: 'online'
will_message:
topic: 'hass/status'
payload: 'offline'
\`\`\`
Mind you that if you want to use the embedded broker of Home Assistant you
have to [follow this guide](https://www.home-assistant.io/docs/mqtt/broker#embedded-broker).
Zigbee2mqtt is expecting Home Assistant to send it's birth/will
messages to \`hass/status\`. Be sure to add this to your \`configuration.yaml\` if you want
Zigbee2mqtt to resend the cached values when Home Assistant restarts
## Home Assistant device registry
When using Home Assistant MQTT discovery, Zigbee2mqtt integrates
with the [Home Assistant device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html).
This allows you to change the Home Assistant \`device_id\` and \`friendly_name\` from the web interface
without having to restart Home Assistant. It also makes it possible to show which entities belong to which device.
![Changing name and device ID via web interface](../images/home_assistant_change_name.png)
![Device registry](../images/home_assistant_device_registry.png)
## I'm confused about the different device IDs, names and friendly names
- Home Assistant \`device_id\`: determined on first discovery of the device, can only be changed
via the Home Assistant web interface afterwards. Used to control/read the state from the device (e.g. in automations)
- Zigbee2mqtt \`friendly_name\`: used to change the MQTT topic where the device listens and publishes to.
- Home Assistant \`name\`: name shown in the Home Assistant UI (unless overridden
via a \`friendly_name\` in \`customize.yaml\`). If not changed via the Home Assistant web interface,
it is equal to the Zigbee2mqtt \`friendly_name\`. Is updated if the Zigbee2mqtt \`friendly_name\` changes
(requires restart of Home Assistant)
- Home Assistant \`friendly_name\` (\`customize.yaml\`): overrides the name in the Home Assistant web interface.
## Responding to button clicks
To respond to button clicks (e.g. WXKG01LM) you can use the following Home Assistant configuration:
{% raw %}
\`\`\`yaml
automation:
- alias: Respond to button clicks
trigger:
platform: mqtt
topic: 'zigbee2mqtt/<FRIENDLY_NAME'
condition:
condition: template
value_template: '{{ "single" == trigger.payload_json.click }}'
action:
entity_id: light.bedroom
service: light.toggle
\`\`\`
{% endraw %}
## Groups
Groups are not auto-discovered. Use the following configuration:
{% raw %}
\`\`\`yaml
- platform: mqtt
schema: json
name: MY_GROUP
command_topic: "zigbee2mqtt/[GROUP_FRIENDLY_NAME]/set"
state_topic: "zigbee2mqtt/[GROUP_FRIENDLY_NAME]/set"
// Modify according to features supported by all devices in group
color_temp: true
brightness: true
rgb: true
\`\`\`
{% endraw %}
## Controlling Zigbee2mqtt via Home Assistant
The following Home Assistant configuration allows you to control Zigbee2mqtt from Home Assistant.
{% raw %}
\`\`\`yaml
# Group
group:
zigbee_group:
view: false
control: hidden
name: Zigbee2mqtt
entities:
- input_boolean.zigbee_permit_join
- timer.zigbee_permit_join
- sensor.zigbee2mqtt_bridge_state
- switch.zigbee2mqtt_main_join
- automation.enable_zigbee_joining
- automation.disable_zigbee_joining
- automation.disable_zigbee_joining_by_timer
- input_select.zigbee2mqtt_log_level
- automation.zigbee2mqtt_log_level
# Input select for Zigbee2mqtt debug level
input_select:
zigbee2mqtt_log_level:
name: Zigbee2mqtt Log Level
options:
- debug
- info
- warn
- error
initial: info
icon: mdi:format-list-bulleted
# Input boolean for enabling/disabling joining
input_boolean:
zigbee_permit_join:
name: Allow devices to join
initial: off
icon: mdi:cellphone-wireless
# Timer for joining time remaining (120 sec = 2 min)
timer:
zigbee_permit_join:
name: Time remaining
duration: 120
# Sensor for monitoring the bridge state
sensor:
- platform: mqtt
name: Zigbee2mqtt Bridge state
state_topic: "zigbee2mqtt/bridge/state"
icon: mdi:router-wireless
# Switch for enabling joining
switch:
- platform: mqtt
name: "Zigbee2mqtt Main join"
state_topic: "zigbee2mqtt/bridge/config/permit_join"
command_topic: "zigbee2mqtt/bridge/config/permit_join"
payload_on: "true"
payload_off: "false"
# Automations
automation:
- alias: Zigbee2mqtt Log Level
initial_state: 'on'
trigger:
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: debug
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: warn
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: error
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: info
action:
- service: mqtt.publish
data:
payload_template: '{{ states(''input_select.zigbee2mqtt_log_level'') }}'
topic: zigbee2mqtt/bridge/config/log_level
- id: enable_zigbee_join
alias: Enable Zigbee joining
hide_entity: true
trigger:
platform: state
entity_id: input_boolean.zigbee_permit_join
to: 'on'
action:
- service: mqtt.publish
data:
topic: zigbee2mqtt/bridge/config/permit_join
payload: 'true'
- service: timer.start
data:
entity_id: timer.zigbee_permit_join
- id: disable_zigbee_join
alias: Disable Zigbee joining
hide_entity: true
trigger:
- entity_id: input_boolean.zigbee_permit_join
platform: state
to: 'off'
action:
- data:
payload: 'false'
topic: zigbee2mqtt/bridge/config/permit_join
service: mqtt.publish
- data:
entity_id: timer.zigbee_permit_join
service: timer.cancel
- id: disable_zigbee_join_timer
alias: Disable Zigbee joining by timer
hide_entity: true
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.zigbee_permit_join
action:
- service: mqtt.publish
data:
topic: zigbee2mqtt/bridge/config/permit_join
payload: 'false'
- service: input_boolean.turn_off
data:
entity_id: input_boolean.zigbee_permit_join
\`\`\`
{% endraw %}
## Configuration when NOT using Home Assistant MQTT discovery
[CONFIGURATION]
`;
const homeassistantConfig = (device) => {
const payload = {
platform: 'mqtt',
state_topic: 'zigbee2mqtt/<FRIENDLY_NAME>',
availability_topic: 'zigbee2mqtt/bridge/state',
...device.discovery_payload,
};
if (payload.command_topic) {
if (payload.command_topic_prefix) {
payload.command_topic = `zigbee2mqtt/<FRIENDLY_NAME>/${payload.command_topic_prefix}/set`;
} else {
payload.command_topic = `zigbee2mqtt/<FRIENDLY_NAME>/set`;
}
}
delete payload.command_topic_prefix;
let yml = YAML.stringify([payload]);
yml = yml.replace(/(-) \n {4}/g, '- ');
yml = yml.replace('---', `${device.type}:`);
return yml;
};
let configuration = '';
devices.forEach((device) => {
configuration += `### ${device.model}\n`;
configuration += `{% raw %}\n`;
configuration += '```yaml\n';
const configurations = homeassistant._getMapping()[device.model];
if (configurations) {
configurations.forEach((d, i) => {
configuration += homeassistantConfig(d);
if (configurations.length > 1 && i < configurations.length - 1) {
configuration += '\n';
}
});
configuration += '```\n';
configuration += '{% endraw %}\n\n';
}
});
// Insert into template
template = template.replace('[CONFIGURATION]', configuration);
module.exports = template;
+55
View File
@@ -0,0 +1,55 @@
/**
* This script generates the supported devices page.
*/
const devices = require('zigbee-shepherd-converters').devices;
const replaceByDash = [new RegExp('/', 'g'), new RegExp(':', 'g'), new RegExp(' ', 'g')];
const imageBase = '../images/devices/';
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
const vendorsCount = devices.map((d) => d.vendor).filter(onlyUnique).length;
let template = `# Supported devices
*NOTE: This file has been generated, do not edit this file manually!*
Currently **${devices.length}** devices are supported from **${vendorsCount}** different vendors.
In case you own a Zigbee device which is **NOT** listed here, please see
[How to support new devices](https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html).
[DEVICES]
`;
const generateTable = (devices) => {
let text = '';
text += '| Model | Description | Picture |\n';
text += '| ------------- | ------------- | -------------------------- |\n';
devices = new Map(devices.map((d) => [d.model, d]));
devices.forEach((d) => {
let image = d.model;
replaceByDash.forEach((r) => image = image.replace(r, '-'));
image = imageBase + `${image}.jpg`;
text += `| ${d.model} | ${d.vendor} ${d.description} (${d.supports}) | ![${image}](${image}) |\n`;
});
return text;
};
// Generated devices text
let devicesText = '';
const vendors = Array.from(new Set(devices.map((d) => d.vendor)));
vendors.sort();
vendors.forEach((vendor) => {
devicesText += `### ${vendor}\n\n`;
devicesText += generateTable(devices.filter((d) => d.vendor === vendor));
devicesText += '\n';
});
// Insert into template
template = template.replace('[DEVICES]', devicesText);
module.exports = template;
+2 -2
View File
@@ -1,4 +1,4 @@
FROM alpine:3.7
FROM alpine:3.8
# Copy files
ADD . /app
@@ -12,7 +12,7 @@ ARG COMMIT
RUN echo "{\"hash\": \"$COMMIT\"}" > .hash.json
# Install dependencies
RUN apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \
RUN apk add --update --no-cache make gcc g++ python linux-headers udev nodejs npm git && \
npm install --unsafe-perm && \
apk del make gcc g++ python linux-headers udev git
+2 -2
View File
@@ -1,4 +1,4 @@
FROM arm32v6/alpine:3.7
FROM arm32v6/alpine:3.8
# Setup cross-build
ENV QEMU_EXECVE 1
@@ -14,7 +14,7 @@ ADD . /app
RUN [ "qemu-arm-static", "/bin/sh", "-c", \
"cp /app/data/configuration.yaml /app && \
cp /app/docker/run.sh /app && chmod +x /app/run.sh && \
apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \
apk add --update --no-cache make gcc g++ python linux-headers udev nodejs npm git && \
npm install --unsafe-perm && \
apk del make gcc g++ python linux-headers udev git"]
+2 -2
View File
@@ -1,4 +1,4 @@
FROM arm64v8/alpine:3.7
FROM arm64v8/alpine:3.8
# Setup cross-build
ENV QEMU_EXECVE 1
@@ -14,7 +14,7 @@ ADD . /app
RUN [ "qemu-aarch64-static", "/bin/sh", "-c", \
"cp /app/data/configuration.yaml /app && \
cp /app/docker/run.sh /app && chmod +x /app/run.sh && \
apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \
apk add --update --no-cache make gcc g++ python linux-headers udev nodejs npm git && \
npm install --unsafe-perm && \
apk del make gcc g++ python linux-headers udev git"]
+1
View File
@@ -0,0 +1 @@
theme: jekyll-theme-cayman
+67
View File
@@ -0,0 +1,67 @@
# Configuration
The following configuration options are available in `data/configuration.yaml`.
The values shown are the default ones.
```yaml
# Required: Home Assistant integration (MQTT discovery)
homeassistant: false
# Required: allow new devices to join.
# WARNING: Disable this after all devices have been paired!
permit_join: true
# Required: MQTT settings
mqtt:
# Required: MQTT base topic for zigbee2mqtt MQTT messages
base_topic: zigbee2mqtt
# Required: MQTT server URL
server: 'mqtt://localhost:1883'
# Optional: MQTT server authentication user
user: my_user
# Optional: MQTT server authentication password
password: my_password
# Optional: MQTT client ID
client_id: 'MY_CLIENT_ID'
# Disable self-signed SSL certificates
reject_unauthorized: true
# Optional: Include device information to mqtt messages (default: false)
include_device_information: true
# Required: serial settings
serial:
# Required: location of CC2531 USB sniffer
port: /dev/tty.usbmodem1411
# Optional: disable LED of CC2531 USB sniffer
disable_led: false
# Optional: advanced settings
advanced:
# Optional: ZigBee pan ID
pan_id: 0x1a62
# Optional: ZigBee channel
channel: 11
# Optional: state caching
# https://github.com/Koenkk/zigbee2mqtt/commit/9396bde1f3b022e0f634487d1a37d2a5127c8cb3#diff-f68567477d803b49930337bf7fe1556bR16
cache_state: true
# Optional: Logging level, options: debug, info, warn, error
log_level: info
# Optional: Location of log directory
log_directory: data/log/%TIMESTAMP%
# Optional: Baudrate for serial port
baudrate: 115200
# Optional: RTS / CTS Hardware Flow Control for serial port
rtscts: true
# Optional: soft reset ZNP after timeout (in seconds); 0 is disabled
soft_reset_timeout: 0
# Optional: network encryption key, changing requires repairing of all devices.
network_key: [1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 13],
# Optional: Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message
# possible values are: disable (default), ISO_8601, epoch
last_seen: 'disable'
# Optional: Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg
elapsed: false
# Availability timeout in seconds, disabled by default (0).
# When enabled, devices will be checked if they are still online.
availability_timeout: 0,
```
@@ -0,0 +1,32 @@
# Device specific configuration
The `configuration.yaml` allows to set device specific configuration. The following options are available.
### All devices
* `friendly_name`: Used in the MQTT topic of a device. By default this is the device ID (e.g. `0x00128d0001d9e1d2`).
* `retain`: Retain MQTT messages of this device.
* `qos`: QoS level for MQTT messages of this device. [What is QoS?](https://www.npmjs.com/package/mqtt#about-qos)
### Device type specific
* `occupancy_timeout`: Timeout (in seconds) after the `occupancy: false` message is sent, only available for occupany sensors. If not set, the timeout is `90` seconds. When set to `0` no `occupancy: false` is send.
* `temperature_precision`: Controls the precision of `temperature` values, e.g. `0`, `1` or `2`; default `2`.
* `humidity_precision`: Controls the precision of `humidity` values, e.g. `0`, `1` or `2`; default `2`.
* `pressure_precision`: Controls the precision of `pressure` values, e.g. `0` or `1`; default `1`.
### Example
``` yaml
devices:
'0x00158d0001d82999':
friendly_name: 'my_occupancy_sensor'
retain: true
occupancy_timeout: 20
qos: 1
```
### Changing device type specific defaults
The default values used for the device specific configuration can be overriden via e.g.:
```yaml
device_options:
occupancy_timeout: 30
temperature_precision: 1
```
@@ -0,0 +1,46 @@
# Flashing the firmware on the CC2531 USB stick
The CC2531 USB stick needs to be flashed with a custom firmware.
*NOTE: The following instructions assume you have a CC Debugger. In case you don't, see [Alternative firmware flashing methods](../information/alternative_flashing_methods.md).*
## Windows
1. Install [SmartRF Flash programmer](http://www.ti.com/tool/FLASH-PROGRAMMER) (**NOT V2**). This software is free but requires a Texas Instruments account in order to download.
2. Install the [CC debugger driver](http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=swrc212&fileType=zip) on your PC (Windows only). Before continuing, verify that the CC Debugger driver has been installed correctly. See [Figure 1. Verify Correct Driver Installation @ Chapter 5.1](http://www.ti.com/lit/ug/swru197h/swru197h.pdf). In case the CC Debugger is not recognized correctly [install the driver manually](https://www.youtube.com/watch?v=jyKrxxXOvQY).
2. Connect `CC debugger --> Downloader cable CC2531 --> CC2531 USB sniffer`.
3. Connect **BOTH** the `CC2531 USB sniffer` and the `CC debugger` to your PC using USB.
3. If the light on the CC debugger is RED press set reset button on the CC debugger. The light on the CC debugger should now turn GREEN. If not use [CC debugger user guide](http://www.ti.com/lit/ug/swru197h/swru197h.pdf) to troubleshoot your problem.
![How to connect](../images/connected.jpg)
4. Download the firmware [CC2531ZNP-Prod.hex](https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/CC2531/bin)
5. Start SmartRF Flash Programmer, setup as shown below and press `Perform actions`.
![SmartRF Flash Programmer](../images/smartrf.png)
## Linux or MacOS
Credits to [@Frans-Willem](https://github.com/frans-Willem) for majority of instructions.
1. Install prerequisites for [CC-Tool](https://github.com/dashesy/cc-tool) using a package manager (e.g. [Homebrew](https://brew.sh/) for macOS)
* Ubuntu: dh-autoreconf, libusb-1.0, libboost-all-dev
* Fedora: dh-autoreconf, boost-devel, libusb1-devel
* Archlinux: dh-autoreconf, libusb, boost
* macOS: brew install autoconf automake libusb boost pkgconfig libtool
2. Build cc-tool
```bash
git clone https://github.com/dashesy/cc-tool.git
cd cc-tool
./bootstrap
./configure
make
```
3. Connect `CC debugger --> Downloader cable CC2531 --> CC2531 USB sniffer`.
4. Connect **BOTH** the `CC2531 USB sniffer` and the `CC debugger` to your PC using USB.
5. If the light on the CC debugger is RED, press the Reset button on the CC debugger. The light on the CC debugger should now turn GREEN. If not, follow the [CC debugger user guide](http://www.ti.com/lit/ug/swru197h/swru197h.pdf) to troubleshoot your problem.
![How to connect](../images/connected.jpg)
6. Download the firmware [CC2531ZNP-Prod.hex](https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/CC2531/bin).
7. Flash your firmware:
```
sudo ./cc-tool -e -w CC2531ZNP-Prod.hex
```
# What's next?
[Running Zigbee2mqtt](running_zigbee2mqtt.md)
+99
View File
@@ -0,0 +1,99 @@
**IMPORTANT:** Before you start, make sure that `permit_join: true` is set in your `configuration.yaml`. Otherwise new devices cannot join the network!
It's equally important that `permit_join: false` is set in your `configuration.yaml` after initial setup is done to keep your Zigbee network safe and to avoid accidental joining of other Zigbee devices.
Start by checking if your Zigbee device is supported, see [Supported devices](../information/supported_devices.md).
Once you see something similar to `New device with address 0x00159d00016da0c8 connected!` in the log your device is paired.
## Xiaomi
Different devices require different pairing methods. In case you get an `Error [ERR_UNHANDLED_ERROR]: Unhandled error. (Cannot get the Node Descriptor of the Device: 0x00158d0001720111)` you should try a different pairing method. See [Supported devices](../information/supported_devices.md) to figure out if your device is MiJia or Aqara.
* Most MiJia devices: press and hold the reset button on the device for +- 5 seconds (until the blue light starts blinking). **IMPORTANT**: Release and start pressing the reset button every second. This keeps the device awake, otherwise pairing will **fail!**.
* Most Aqara devices: press and hold reset button on the device for +- 5 seconds until the blue light blinks three times, release the reset button (the blue light will blink once more) and wait.
* Most Aqara wall switches: press and hold the button on the device for +- 10 seconds (until the blue light starts blinking and stops blinking), release and wait.
* [Video: Pairing Xiaomi Aqara Cube MFKZQ01LM](https://www.youtube.com/watch?v=uhMrcIAdGxg&feature=youtu.be)
*NOTE: When you fail to pair a device, try replacing the battery, this could solve the problem.*
## Belkin WeMo smart LED bulb
[Resetting or Restoring the Wemo® Smart LED Bulb, F7C033](http://www.belkin.com/us/support-article?articleNum=116178)
## IKEA TRADFRI
The factory reset procedure differs between TRADFRI components:
* Factory reset the light bulb ([video](https://www.youtube.com/watch?v=npxOrPxVfe0)). After resetting the bulb will automatically connect. While pairing, keep the bulb close the the CC2531 USB sniffer.
What works for me every time is using (very) short “ons” and a little bit longer “offs”…
I start with bulb on, then off, and then 6 “ons”, where I kill the light as soon as the bulb shows signs of turning on… Hope that make sense…?
* To factory reset the TRADFRI wireless dimmer (ICTC-G-1) press the button 4 times (so the red lights starts blinking).
* To factory reset the TRADFRI control outlet, press and hold the reset button (pinhole underneath the light, located at the top of the outlet) with a paperclip until the white light starts fading. Hold onto the button for a few more seconds, then release. After this, the outlet will automatically connect.
* To factory reset the TRADFRI drivers (ICPSHC24-10EU-IL-1 and ICPSHC24-30EU-IL-1) use a small pin or paperclip to push the reset button once.
### IKEA TRADFRI remote control (E1524)
This device requires extra setup as it is meant to only control groups. Therefore it does not send any information directly to the coordinator. As the group ID is randomized upon factor reset we need to find out the group ID where it sends its commands to. This can be done by using Zigbee sniffing.
1. Pair the remote to Zigbee2mqtt by holding it close to the coordinator and pressing the button next to the battery 4 times. The red light on the remote will now flash a few times.
2. Setup your Zigbee traffic sniffer by following [How to sniff Zigbee traffic](../how_tos/how_to_sniff_zigbee_traffic.md).
3. Press the middle (power) button on the remote, this will produce the following message in Wireshark:
![E1524 group](../images/E1524_group.png)
4. Retrieve the group from the message, which is `0xeb12` in the above example.
5. Add the group to the device in `configuration.yaml`, example:
```yaml
devices:
'0x000b57fffecb472d':
friendly_name: '0x000b57fffecb472d'
retain: false
coordinator_group: 0xeb12
```
6. Restart Zigbee2mqtt, when everything went OK you will see:
```
zigbee2mqtt:info 1/8/2019, 8:42:40 PM Sucesfully applied coordinator group for IKEA TRADFRI remote control (0x000b57fffecb472d)
```
### Why is this needed?
The TRADFRI remote sends the group ID using touchlink commissioning (while holding the reset button close to a bulb) but this is currently not supported by the firmware (Z-Stack 1.2 HA). Perhaps it will work in Z-Stack 3.0.
## Philips Hue
Factory reset the light bulb see [HOWTO: Factory reset a Hue bulb](https://www.youtube.com/watch?v=qvlEAELiJKs). After resetting the bulb will automatically connect.
* This is also possible with the [Tradfri Remote Control](https://www.ikea.com/us/en/images/products/tradfri-remote-control__0489469_PE623665_S4.JPG) by pressing and holding the reset button on the bottom of the remote (next to the battery). [This may not always work](https://github.com/Koenkk/zigbee2mqtt/issues/296#issuecomment-416923751).
* Philips Hue Lightstrip Plus V2 have been successfully reset using the [Hue Dimmer Switch](https://www2.meethue.com/en-us/support/dimmer-switch) by holding the On and Off buttons at the same time for 10 seconds while holding next to the Lightstrip controller, afterwards the Lightstrips can join Zigbee2MQTT.
* For the 7146060PH (Philips Hue Go), **the power cord has to be connected**, after the blinking light (**INSTEAD** of step four in the video), press and keep holding the button on the bottom until the device is paired (+- 60 seconds). While holding the button the Hue Go will give you a nice light show :smile:.
### Philips Living Colors IRIS (Friends of HUE)
Philips Living Colors IRIS comes with Philips (HUE) Remote Gen 3 (Round Click Wheel).
To Pair hold Hold ON and Bottom Left Key (Favorite 1) in Front of the LED until the Light Blinks and turns Orange. If connection was succesfull the Light will turn Green.
## Innr
Factory reset using [Innr manual reset instructions](https://www.youtube.com/watch?v=4zkpZSv84H4). After resetting the bulb will automatically connect.
## Hive
Follow instructions from [How do I reset my Hive Active Light?](https://www.hivehome.com/ca/support/Help_installing_Hive/HIH_Hive_Active_Light/How-do-I-reset-my-Hive-Active-Light). After resetting the bulb will automatically connect.
## OSRAM
### OSRAM Light Bulb
Follow instruction from [Manual reset](http://belkin.force.com/Articles/articles/en_US/Troubleshooting_and_Tutorials/Resetting-the-OSRAM-LIGHTIFY-Tunable-White-60-Bulb#a). After resetting the bulb will automatically connect.
### OSRAM Smart+ Plug
For the OSRAM Smart+ plug (AB3257001NJ) hold the on/off button until your hear a click (+- 10 seconds).
### OSRAM Smart+ Switch Mini
For the OSRAM Smart+ Switch Mini (AC0251100NJ) hold the Middle and Arrow Down Buttons for 10 Seconds to Reset the Device. Hold the Middle and Arrow Up Buttons for 3 Seconds to connect. If the Switch is connected hold Middle and Arrow Up Buttons for 3 Seconds to disconnect.
### OSRAM Switch 4x-LIGHTIFY
For the OSRAM Switch 4x-LIGHTIFY (AB371860055) hold the Bottom Left and Top Right Button for 3 Seconds to connect.
## PLUG EDP RE:DY
Factory reset the plug (hold the switch button for >10sec). After resetting the switch will automatically connect.
## Netvox power socket
Factory reset by:
- Press and hold the Binding Key for 15 seconds. The network indicator will flash green 3 times
(at the 3rd, the 10th, and the 15th second).
- After releasing the Binding Key, press the Switch Key within 2 seconds. The network indicator
will rapidly flash green.
- After fast flashes, Z809A will reboot, and the restore is completed. The socket will automatically connect now.
## Gledopto
Some of the Gledopto devices are not providing a `modelID`, in that case the modelID `undefined` is shown. Sometimes it helps to repair the device while keeping it close to the coordinator (less than one meter).
If this fails, the `modelID` has to be set manually in `data/database.db`. First find out the `modelID` of your devices from the [Supported devices page](../information/supported_devices.md). Then open `data/database.db` and add the `modelId` as highlighted in **bold** below.
*{"id":50,"type":"Router","ieeeAddr":"0x00124b0019c606cd","nwkAddr":10828,"manufId":0,"manufName":"GLEDOPTO","powerSource":"Mains (single phase)",**"modelId":"GL-S-007Z"**,"epList":[11,13],"status":"offline","joinTime":null,"endpoints":{"11":{"profId":49246,"epId":11,"devId":528,"inClusterList":[0,3,4,5,6,8,768],"outClusterList":[],"clusters":{"genBasic":{"dir":{"value":1},"attrs":{}},"genIdentify":{"dir":{"value":1},"attrs":{}},"genGroups":{"dir":{"value":1},"attrs":{}},"genScenes":{"dir":{"value":1},"attrs":{}},"genOnOff":{"dir":{"value":1},"attrs":{}},"genLevelCtrl":{"dir":{"value":1},"attrs":{}},"lightingColorCtrl":{"dir":{"value":1},"attrs":{}}}},"13":{"profId":49246,"epId":13,"devId":57694,"inClusterList":[4096],"outClusterList":[4096],"clusters":{"lightLink":{"dir":{"value":3},"attrs":{}}}}},"_id":"geCEMkRqlaMe6muE"}*
+197
View File
@@ -0,0 +1,197 @@
# Running Zigbee2mqtt
These instructions explain how to run Zigbee2mqtt on bare-metal Linux.
Other ways to run Zigbee2mqtt are [Docker](../information/docker.md) and the [Hass.io Zigbee2mqtt add-on](https://github.com/danielwelch/hassio-zigbee2mqtt).
For the sake of simplicity this guide assumes running on a Raspberry Pi 3 with Raspbian Stretch Lite, but will work on any Linux machine.
## 1. Determine location of CC2531 USB sniffer and checking user permissions
We first need to determine the location of the CC2531 USB sniffer. Connect the CC2531 USB to your Raspberry Pi. Most of the times the location of the CC2531 is `/dev/ttyACM0`. This can be verified by:
```bash
pi@raspberry:~ $ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0 May 16 19:15 /dev/ttyACM0 # <-- CC2531 on /dev/ttyACM0
```
As an alternative, the device can also be mapped by an ID. This can be handy if you have multiple serial devices connected to your Raspberry Pi. In the example below the device location is: `/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00`
```bash
pi@raspberry:/ $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx. 1 root root 13 Oct 19 19:26 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DDF-if00 -> ../../ttyACM0
```
## 2. Installing
```bash
# Setup Node.js repository
sudo curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
# Install Node.js
sudo apt-get install -y nodejs git make g++ gcc
# Verify that the correct nodejs and npm (automatically installed with nodejs)
# version has been installed
node --version # Should output v10.X
npm --version # Should output 6.X
# Clone zigbee2mqtt repository
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt
# Install dependencies
cd /opt/zigbee2mqtt
npm install
```
If everything went correctly the output of `npm install` is similar to (the number of packages and seconds is probably different on your device):
```bash
node-pre-gyp info ok
added 383 packages in 111.613s
```
Note that the `npm install` produces some `warning` which can be ignored.
## 3. Configuring
Before we can start Zigbee2mqtt we need to edit the `configuration.yaml` file. This file contains the configuration which will be used by Zigbee2mqtt.
Open the configuration file:
```bash
nano /opt/zigbee2mqtt/data/configuration.yaml
```
For a basic configuration, the default settings are probably good. The only thing we need to change is the MQTT server url and authentication (if applicable). This can be done by changing the section below in your `configuration.yaml`.
```yaml
# MQTT settings
mqtt:
# MQTT base topic for zigbee2mqtt MQTT messages
base_topic: zigbee2mqtt
# MQTT server URL
server: 'mqtt://localhost'
# MQTT server authentication, uncomment if required:
# user: my_user
# password: my_password
```
Save the file and exit.
## 4. Starting zigbee2mqtt
Now that we have setup everything correctly we can start zigbee2mqtt.
```bash
cd /opt/zigbee2mqtt
npm start
```
When started successfully, you will see:
```bash
2018-5-18 20:35:07 INFO Starting zigbee-shepherd
2018-5-18 20:35:09 INFO zigbee-shepherd started
2018-5-18 20:35:09 INFO Currently 0 devices are joined:
2018-5-18 20:35:09 INFO Connecting to MQTT server at mqtt://localhost
2018-5-18 20:35:09 INFO zigbee-shepherd ready
2018-5-18 20:35:09 INFO Connected to MQTT server
```
Zigbee2mqtt can be stopped by pressing `CTRL + C`.
## 5. (Optional) Running as a daemon with systemctl
To run zigbee2mqtt as daemon (in background) and start it automatically on boot we will run Zigbee2mqtt with systemctl.
```bash
# Create a systemctl configuration file for zigbee2mqtt
sudo nano /etc/systemd/system/zigbee2mqtt.service
```
Add the following to this file:
```
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
```
Save the file and exit.
Verify that the configuration works:
```bash
# Start zigbee2mqtt
sudo systemctl start zigbee2mqtt
# Show status
systemctl status zigbee2mqtt.service
```
Output should look like:
```bash
pi@raspberry:/opt/zigbee2mqtt $ systemctl status zigbee2mqtt.service
● zigbee2mqtt.service - zigbee2mqtt
Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; disabled; vendor preset: enabled)
Active: active (running) since Thu 2018-06-07 20:27:22 BST; 3s ago
Main PID: 665 (npm)
CGroup: /system.slice/zigbee2mqtt.service
├─665 npm
├─678 sh -c node index.js
└─679 node index.js
Jun 07 20:27:22 raspberry systemd[1]: Started zigbee2mqtt.
Jun 07 20:27:23 raspberry npm[665]: > zigbee2mqtt@0.1.0 start /opt/zigbee2mqtt
Jun 07 20:27:23 raspberry npm[665]: > node index.js
Jun 07 20:27:24 raspberry npm[665]: 2018-6-7 20:27:24 INFO Starting zigbee-shepherd
Jun 07 20:27:25 raspberry npm[665]: 2018-6-7 20:27:25 INFO zigbee-shepherd started
```
Now that everything works, we want systemctl to start zigbee2mqtt automatically on boot, this can be done by executing:
```bash
sudo systemctl enable zigbee2mqtt.service
```
Done! 😃
Some tips that can be handy later:
```bash
# Stopping zigbee2mqtt
sudo systemctl stop zigbee2mqtt
# Starting zigbee2mqtt
sudo systemctl start zigbee2mqtt
# View the log of zigbee2mqtt
sudo journalctl -u zigbee2mqtt.service -f
```
## 6. (For later) Update Zigbee2mqtt to the latest version
To update Zigbee2mqtt to the latest version, execute:
```sh
# Stop zigbee2mqtt and go to directory
sudo systemctl stop zigbee2mqtt
cd /opt/zigbee2mqtt
# Backup configuration
cp -R data data-backup
# Update
git checkout HEAD -- npm-shrinkwrap.json
git pull
rm -rf node_modules
npm install
# Restore configuration
cp -R data-backup/* data
rm -rf data-backup
# Start zigbee2mqtt
sudo systemctl start zigbee2mqtt
```
# What's next?
[Pairing devices](pairing_devices.md)
+13
View File
@@ -0,0 +1,13 @@
# What do I need?
In order to run zigbee2mqtt we need the following hardware:
| Name | Price | Picture |
| ------------- | ------------- | ------------- |
| CC debugger | +-10$ on AliExpress | ![CC debugger](../images/cc_debugger.jpg) |
| CC2531 USB sniffer | +-8.50$ on AliExpress | ![CC2531 USB sniffer](../images/cc2531.jpg) |
| Downloader cable CC2531 | +-2$ on AliExpress | ![Downloader cable CC2531](../images/downloader_cable.png) |
| [Supported Zigbee device(s)](https://koenkk.github.io/zigbee2mqtt/information/supported_devices.html) | - | ![Zigbee devices](../images/xiaomi_sensors.jpg) |
| PC or Raspberry Pi to run bridge | - | ![Raspberry Pi](../images/pi.jpg) |
# What's next?
[Flashing the CC2531 USB stick](flashing_the_cc2531.md)
@@ -0,0 +1,39 @@
# How to connect a CC2530 coordinator using a USB to serial adapter
## Confirmed working
This how-to has been confirmed working with the following CC2530 based devices:
| Device| Image |
| --- | --- |
| **CC2530** | ![CC2530](../images/cc2530.jpg) |
and the following USB to serial adapters:
| Device| Image |
| --- | --- |
| **CP2102** | ![CP2102](../images/CP2102.png) |
## Flashing the firmware
The required coordinator fimrware can be found here: [CC sniffer devices](../information/cc_sniffer_devices.md).
## Connecting
Connect to CC2530 to the USB to serial adapter using the following mapping:
| USB-Serial Adaper | CC2530 |
| :------------: |:---------------:|
| 3V3 | VCC |
| GND | GND |
| TXD | P02 |
| RXD | P03 |
Now plug in the USB-to-serial adapter in your USB port.
## Configuration
Add the following to your Zigbee2mqtt `configuration.yaml`:
```yaml
advanced:
rtscts: false
```
and start Zigbee2mqtt, enjoy!
@@ -0,0 +1,70 @@
# How to create a CC2530 router
The CC2530 is highly suitable for serving as a router. It has an external antenna which will greatly improve the range of your Zigbee network. This tutorial will explain how to create a CC2530 router packed into a nice enclosure which can be powered via any regular outlet.
**DISCLAIMER:** The CC2530 router will use Mains AC so there is a danger of electrocution if not installed properly. If you don't know how to install it, please call an electrician!
![CC2530 in an enclosure](../images/cc2530_router_enclosure.jpg)
## 1. What do I need?
| Name | Price | Picture |
| ------------- | ------------- | ------------- |
| CC2530 <br/> **OR** <br/> CC2530 + CC2591 <br/> *The CC2530 + CC2591 is more powerful but more expensive* | +-7.50$ on AliExpress <br/><br/> +-15$ on AliExpress | ![CC2530](../images/cc2530.jpg)|
| HLK-PM03 | +-2.20$ on AliExpress | ![HLK-PM03](../images/HLK-PM03.jpg) |
| Enclosure (the one used has the following dimensions: 100x68x40mm) | +-2$ | ![Enclosure](../images/enclosure.jpg) |
| Power cable | +-2$ | ![Power cable](../images/power_cable.png) |
| CC debugger | - | ![CC debugger](../images/cc_debugger.jpg) |
| 8 female to female jumper wires | - | ![Jumper wires](../images/female_to_female_jumper_wires.jpg) |
# 2. Flashing the CC2530
The CC2530 has to be flashed with a router firmware which has to be done with a CC debugger using 6 female to female jumper wires. Pins have to connected as follows:
### CC debugger pin layout
<div style="float: right;">
<img src="../images/ccdebugger_pins.png"/>
</div>
| CC debugger | CC2530 |
| ----------- | ------ |
| 1 | GND |
| 2 | VCC |
| 3 | P2.2 |
| 4 | P2.1 |
| 7 | RST |
| 9 | VCC |
### Pin layout of various CC2530 modules
| Name | Pin layout | Picture |
| ------------- | ------------- | ------------- |
| CC2530 | ![CC2530 pin layout](../images/cc2530_pin_layout.png) | ![CC2530](../images/cc2530.jpg)
| Webee CC2530 + CC2591 | ![Webee CC2530 + CC2591 pin layout](../images/webee_cc2530_cc2591_pinlayout.png) | ![CC2530 + CC2591](../images/cc2530_cc2591.jpg)
### Flashing
Now the CC2530 can be flashed using the same instructions as [Flashing the CC2531](../getting_started/flashing_the_cc2531.md). The router firmwares can be found [here](https://github.com/Koenkk/Z-Stack-firmware/tree/master/router).
![CC debugger connected to CC2530](../images/ccdebugger_cc2530.jpg)
# 3. Putting it in an enclosure
The following steps have to be followed:
- Drill 2 holes in the enclosure; one for the antenna, one for the power cable
- Lay a knot in the power cable; this serves as strain relief
- Solder the power cable on to the AC pins of the HLK-PM03
- Use 2 female to female jumper wires to connect the VC+ pin of the HLK-PM03 to the VCC pin of the CC2530 and the VC- pin of the HLK-PM03 to the GND pin of the CC2530
- Use double sided tape to fix the CC2530 and HLK-PM03 into the enclosure
### Result
![1](../images/router_1.jpg)
![2](../images/router_2.jpg)
![3](../images/router_3.jpg)
![4](../images/router_4.jpg)
![CC2530 in an enclosure](../images/cc2530_router_enclosure.jpg)
# 4. Done!
Now plug the CC2530 into a power outlet where it will automatically join your Zigbee network. (don't forget to set `permit_join: true` to enable joining of new devices). Enjoy your extended Zigbee network range! :smile:
+25
View File
@@ -0,0 +1,25 @@
# How to debug
In case Zigbee2mqtt isn't working as expected the following tips can help you in finding the problem.
## Enabling logging
### Zigbee2mqtt debug logging
To enable debug logging for zigbee2mqtt add the following in your `configuration.yaml`
```yaml
advanced:
log_level: debug
```
### zigbee-shepherd debug logging
To enable debug logging for zigbee-shepherd start zigbee2mqtt with: `DEBUG=zigbee-shepherd* npm start`. For more information about zigbee-shepherd debug logging see: [zigbee-shepherd debug messages](https://github.com/zigbeer/zigbee-shepherd/wiki#8-debug-messages).
### All debug logging
To enable debug logging for both Zigbee2mqtt and zigbee-shepherd start Zigbee2mqtt with `DEBUG=* npm start`.
### Docker
To enable debug logging in the Zigbee2mqtt Docker container add `-e DEBUG=*` to your `docker run` command.
## Change log level during runtime
See [MQTT topics and message structure](../information/mqtt_topics_and_message_structure.md)
+25
View File
@@ -0,0 +1,25 @@
# How to secure your Zigbee network
By default your Zigbee network isn't as secured as possible. The following settings are recommeded to apply to your configuration.
## Disable joining
To disable joining it's important that `permit_join: false` is set in your `configuration.yaml`. Otherwise rogue devices are able to join allowing them to send and receive Zigbee traffic.
## Change Zigbee network encryption key
**Changing the key requires repairing of all devices!**
Zigbee2mqtt uses a known default encryption key. Therefore it is recommended to use a different one. To use a different encryption key add the following to your `configuration.yaml`:
**Do not use this exact key.**
```
advanced:
network_key: [7, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 11, 12, 13]
```
The network encryption key size is `128-bit` which is essentially 16 decimal values between `0` and `255` or 16 hexadecimal values between `0x00`and `0xFF`.
If you need to transform your decimals to hexadecimals (or vice versa) please use a [converter](https://www.binaryhexconverter.com/decimal-to-hex-converter). Example: 92 (decimal) would become 5C (hexadecimal).
You can generate a valid key with the following command in most linux systems:
```
dd if=/dev/urandom bs=1 count=16 2>/dev/null | od -A n -t x1 | awk '{printf "["} {for(i = 1; i< NF; i++) {printf "0x%s, ", $i}} {printf "0x%s]\n", $NF}'
```
@@ -0,0 +1,53 @@
# How to sniff Zigbee traffic
Sniffing Zigbee traffic can be handy sometimes. E.g. when you want to analyze the commands used by a device.
## Prerequisites
* Computer
* Ubuntu machine (tested with 18.10)
* Windows machine (tested with Windows 10)
* CC2531 stick
## 1. Flashing the CC2531 stick
The CC2531 needs to be flashed with a sniffer firmware. Flash the firmware using the instructions from [Flashing the CC2531](../getting_started/flashing_the_cc2531.md).
### Ubuntu
For Ubuntu this firmware is included with [PACKET-SNIFFER](http://www.ti.com/tool/PACKET-SNIFFER) (not **PACKET-SNIFFER-2!**). Download and install PACKET-SNIFFER. The firmware can then be found here: `C:\Program Files (x86)\Texas Instruments\SmartRF Tools\Packet Sniffer\bin\general\firmware\sniffer_fw_cc2531.hex`.
### Windows (and possibly Ubuntu)
For Windows this firmware is included with [ZBOSS](http://zboss.dsr-wireless.com/downloads/index/zboss). Register an account and download *ZBOSS Sniffer for Windows 64-bit*. Included in the ZIP file is the firmware in subfolder `hw\CC2531 USB dongle\zboss_sniffer.hex`. Please note that ZBOSS is also available for Ubuntu.
## 2. Installing required tools
### Ubuntu
```bash
cd /opt
sudo apt-get install -y libusb-1.0-0-dev wireshark
curl -L https://github.com/homewsn/whsniff/archive/v1.1.tar.gz | tar zx
cd whsniff-1.1
make
sudo make install
```
### Windows
Download and install the latest version of [Wireshark](https://www.wireshark.org/download.html). ZBOSS itself is portable and won't need to be installed.
## 3. Sniffing traffic
On Ubuntu start wireshark with `sudo whsniff -c ZIGBEE_CHANNEL_NUMBER | wireshark -k -i -`. For Windows run the ZBOSS executable in `gui\zboss_sniffer.exe`, enter the path to your Wireshark executable and click on the `Start` button.
Wireshark will start and log the Zigbee messages. As these messages are encrypted we need to add 2 encryption keys. The first one is the Trust Center link key, which is the same for (almost) every Zigbee network. The second on is the network encryption key.
Add the Trust Center link key by going to to Edit -> Preferences -> Protocols -> ZigBee. Set Security Level to *AES-128 Encryption, 32-bit Integrity Protection* and click on *Edit*. Click on *+* and add `5A:69:67:42:65:65:41:6C:6C:69:61:6E:63:65:30:39` with Byte Order Normal.
*NOTE: The Hue bridge uses a [different Trust Center link key](https://peeveeone.com/?p=166)*
![Wireshark Trust Center link key](../images/wireshark_tclink_key.png)
Next we need to figure out the network encryption key. The network encryption key is exposed when a device joins the network. Pair a new device to the network (or repair an existing one) and grab the message where the Info is *Device Announcement....*. Open the message and expand *ZigBee Network Layer Data* -> *ZigBee Security Header*.
![Wireshark network key](../images/wireshark_network_key.png)
Copy the key value, as shown above and go to Edit -> Preferences -> Protocols -> ZigBee -> Edit and add the key with Byte Order Normal.
Now Wireshark is able to decrypt the messages. When e.g. turning on a light you will see a message similar to:
![Wireshark packet](../images/wireshark_packet.png)
@@ -0,0 +1,99 @@
# How to support new devices
Zigbee2mqtt uses [zigbee-shepherd-converters](https://github.com/Koenkk/zigbee-shepherd-converters) to parse messages to and from devices. This was originally part of Zigbee2mqtt but has been moved to a separate library so that other projects can also take advantage of this.
This page will guide you through the process of adding support for new devices to [zigbee-shepherd-converters](https://github.com/Koenkk/zigbee-shepherd-converters).
In case you require any help feel free to create an [issue](https://github.com/Koenkk/zigbee2mqtt/issues).
## 1. Pairing the device with Zigbee2mqtt
The first step is to pair the device with zigbee2mqtt. It should be possible to pair your unsupported device out of the box because zigbee2mqtt can pair with any zigbee device. You need to find out how to bring your device into pairing mode, most of the times via a factory reset. For some vendors this is already documented [here](https://koenkk.github.io/zigbee2mqtt/getting_started/pairing_devices.html).
Once you successfully paired the device you will see something like:
```
2018-5-1 18:06:41 INFO New device with address 0x00158d0001b79111 connected!
2018-5-1 18:06:42 WARN Device with modelID 'lumi.sens' is not supported.
2018-5-1 18:06:42 WARN Please see: https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html
```
*NOTE: Make sure that `permit_join: true` is set in `configuration.yaml` otherwise new devices cannot join the network.*
## 2. Adding your device
The next step is the to add an entry of your device to `node_modules/zigbee-shepherd-converters/devices.js`. In order to provide support for E.G. the `lumi.sens` from step 1 you would add:
```js
{
zigbeeModel: ['lumi.sens'], // The model ID from: Device with modelID 'lumi.sens' is not supported.
model: 'WSDCGQ01LM', // Vendor model number, look on the device for a model number
vendor: 'Xiaomi', // Vendor of the device (only used for documentation and startup logging)
description: 'MiJia temperature & humidity sensor ', // Description of the device, copy from vendor site. (only used for documentation and startup logging)
supports: 'temperature and humidity', // Actions this device supports (only used for documentation)
fromZigbee: [], // We will add this later
toZigbee: [], // Should be empty, unless device can be controlled (e.g. lights, switches).
},
```
Once finished, restart Zigbee2mqtt and trigger some actions on the device. You will see messages like:
```
2018-5-1 18:19:41 WARN No converter available for 'WSDCGQ01LM' with cid 'msTemperatureMeasurement' and type 'attReport'
2018-5-1 18:19:41 WARN Please create an issue on https://github.com/Koenkk/zigbee2mqtt/issues with this message.
```
In case your device is not reporting anything, it could be that this device requires additional configure. This can be done by adding a `configure:` section, [examples]([https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/devices.js). In case your device is a contact or motion sensor, it could be that this is an [IAS device](https://stackoverflow.com/questions/31241211/zigbee-ias-device-enroll-and-response). Example of an IAS `configure:` section can be found [here](https://github.com/Koenkk/zigbee-shepherd-converters/blob/master/devices.js#L1495).
## 3. Adding converter(s) for your device
In order to parse the messages of your zigbee device we need to add converter(s) to `node_modules/zigbee-shepherd-converters/converters/fromZigbee.js`.
Before adding new converters, please check if you can reuse any existing one.
For E.G. the following message
```
2018-5-1 18:19:41 WARN No converter available for 'WSDCGQ01LM' with cid 'msTemperatureMeasurement' and type 'attReport'
2018-5-1 18:19:41 WARN Please create an issue on https://github.com/Koenkk/zigbee2mqtt/issues with this message.
```
You would add to `node_modules/zigbee-shepherd-converters/converters/fromZigbee.js`:
```js
xiaomi_temperature: {
cid: 'msTemperatureMeasurement',
type: 'attReport',
convert: (model, msg, publish, options) => {
return {temperature: parseFloat(msg.data.data['measuredValue']) / 100.0};
},
},
```
To find out the structure of the message and which attributes you need to grab from the message you could first start with:
```js
xiaomi_temperature: {
cid: 'msTemperatureMeasurement',
type: 'attReport',
convert: (model, msg, publish, options) => {
console.log(msg.data)
},
},
```
Now update your device in `node_modules/zigbee-shepherd-converters/devices.js` with the new converter.
```js
{
zigbeeModel: ['lumi.sens'],
model: 'WSDCGQ01LM',
vendor: 'Xiaomi',
description: 'MiJia temperature & humidity sensor ',
supports: 'temperature and humidity',
fromZigbee: [fz.xiaomi_temperature], # <-- added here
toZigbee: [],
},
```
Repeat until your device does not produce any more log messages like:
```
2018-5-1 18:19:41 WARN No converter available for 'WSDCGQ01LM' with cid 'msTemperatureMeasurement' and type 'attReport'
2018-5-1 18:19:41 WARN Please create an issue on https://github.com/Koenkk/zigbee2mqtt/issues with this message.
```
## 4. (Optional) Add home assistant configuration for your device
In order to automatically discover this device in home assistant your device needs to be added to `mapping` in `lib/extension/homeassistant.js`.
## 5. Done!
Now it's time to submit a pull request to [zigbee-shepherd-converters](https://github.com/Koenkk/zigbee-shepherd-converters) so this device is supported out of the box by zigbee2mqtt. :smiley:
@@ -0,0 +1,49 @@
# How to support new devices on Hass.io
1. Enable access to your Hass.io host following these instructions
https://developers.home-assistant.io/docs/en/hassio_debugging.html
2. Connect to your Hass.io host\
`ssh root@hassio.local -p 22222`\
`login`
3. Identify the container id of zigbee2mqtt\
`docker ps`\
look for IMAGE dwelch2101/zigbee2mqtt-armhf and its corresponding CONTAINER ID\
example:**622baa375aa1**
4. Enter the running container (replace the below container id with yours)\
`docker exec -it 622baa375aa1 bash`
5. You are now inside the zigbee2mqtt container and can follow the standard guide:\
[https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html](https://koenkk.github.io/zigbee2mqtt/how_tos/how_to_support_new_devices.html)
6. The VI editor is installed on the image, if you are not familiar with VI you may want take a look here:
[https://www.guru99.com/the-vi-editor.html](https://www.guru99.com/the-vi-editor.html)
7. After making required modifications restart the container for the changes to take effect\
`exit`\
`docker restart 622baa375aa1`
Be aware that changes are not persistent, any changes that recreate the docker container HASSIO will result in the changes being lost so make sure you request modifications are provided back to the project for integration.
**Persisting a custom devices.js**
As of hass.io zigbee2mqtt add-on v0.1.8, there is an option for using a custom `devices.js`\
While the procedure above is very useful for adding / debugging support for devices, making the updates persistent is now possible with this new option. To use a custom `devices.js` by default, follow these steps:
1. Make sure you're using at least 0.1.8 version of zigbee2mqtt add-on.
2. Edit zigbee2mqtt's config in Hass.io GUI and add this option:\
`"zigbee_shepherd_devices": true`
3. Add custom `devices.js` to the config path of the add-on.\
This path is `/share/zigbee2mqtt` by default, and controlled with the `data_path` option in the config of the add-on.
4. Restart the add-on.
5. Check the logs of the add-on, it should include the following line:\
`[Info] Searching for custom devices file in zigbee2mqtt data path...`
If all goes well, your custom `devices.js` will be copied to the zigbee2mqtt container upon container startup, and it will be used by `zigbee-shepherd`.\
As the add-on config and the files on config path are permanent, this configuration will persist upon reboots and container updates.
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Some files were not shown because too many files have changed in this diff Show More