diff --git a/README.md b/README.md index 876c025b..6b2f3308 100644 --- a/README.md +++ b/README.md @@ -505,6 +505,19 @@ Fast, modern, secure VPN tunnel [:books: WireGuard add-on documentation][addon-doc-wireguard] +### ✓ [Z-Wave JS UI][addon-zwave-js-ui] + +![Latest Version][zwave-js-ui-version-shield] +![Supports armhf Architecture][zwave-js-ui-armhf-shield] +![Supports armv7 Architecture][zwave-js-ui-armv7-shield] +![Supports aarch64 Architecture][zwave-js-ui-aarch64-shield] +![Supports amd64 Architecture][zwave-js-ui-amd64-shield] +![Supports i386 Architecture][zwave-js-ui-i386-shield] + +Fully configurable Z-Wave JS gateway and control panel + +[:books: Z-Wave JS UI add-on documentation][addon-doc-zwave-js-ui] + ### ✓ [ZeroTier One][addon-zerotier] ![Latest Version][zerotier-version-shield] @@ -622,6 +635,7 @@ on the correct GitHub repository matching the add-on. - [Open an issue for the add-on: Uptime Kuma][uptime-kuma-issue] - [Open an issue for the add-on: Vaultwarden (Bitwarden)][bitwarden-issue] - [Open an issue for the add-on: WireGuard][wireguard-issue] +- [Open an issue for the add-on: Z-Wave JS UI][zwave-js-ui-issue] - [Open an issue for the add-on: ZeroTier One][zerotier-issue] - [Open an issue for the add-on: chrony][chrony-issue] - [Open an issue for the add-on: motionEye][motioneye-issue] @@ -997,6 +1011,15 @@ SOFTWARE. [wireguard-armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg [wireguard-armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg [wireguard-i386-shield]: https://img.shields.io/badge/i386-yes-green.svg +[addon-zwave-js-ui]: https://github.com/hassio-addons/addon-zwave-js-ui/tree/v1.0.0 +[addon-doc-zwave-js-ui]: https://github.com/hassio-addons/addon-zwave-js-ui/blob/v1.0.0/README.md +[zwave-js-ui-issue]: https://github.com/hassio-addons/addon-zwave-js-ui/issues +[zwave-js-ui-version-shield]: https://img.shields.io/badge/version-v1.0.0-blue.svg +[zwave-js-ui-aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg +[zwave-js-ui-amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[zwave-js-ui-armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[zwave-js-ui-armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg +[zwave-js-ui-i386-shield]: https://img.shields.io/badge/i386-yes-green.svg [addon-zerotier]: https://github.com/hassio-addons/addon-zerotier/tree/v0.15.1 [addon-doc-zerotier]: https://github.com/hassio-addons/addon-zerotier/blob/v0.15.1/README.md [zerotier-issue]: https://github.com/hassio-addons/addon-zerotier/issues diff --git a/zwave-js-ui/CHANGELOG.md b/zwave-js-ui/CHANGELOG.md new file mode 100644 index 00000000..3103e8fa --- /dev/null +++ b/zwave-js-ui/CHANGELOG.md @@ -0,0 +1,24 @@ +## What’s changed + +After many misunderstandings and confusion, the upstream ZwaveJS2MQTT project has been renamed to Z-Wave JS UI! + +Many users were confused about the 'MQTT' part, thinking it needs an MQTT Broker to work when its most important feature is to be a full-featured Control Panel UI for Z-Wave JS. The add-on is going to follow upstream and thus has applied the same naming change. + +Besides upgrading, as usual, no additional action is needed. + +## 🚨 Breaking changes + +- ⬆️ Upgrades Z-Wave JS UI to v8.0.0 @frenck (#415) + +## 🧰 Maintenance + +- Mark project as production ready @frenck (#417) + +## 📚 Documentation + +- Update Home Assistant instructions @kpine (#414) +- Fix broken link in add-on readme @frenck (#418) + +## ⬆️ Dependency updates + +- ⬆️ Upgrades Z-Wave JS UI to v8.0.0 @frenck (#415) diff --git a/zwave-js-ui/DOCS.md b/zwave-js-ui/DOCS.md new file mode 100644 index 00000000..a4fc0801 --- /dev/null +++ b/zwave-js-ui/DOCS.md @@ -0,0 +1,182 @@ +# Home Assistant Community Add-on: Z-Wave JS UI + +The Z-Wave JS UI add-on provides an additional control panel, allowing you +to configure every aspect of your Z-Wave network. It provides a decouled +gateway which can communicate using Z-Wave JS WebSockets (used by the +Home Assistant Z-Wave JS integration) and MQTT (even simultaneously). + +Some advantages and use-cases: + +- Compatible with the Home Assistant Z-Wave JS integration. +- Your Z-Wave network will keep running between Home Assistant restarts. +- You can directly use things like Node-RED with your Z-Wave network, while + it is available for Home Assistant at the same time. +- Allow [ESPHome.io][esphome] based ESP devices to directly respond or work + with your Z-Wave network. +- Pre-configures itself with the Mosquitto add-on when found. + +This add-on uses the [Z-Wave JS UI][zwave-js-ui] software. + +## Installation + +The installation of this add-on is pretty straightforward and not different in +comparison to installing any other Home Assistant add-on. + +1. Click the Home Assistant My button below to open the add-on on your Home + Assistant instance. + + [![Open this add-on in your Home Assistant instance.][addon-badge]][addon] + +1. Click the "Install" button to install the add-on. +1. Check the logs of the "Z-Wave JS UI" add-on to see if everything went + well. +1. Click the "OPEN WEB UI" button. +1. Enjoy the add-on! + +**NOTE**: The upstream project has documentation on using the software itself: + + +## Setting up the Home Assistant Z-Wave JS integration + +By default the Home Assistant Z-Wave JS integration will try to set up the +official "Z-Wave JS" add-on from the official add-on store. + +However, this add-on will provide an add-on UI and has the ability to +send/receive data over MQTT as well. So, if that is your thing, this +add-on might be for you. + +After starting the add-on successfully, it is time to hook it up with +Home Assistant. + +To do this: + +1. Open the Z-Wave JS UI control panel by clicking the "OPEN WEB UI" + button on the add-on page in the Supervisor. +1. In the control panel, go to "Settings" in the menu and click on the "Zwave" + bar that shows up on the right. +1. Enter the following information: + - Serial Port (e.g., `/dev/serial/by-id/usb-0658_0200_if00`) + - Network Key (e.g., `2232666D100F795E5BB17F0A1BB7A146`) + +Now click the "SAVE" button and navigate to the "Control Panel" in the menu. +If you had devices paired already, you should see the showing up slowly. + +Now it is time to set up Home Assistant: + +1. Go to the Settings panel and click "Devices & Services". +1. In the bottom right, click "+ Add Integration". +1. Select the "Z-Wave" integration from the list. +1. A dialog box will show, asking to use the add-on: + - **UNCHECK** that box, it will install the official add-on. + - Again, the official add-on is recommended, so... +1. In the next dialog it will ask for the server. Enter: + `ws://a0d7b954-zwavejs2mqtt:3000` +1. Confirm and done! + +## Configuration + +**Note**: _Remember to restart the add-on when the configuration is changed._ + +Example add-on configuration: + +```yaml +log_level: info +``` + +### Option: `log_level` + +The `log_level` option controls the level of log output by the addon and can +be changed to be more or less verbose, which might be useful when you are +dealing with an unknown issue. Possible values are: + +- `trace`: Show every detail, like all called internal functions. +- `debug`: Shows detailed debug information. +- `info`: Normal (usually) interesting events. +- `warning`: Exceptional occurrences that are not errors. +- `error`: Runtime errors that do not require immediate action. +- `fatal`: Something went terribly wrong. Add-on becomes unusable. + +Please note that each level automatically includes log messages from a +more severe level, e.g., `debug` also shows `info` messages. By default, +the `log_level` is set to `info`, which is the recommended setting unless +you are troubleshooting. + +## Known issues and limitations + +- Z-Wave JS UI supports Home Assistant Discovery over MQTT. It is + **STRONGLY** recommended **NOT** to use that option. Use the Z-Wave JS + integration as documented above instead. + +## Changelog & Releases + +This repository keeps a change log using [GitHub's releases][releases] +functionality. + +Releases are based on [Semantic Versioning][semver], and use the format +of `MAJOR.MINOR.PATCH`. In a nutshell, the version will be incremented +based on the following: + +- `MAJOR`: Incompatible or major changes. +- `MINOR`: Backwards-compatible new features and enhancements. +- `PATCH`: Backwards-compatible bugfixes and package updates. + +## Support + +Got questions? + +You have several options to get them answered: + +- The [Home Assistant Community Add-ons Discord chat server][discord] for add-on + support and feature requests. +- The [Home Assistant Discord chat server][discord-ha] for general Home + Assistant discussions and questions. +- The Home Assistant [Community Forum][forum]. +- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] + +You could also [open an issue here][issue] GitHub. + +## Authors & contributors + +The original setup of this repository is by [Franck Nijhof][frenck]. + +For a full list of all authors and contributors, +check [the contributor's page][contributors]. + +## License + +MIT License + +Copyright (c) 2021 - 2022 Franck Nijhof + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +[addon-badge]: https://my.home-assistant.io/badges/supervisor_addon.svg +[addon]: https://my.home-assistant.io/redirect/supervisor_addon/?addon=a0d7b954_zwavejs2mqtt&repository_url=https%3A%2F%2Fgithub.com%2Fhassio-addons%2Frepository +[contributors]: https://github.com/hassio-addons/addon-zwave-js-ui/graphs/contributors +[discord-ha]: https://discord.gg/c5DvZ4e +[discord]: https://discord.me/hassioaddons +[esphome]: https://esphome.io/components/mqtt.html#on-message-trigger +[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg +[forum]: https://community.home-assistant.io/?u=frenck +[frenck]: https://github.com/frenck +[issue]: https://github.com/hassio-addons/addon-zwave-js-ui/issues +[reddit]: https://reddit.com/r/homeassistant +[releases]: https://github.com/hassio-addons/addon-zwave-js-ui/releases +[semver]: http://semver.org/spec/v2.0.0.htm +[zwave-js-ui]: https://github.com/zwave-js/zwave-js-ui diff --git a/zwave-js-ui/README.md b/zwave-js-ui/README.md new file mode 100644 index 00000000..f97e52c3 --- /dev/null +++ b/zwave-js-ui/README.md @@ -0,0 +1,64 @@ +# Home Assistant Community Add-on: Z-Wave JS UI + +[![Release][release-shield]][release] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield] + +[![Discord][discord-shield]][discord] [![Community Forum][forum-shield]][forum] + +[![Sponsor Frenck via GitHub Sponsors][github-sponsors-shield]][github-sponsors] + +[![Support Frenck on Patreon][patreon-shield]][patreon] + +Fully configurable Z-Wave JS control panel and MQTT gateway. + +![Z-Wave JS UI][logo] + +## About + +The Z-Wave JS UI add-on provides an additional control panel, allowing you +to configure every aspect of your Z-Wave network. It provides a decouled +gateway which can communicate using Z-Wave JS WebSockets (used by the +Home Assistant Z-Wave JS integration) and MQTT (even simultaneously). + +Some advantages and use-cases: + +- Compatible with the Home Assistant Z-Wave JS integration. +- Your Z-Wave network will keep running between Home Assistant restarts. +- You can directly use things like Node-RED with your Z-Wave network, while + it is available for Home Assistant at the same time. +- Allow [ESPHome.io][esphome] based ESP devices to directly respond or work + with your Z-Wave network. +- Pre-configures itself with the Mosquitto add-on when found. + +This add-on uses the [Z-Wave JS UI][zwave-js-ui] software. + +## WARNING! THIS IS A BETA VERSION! + +This Home Assistant Add-ons repository contains beta releases of add-ons. + +- They might stop working at any time. +- They could have a negative impact on your system. + +This repository was created for: + +- Anybody willing to test. +- Anybody interested in trying out upcoming add-ons or add-on features. + +If you are more interested in stable releases of our add-ons: + + + +[discord-shield]: https://img.shields.io/discord/478094546522079232.svg +[discord]: https://discord.me/hassioaddons +[esphome]: https://esphome.io/components/mqtt.html#on-message-trigger +[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg +[forum]: https://community.home-assistant.io/?u=frenck +[github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png +[github-sponsors]: https://github.com/sponsors/frenck +[logo]: https://github.com/hassio-addons/addon-zwave-js-ui/raw/main/zwave-js-ui/logo.png +[maintenance-shield]: https://img.shields.io/maintenance/yes/2022.svg +[patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png +[patreon]: https://www.patreon.com/frenck +[project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg +[release-shield]: https://img.shields.io/badge/version-v1.0.0-blue.svg +[release]: https://github.com/hassio-addons/addon-zwave-js-ui/tree/v1.0.0 +[zwave-js-ui]: https://github.com/zwave-js/zwave-js-ui \ No newline at end of file diff --git a/zwave-js-ui/config.yaml b/zwave-js-ui/config.yaml new file mode 100644 index 00000000..855e04a9 --- /dev/null +++ b/zwave-js-ui/config.yaml @@ -0,0 +1,34 @@ +arch: +- aarch64 +- amd64 +- armhf +- armv7 +- i386 +codenotary: codenotary@frenck.dev +description: Fully configurable Z-Wave JS gateway and control panel +discovery: +- zwave_js +image: ghcr.io/hassio-addons/zwave-js-ui/{arch} +ingress: true +ingress_stream: true +init: false +map: +- share:rw +name: Z-Wave JS UI +panel_icon: mdi:z-wave +panel_title: Z-Wave JS +ports: + 3000/tcp: null +ports_description: + 3000/tcp: Z-Wave JS communication +schema: + log_level: list(trace|debug|info|notice|warning|error|fatal)? +services: +- mqtt:want +slug: zwavejs2mqtt +startup: system +uart: true +udev: true +url: https://github.com/hassio-addons/addon-zwave-js-ui +version: 1.0.0 +watchdog: http://[HOST]:[PORT:8099]/health/zwave diff --git a/zwave-js-ui/icon.png b/zwave-js-ui/icon.png new file mode 100644 index 00000000..360d704d Binary files /dev/null and b/zwave-js-ui/icon.png differ diff --git a/zwave-js-ui/logo.png b/zwave-js-ui/logo.png new file mode 100644 index 00000000..a5933418 Binary files /dev/null and b/zwave-js-ui/logo.png differ diff --git a/zwave-js-ui/translations/en.yaml b/zwave-js-ui/translations/en.yaml new file mode 100644 index 00000000..f7ca4fba --- /dev/null +++ b/zwave-js-ui/translations/en.yaml @@ -0,0 +1,8 @@ +--- +configuration: + log_level: + name: Log level + description: >- + Controls the level of log details the add-on provides. +network: + 3000/tcp: Z-Wave JS server port