{"id":13490481,"url":"https://github.com/yllibed/Zigbee2MqttAssistant","last_synced_at":"2025-03-28T06:31:25.150Z","repository":{"id":35336514,"uuid":"201173385","full_name":"yllibed/Zigbee2MqttAssistant","owner":"yllibed","description":"GUI for Zigbee2Mqtt running in docker and HASS.IO","archived":false,"fork":false,"pushed_at":"2022-12-09T07:03:41.000Z","size":4982,"stargazers_count":450,"open_issues_count":120,"forks_count":41,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-03-26T02:02:17.443Z","etag":null,"topics":["home-assistant","home-automation","mqtt","smarthome","zigbee","zigbee2mqtt"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yllibed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-08T03:47:14.000Z","updated_at":"2025-02-23T01:00:43.000Z","dependencies_parsed_at":"2023-01-15T18:45:21.200Z","dependency_job_id":null,"html_url":"https://github.com/yllibed/Zigbee2MqttAssistant","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yllibed%2FZigbee2MqttAssistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yllibed%2FZigbee2MqttAssistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yllibed%2FZigbee2MqttAssistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yllibed%2FZigbee2MqttAssistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yllibed","download_url":"https://codeload.github.com/yllibed/Zigbee2MqttAssistant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245984468,"owners_count":20704791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["home-assistant","home-automation","mqtt","smarthome","zigbee","zigbee2mqtt"],"created_at":"2024-07-31T19:00:47.247Z","updated_at":"2025-03-28T06:31:22.409Z","avatar_url":"https://github.com/yllibed.png","language":"C#","readme":"# Zigbee2Mqtt Assistant\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/431c077a2fe84565849ee9a5ee5fcd62)](https://app.codacy.com/gh/yllibed/Zigbee2MqttAssistant?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=yllibed/Zigbee2MqttAssistant\u0026utm_campaign=Badge_Grade_Dashboard)\n[![All Contributors](https://img.shields.io/badge/all_contributors-22-orange.svg?style=flat-square)](#contributors)\n[![Build Status](https://dev.azure.com/yllibed/Zigbee2MqttAssistant/_apis/build/status/yllibed.Zigbee2MqttAssistant?branchName=master)](https://dev.azure.com/yllibed/Zigbee2MqttAssistant/_build/latest?definitionId=4\u0026branchName=master)\n[![Release Status](https://vsrm.dev.azure.com/yllibed/_apis/public/Release/badge/35f7fc7c-f867-48e4-83b5-3381156a439a/1/1)](https://dev.azure.com/yllibed/Zigbee2MqttAssistant/_release?view=mine\u0026definitionId=1)\n[![Docker Pulls](https://img.shields.io/docker/pulls/carldebilly/zigbee2mqttassistant)](https://hub.docker.com/r/carldebilly/zigbee2mqttassistant)\n\nThis project is a _Web GUI_ for the very good [Zigbee2Mqtt](https://www.zigbee2mqtt.io/) software\n([github sources](https://github.com/Koenkk/zigbee2mqtt)).\n\n## Features\n* If you're using zigbee2mqtt for your devices, it's a must.\n* Display zigbee devices and the status of each of them.\n* Display an interactive map of the network\n* Touchlink support\n* Automatically turn off _allow join_ of Zigbee network - no matter how you turned it on (don't need to be turned on from Z2MA). Default is 20 minutes.\n* Flexible installation:\n  * Available as a _HASS.IO_ add-on (integration into _Home Assistant_). _Ingress_ is supported too.\n    note: can be used without Home Assistant.\n  * Published as a docker images for following architectures\n    * Linux AMD64 (alpine): `linux-x64`\n    * Linux ARM32 (buster-slim): `linux-arm32` (`armv7`+ processor required - **Won't work on Raspberry Pi Zero or Zero-W!**)\n    * Linux ARM64 (apline): `linux-arm64` (`armv8`+ processor required)\n    * Windows 64 bits (v10.0.17763+): `win-64`\n    * Windows ARM32 (v10.0.17763+): `win-arm32`\n    * Also published as a multi-arch manifest: `latest` (or `dev` for development version)\n* Operations on devices:\n  * Allow network join - no more need to setup virtual switches in HA just for that.\n  * Rename devices\n  * Remove devices from network (+ forced remove)\n  * Configure device (force reconfiguration of device's reportings)\n  * Bind device to another one (mostly used for Ikea TRÅDFRI devices - [documentation here](https://www.zigbee2mqtt.io/information/binding.html))\n  * Visualize device health\n  * OTA Upgrades\n* Based on _ASP.NET Core_ 3.1 LTS.\n\n## Screenshots\n![](images/devices-list.png)\n![](images/device-page.png)\n![](images/status-page.png)\n\n## Installation\n\n### OPTION 1 - Installing as `HASS.IO` Add-on\n1. Add the following repository url in HASS.IO:\n   ```\n   https://github.com/yllibed/hassio\n   ```\n2. Install `Zigbee2Mq2ttAssistant`\n3. Configure your credentials for your MQTT server\n4. Enjoy!\n\n### OPTION 2 - Installing from docker\nRun the following command by replacing `\u003cmqttserver\u003e`, `\u003cmqttusername\u003e`, `\u003cmqttpassword\u003e` with your correct values.\n```bash\ndocker run -p 8880:80 -e \"Z2MA_SETTINGS__MQTTSERVER=\u003cmqttserver\u003e\" -e \"Z2MA_SETTINGS__MQTTUSERNAME=\u003cmqttusername\u003e\" -e \"Z2MA_SETTINGS__MQTTPASSWORD=\u003cmqttpassword\u003e\" --restart unless-stopped carldebilly/zigbee2mqttassistant\n```\n\u003e **Draft note**: Environment variables are currently the easiest way to set those settings.\n\u003e Open an issue if you need it to be in a configuration file/folder.\n\n### Docker Compose example\n\nIf you're using Docker Compose, fell free to use this. 8880 is the port where the service will be available, from the outside of the container itself.\n``` yaml\n######################################\n# Zigbee2MqttAssistant (GUI Interface)\n######################################\n# https://github.com/yllibed/Zigbee2MqttAssistant\n\n  zigbee2mqttAssistant:\n    image: carldebilly/zigbee2mqttassistant\n    container_name: zigbee2mqttAssistant\n    environment:\n      - Z2MA_SETTINGS__MQTTSERVER={IP_OR_HOSTNAME}\n      - Z2MA_SETTINGS__MQTTUSERNAME={MQTTUSERNAME}\n      - Z2MA_SETTINGS__MQTTPASSWORD={MQTTPASSWORD}\n      # Set to your TimeZone when using on Linux https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n      # Won't work if you're using the Windows version of the container\n      - TZ=Europe/Copenhagen\n    ports:\n      - 8880:80\n    restart: unless-stopped\n```\n\n_Accepted for Docker-compose Manifest v.3_\n\n\n### OPTION 3 - Installing from sources \u0026 compiling using Visual Studio\n1. Compile the solution file\n2. Adjust settings in `appsettings.json` for your MQTT connection\n\n\u003e Note: it won't compile using the _dotnet core_ build yet. For now, MSBuild is required to build it.\n\u003e\n\u003e **This method is not recommended because any change to dependencies will require you to update your development/deployment environment.**\n\n## Release Channels\nThere is 2 channels for Zigbee2MqttAssistant: `dev` and `stable`. When a build version is considered stable enough, it will be pushed from `dev` to `stable` (there's no git branch dedicated to the _stable_ version).\n\nIf you want to try newest features, you can get the `dev` branch in the following way:\n* On HASS.IO, pick `zigbee2mqttassistant-dev` package\n* On Docker, pick the following package/tag: `carldebilly/zigbee2mqttassistant:dev`\n\n## Settings\n\nYou can refer to [`Settings.cs` file](Zigbee2MqttAssistant/Models/Settings.cs) for more information\non allowed settings. Here's the important settings:\n\n| Field                             | Default           | Usage                                                   |\n| --------------------------------- | ----------------- | ------------------------------------------------------- |\n| `BaseTopic`                       | `\"zigbee2mqtt\"`   | Base MQTT topic when Zigbee2Mqtt is publishing its data |\n| `HomeAssistantDiscoveryBaseTopic` | `\"homeassistant\"` | Base MQTT topic for HASS Discovery                      |\n| `MqttServer`                      | `\"mqtt\"`          | Name or IP address of the MQTT server. Put only the name or the address of the server here.  **DON'T USE THE `mqtt://` ADDRESS FORMAT**. |\n| `MqttSecure`                      | `false`           | If should use TLS to connect to MQTT server. Valid options are `true`, `false` or `\"insecure\"`. _Insecure_ means it's using TLS, but without any server certificate check. |\n| `MqttPort`                        | `1883` (normal) or `8883` (secured) | Port for MQTT server                  |\n| `MqttUsername`                    | `\"\"`              | Username for MQTT server                                |\n| `MqttPassword`                    | `\"\"`              | Password for MQTT server                                |\n| `LowBatteryThreshold`             | `30`              | Threshold for triggering low-battery warning (%)        |\n| `AllowJoinTimeout`                | `20`              | Timeout for turning off _allow join_ of Zigbee network. Set 0 to disable this feature |\n| `AutosetLastSeen`                 | `false`           | Will turn on `last_Seen` on Zigbee2Mqtt automatically when detected as off. |\n| `DevicesPollingSchedule`          | `*/12 * * * *`    | Schedule (cron expression) for device list refresh. Default value: every 12 minutes. |\n| `NetworkScanSchedule`             | `0 */3 * * *`     | Schedule (cron expression) for device list refresh. Default value: every 3 hours. This network scan can have high cost on your network: [details here](https://github.com/Koenkk/zigbee2mqtt/issues/2118#issuecomment-541339790). |\n\nFor environment variables, you can use any of the previous fields, prefixed with `Z2MA_SETTINGS__`.  By example, you can specify the `MqttPort` with an environment variable in the following way:\n```\nZ2MA_SETTINGS__MQTTPORT=11883\nZ2MA_SETTINGS__MQTTSECURE=INSECURE\n```\nNote: Uppercase is used here as a convention. It's actually case insensitive.\n\nIf you need to change _cron expression_ for other values, you should use a site like \u003chttps://crontab.guru/\u003e to validate them. Attention: if you specify specific hours, take care of the time offset (timezone) inside the container!\n\n## Listening to Alternate Port / Linux Security\n\nWhen running this container on Linux, it's a best practice to run containers with a non-root account. To achieve that with _Zigbee2MqttAssistant_, it's required to change the listening port to something else than `80`, because ports number under `1024` are restricted to priviledged users.\n\nSince it's using ASPNET Core, it's possible to change the listening port in the container to something else by using one of the following method:\n\n* Set the `--urls` parameter on the command line:\n\n  ``` shell\n  # Command line to set alternate listening port in the container\n  # using the --urls parameter\n  docker run carldebilly/zigbee2mqttassistant --urls http://*:8888\n  ```\n\n* Use the `ASPNETCORE_URLS` environment variable:\n\n  ``` shell\n  # Command line to set alternate listening port in the container\n  # using the ASPNETCORE_URLS environment variable\n  docker run -e \"ASPNETCORE_URLS=http://*:8888\" carldebilly/zigbee2mqttassistant\n  ```\n\nThis method can also be used to set another scheme (`https://`), a specific ip address or many ports at the same time. [Microsoft ASPNET Core documentation](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.1#endpoint-configuration).\n\n## Roadmap\n\n* [X] Build a CI + publish to docker hub\n* [X] Shorter environment variables + config file (for docker image)\n* [X] Create a `HASS.IO` add-on\n  * [X] Support for `HASS.IO` Ingress\n  * [X] Automatic update of repo on new version\n* [X] Support _Zigbee Bindings_\n* [X] Support _Docker Manifest_ (support for ARM + Windows)\n* [X] Support mapping of network\n* [X] Allow-join auto-off\n* [ ] Support _Zigbee groups_\n* [ ] Support for device images\n\n## Requirements\n* You need a running installation of `Zigbee2Mqtt` v1.5.0+\n  \n  * Also tested on v1.6.0, v1.7.0, v1.7.1 and v1.8.0, v1.11 (needed for firmware update feature)\n* Simple MQTT connection with username/password (TLS supported)\n  \n  * Client certificates not supported yet - open an issue if your need it.\n* Zigbee2Mqtt required settings:\n  * Home Assistant Discovery should be activated for a better experience (to see components)\n\n    **AN ACTUAL INSTALLATION OF HOME ASSISTANT IS NOT REQUIRED**\n\n     To activate: `homeassistant: true` in Zigbee2Mqtt configuration\n  * `last_seen` should be activated on Zigbee2Mqtt (any format supported). There's an option (`AutosetLastSeen`) to activate it automatically through MQTT.\n\n## Contributing\n* If you have suggestions or find bugs, don't hesitate to open and issue here, on Github.\n* **PULL REQUESTS** are welcome! Please open an issue first and link it to your PR. If you're\n  unsure about how to implement a feature, we should discuss it in the issue first.\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/VivantSenior\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/49829548?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVivantSenior\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=VivantSenior\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/alwashe\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/15383159?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ealwashe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=alwashe\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/agreenfield1\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/16204747?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eagreenfield1\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=agreenfield1\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/neographikal\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/2643715?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eneographikal\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-neographikal\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Aneographikal\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/wixoff\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/945097?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ewixoff\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Awixoff\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/heubi76\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/25635057?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eheubi76\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Aheubi76\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://gadget-freakz.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/649642?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRemco van Geel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-remb0\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://abscond.org\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/425?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJames Darling\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Ajames\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/nbogojevic\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1485503?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNenad Bogojevic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Anbogojevic\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=nbogojevic\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/trekker25\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/24300944?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003etrekker25\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-trekker25\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/brendanmullan\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/4569153?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBrendan Mullan\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-brendanmullan\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/seaverd\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/2743685?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eseaverd\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Aseaverd\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/timdonovanuk\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/8156439?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003etimdonovanuk\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-timdonovanuk\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.linkedin.com/in/RafhaanShah/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/16906440?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRafhaan Shah\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-RafhaanShah\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/foXaCe\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/290678?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003efoXaCe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-foXaCe\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ciotlosm\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/7738048?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarius\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Aciotlosm\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#ideas-ciotlosm\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://wol.ph/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/270571?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRick van Hattem\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3AWoLpH\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://godisapj.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/10796588?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePeeJay\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Apejotigrek\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/jeromelaban\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/5839577?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJérôme Laban\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=jeromelaban\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://johntdyer.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/58234?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJohn Dyer\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Ajohntdyer\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://www.djc.me\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/826556?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDan Chen\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=djchen\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/dystechnic\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/36402924?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edystechnic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Adystechnic\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/FutureCow\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/2134193?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFutureCow\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3AFutureCow\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://exeti.co\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/3549445?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTobias Nordahl Kristensen\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=exetico\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=exetico\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/tdn131\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/32997056?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003etdn131\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-tdn131\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Edzilla2000\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/5339038?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEdzilla2000\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-Edzilla2000\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"http://ls7-www.cs.uni-dortmund.de\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/20599588?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdrian Böckenkamp\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-codefinder2\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e \u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/issues?q=author%3Acodefinder2\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/dr1rrb\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/8635919?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDavid\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=dr1rrb\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/magpern\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/6589760?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMagnus Pernemark\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=magpern\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#question-magpern\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/diveflo\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/11045082?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFlorian Gabsteiger\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=diveflo\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/vaital3000\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/15158048?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eПомозов Виталий\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/yllibed/Zigbee2MqttAssistant/commits?author=vaital3000\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/panec\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/2536779?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMaciej Panecki\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#question-panec\" title=\"Answering Questions\"\u003e💬\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":[],"categories":["C#","C# #"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyllibed%2FZigbee2MqttAssistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyllibed%2FZigbee2MqttAssistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyllibed%2FZigbee2MqttAssistant/lists"}