diff --git a/.azure/azp-template-addon.yml b/.azure/azp-template-addon.yml index 44afb72..099a693 100644 --- a/.azure/azp-template-addon.yml +++ b/.azure/azp-template-addon.yml @@ -9,7 +9,8 @@ jobs: - job: '${{ parameters.addon }}' condition: eq(variables['Build.SourceBranchName'], 'master') pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' + timeoutInMinutes: 360 steps: - script: sudo docker login -u $(dockerUser) -p $(dockerPassword) displayName: 'Docker hub login' diff --git a/.hadolint.yaml b/.hadolint.yaml index 6c91568..d29b725 100644 --- a/.hadolint.yaml +++ b/.hadolint.yaml @@ -3,6 +3,7 @@ ignored: - DL3006 - DL3007 - DL3008 + - DL3013 - DL3018 - DL4006 - SC2046 diff --git a/ada/CHANGELOG.md b/ada/CHANGELOG.md new file mode 100644 index 0000000..7f56ddb --- /dev/null +++ b/ada/CHANGELOG.md @@ -0,0 +1,35 @@ +# Changelog + +## 0.8 + +- Fix API url for access to Home Assistant + +## 0.7 + +- Add missing options + +## 0.6 + +- Update Ada to 0.7 +- Add options to change TTS / STT Home Assistant provider + +## 0.5 + +- Update Ada to 0.6 + +## 0.4 + +- Update Ada to 0.5 + +## 0.3 + +- Update Ada to 0.4 + +## 0.2 + +- Update Ada to 0.3 +- Add armhf support + +## 0.1 + +- Initial support diff --git a/ada/Dockerfile b/ada/Dockerfile new file mode 100644 index 0000000..50a8558 --- /dev/null +++ b/ada/Dockerfile @@ -0,0 +1,35 @@ +ARG BUILD_FROM +FROM ${BUILD_FROM} + +# Install Dude +WORKDIR /usr/src/ada +ARG ADA_VERSION + +RUN apt-get update && apt-get install -y --no-install-recommends \ + portaudio19-dev \ + libsndfile1 \ + mplayer \ + libffi-dev \ + python3 \ + python3-pip \ + python3-dev \ + git \ + build-essential \ + \ + && git clone --depth 1 -b ${ADA_VERSION} https://github.com/home-assistant/dude . \ + && rm -rf .git \ + && pip3 install --no-cache-dir -U setuptools wheel \ + && pip3 install --no-cache-dir -r requirements.txt \ + && pip3 install --no-cache-dir -e . \ + && python3 -m compileall dude \ + \ + && apt-get purge -y --auto-remove \ + git \ + build-essential \ + python3-dev \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR / +COPY data/run.sh / + +CMD ["/run.sh"] diff --git a/ada/README.md b/ada/README.md new file mode 100644 index 0000000..37c6777 --- /dev/null +++ b/ada/README.md @@ -0,0 +1,53 @@ +# Hass.io Core Add-on: Ada + +Home Assistant featured voice assist. + +![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] ![Supports i386 Architecture][i386-shield] + +## About + +## Installation + +The installation of this add-on is straightforward and easy to do. + +1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. +2. Find the "Hey Ada!" add-on and click it. +3. Click on the "INSTALL" button. + +## How to use + +The basic thing to get the add-on running would be: + +1. Start the add-on. + +## Configuration + +Example add-on configuration: + +```json +{ +} +``` + +## Support + +Got questions? + +You have several options to get them answered: + +- The [Home Assistant Discord Chat Server][discord]. +- The Home Assistant [Community Forum][forum]. +- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] + +In case you've found an bug, please [open an issue on our GitHub][issue]. + +[aarch64-shield]: https://img.shields.io/badge/aarch64-no-red.svg +[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg +[discord]: https://discord.gg/c5DvZ4e +[forum]: https://community.home-assistant.io +[i386-shield]: https://img.shields.io/badge/i386-no-red.svg +[issue]: https://github.com/home-assistant/hassio-addons/issues +[reddit]: https://reddit.com/r/homeassistant +[repository]: https://github.com/hassio-addons/repository diff --git a/ada/azure-pipelines.yml b/ada/azure-pipelines.yml new file mode 100644 index 0000000..076e962 --- /dev/null +++ b/ada/azure-pipelines.yml @@ -0,0 +1,22 @@ +# https://dev.azure.com/home-assistant + +trigger: + branches: + include: + - master + paths: + include: + - ada/* +pr: none + +variables: + - name: versionBuilder + value: '2.0' + - group: docker + + +jobs: +- template: /.azure/azp-template-addon.yml + parameters: + addon: 'ada' + arch: '--amd64 --armv7 --armhf' diff --git a/ada/build.json b/ada/build.json new file mode 100644 index 0000000..f2f02d5 --- /dev/null +++ b/ada/build.json @@ -0,0 +1,10 @@ +{ + "build_from": { + "amd64": "homeassistant/amd64-base-debian:buster", + "armv7": "homeassistant/armv7-base-debian:buster", + "armhf": "homeassistant/armhf-base-debian:buster" + }, + "args": { + "ADA_VERSION": "0.7" + } +} diff --git a/ada/config.json b/ada/config.json new file mode 100644 index 0000000..897a9e5 --- /dev/null +++ b/ada/config.json @@ -0,0 +1,22 @@ +{ + "name": "Hey Ada!", + "version": "0.8", + "slug": "ada", + "description": "Home Assistant featured voice assist", + "url": "https://home-assistant.io/addons/ada/", + "arch": ["armhf", "armv7", "amd64"], + "startup": "application", + "boot": "auto", + "audio": true, + "homeassistant": "0.102.0.dev", + "homeassistant_api": true, + "options": { + "stt": "cloud", + "tts": "cloud" + }, + "schema": { + "stt": "str", + "tts": "str" + }, + "image": "homeassistant/{arch}-addon-ada" +} diff --git a/ada/data/run.sh b/ada/data/run.sh new file mode 100755 index 0000000..707c137 --- /dev/null +++ b/ada/data/run.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bashio + +STT=$(bashio::config 'stt') +TTS=$(bashio::config 'tts') + +exec python3 -m ada --url "http://hassio/homeassistant/api" --key "$HASSIO_TOKEN" --stt "$STT" --tts "$TTS" diff --git a/almond/CHANGELOG.md b/almond/CHANGELOG.md new file mode 100644 index 0000000..bb6fc4e --- /dev/null +++ b/almond/CHANGELOG.md @@ -0,0 +1,30 @@ +# Changelog + +## 0.7 + +- Change startup type to Application + +## 0.6 + +- Fix issue with restart / Hass.io token handling + +## 0.5 + +- Update Almond to 1.7.1 + +## 0.4 + +- Update Almond to 1.7.0 + +## 0.3 + +- Add automatic Almond setup + +## 0.2 + +- Add Ingress +- Update almond to 1.6.0 + +## 0.1 + +- Initial version diff --git a/almond/Dockerfile b/almond/Dockerfile index 5988704..fdf49c4 100644 --- a/almond/Dockerfile +++ b/almond/Dockerfile @@ -20,15 +20,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Install Almond -ARG ALMOND_COMMIT +ARG ALMOND_VERSION WORKDIR /opt/almond RUN apt-get update && apt-get install -y --no-install-recommends \ git \ python-dev \ build-essential \ \ - && git clone https://github.com/stanford-oval/almond-server . \ - && git checkout ${ALMOND_COMMIT} \ + && git clone -b ${ALMOND_VERSION} --depth 1 https://github.com/stanford-oval/almond-server . \ && rm -fr .git \ && yarn \ \ diff --git a/almond/README.md b/almond/README.md index 89c7519..7890a74 100644 --- a/almond/README.md +++ b/almond/README.md @@ -39,7 +39,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/almond/build.json b/almond/build.json index 6c82ce6..99b2dab 100644 --- a/almond/build.json +++ b/almond/build.json @@ -5,6 +5,6 @@ "aarch64": "homeassistant/aarch64-base-debian:buster" }, "args": { - "ALMOND_COMMIT": "87d37637c8bcaea8a86d2e1eba039184d4434049" + "ALMOND_VERSION": "v1.7.1" } } diff --git a/almond/config.json b/almond/config.json index a62def1..647a85e 100644 --- a/almond/config.json +++ b/almond/config.json @@ -1,16 +1,16 @@ { "name": "Almond", - "version": "0.3", + "version": "0.7", "slug": "almond", "description": "The home server version of Almond", "url": "https://home-assistant.io/addons/almond/", "arch": ["armv7", "aarch64", "amd64"], - "startup": "system", + "startup": "application", "boot": "auto", "discovery": ["almond"], "ingress": true, "panel_icon": "mdi:comment-eye-outline", - "homeassistant": "0.102.0b0", + "homeassistant": "0.102.0.dev", "homeassistant_api": true, "options": { }, diff --git a/almond/data/run.sh b/almond/data/run.sh index d1822ca..a52cb1d 100755 --- a/almond/data/run.sh +++ b/almond/data/run.sh @@ -15,6 +15,7 @@ almond_config=$(\ accessToken "${HASSIO_TOKEN}" \ refreshToken "" \ accessTokenExpires "^${TOKEN_VALID}" \ + isHassio "^true" \ ) # HA Discovery diff --git a/cec_scan/README.md b/cec_scan/README.md index eb03ce6..062af4c 100644 --- a/cec_scan/README.md +++ b/cec_scan/README.md @@ -11,7 +11,7 @@ the CEC address of your devices. ## Installation -The installation of this add-on is straightforward and easy to do. +Follow these steps to get the add-on installed on your system: 1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. 2. Find the "CEC Scanner" add-on and click it. @@ -19,7 +19,7 @@ The installation of this add-on is straightforward and easy to do. ## How to use -This add-on has no configuration and just runs out of the box. +This add-on has no configuration and runs out of the box. 1. Start the add-on. 2. Check the add-on log output to see the result. @@ -38,7 +38,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/check_config/README.md b/check_config/README.md index 9439463..3ad5f21 100644 --- a/check_config/README.md +++ b/check_config/README.md @@ -13,7 +13,7 @@ resulting in a smooth update. ## Installation -The installation of this add-on is straightforward and easy to do. +Follow these steps to get the add-on installed on your system: 1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. 2. Find the "Check Home Assistant configuration" add-on and click it. @@ -23,7 +23,7 @@ The installation of this add-on is straightforward and easy to do. In the configuration section, set the version you want to check your configuration against. In case you'd like to check your configuration against the latest version of -Home Assistant, just leave `latest`, which is already there as the default. +Home Assistant, leave it set to `latest`, which is already there as the default. 1. Start the add-on. 2. Have some patience and wait a couple of minutes. @@ -52,7 +52,7 @@ against the latest stable release of Home Assistant. ## Known issues and limitations -- Currently, this add-on only support checking against Home Assistant >= 0.94 +- Currently, this add-on only supports checking against Home Assistant >= 0.94 or less 0.91. ## Support @@ -65,7 +65,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/check_config/data/run.sh b/check_config/data/run.sh index 7f41a50..0326568 100755 --- a/check_config/data/run.sh +++ b/check_config/data/run.sh @@ -22,7 +22,7 @@ fi INSTALLED_VERSION="$(pip freeze | grep homeassistant)" bashio::log.info "Installed Home Assistant ${INSTALLED_VERSION##*=}" -# Making an temporary copy of your configuration +# Making a temporary copy of your configuration bashio::log.info "Making a copy of your configuration for checking..." cp -fr /config /tmp/config @@ -36,9 +36,9 @@ if ! HASS_OUTPUT="$(hass -c /tmp/config --script check_config)"; then bashio::exit.nok fi -# Scan configuration check output for occurrances of "ERROR" +# Scan configuration check output for occurrences of "ERROR" if echo "${HASS_OUTPUT}" | grep -i ERROR > /dev/null; then - # An "ERROR" occurance has been found, exit with an error + # An "ERROR" occurrence has been found, exit with an error bashio::log.error "Found an error in the log output of the check!" bashio::log.error "See the output below for more details." bashio::log "${HASS_OUTPUT}" diff --git a/configurator/CHANGELOG.md b/configurator/CHANGELOG.md index af6ead7..48af6d7 100644 --- a/configurator/CHANGELOG.md +++ b/configurator/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 3.7 + +- Rename files via UI +- Disable browser-autocomplete on searchbox +- Add file history button +- Update Ace Editor to 1.4.7 + ## 3.6 - UI Fix diff --git a/configurator/Dockerfile b/configurator/Dockerfile index 93410e5..2e36390 100644 --- a/configurator/Dockerfile +++ b/configurator/Dockerfile @@ -5,13 +5,16 @@ FROM $BUILD_FROM ARG CONFIGURATOR_VERSION ARG HASSIO_AUTH_VERSION RUN apk add --no-cache \ - git nginx nginx-mod-http-lua lua-resty-http openssh-client \ - && git clone --depth 1 -b ${HASSIO_AUTH_VERSION} \ - "https://github.com/home-assistant/hassio-auth" \ + git \ + nginx \ + nginx-mod-http-lua \ + lua-resty-http \ + openssh-client \ + && git clone --depth 1 -b ${HASSIO_AUTH_VERSION} "https://github.com/home-assistant/hassio-auth" \ && cp -f hassio-auth/nginx-frontend/ha-auth.lua /etc/nginx/ \ && cp -f hassio-auth/nginx-frontend/example/nginx-ingress.conf /etc/nginx/ \ && rm -fr /usr/src/hassio-auth \ - && pip install hass-configurator==${CONFIGURATOR_VERSION} + && pip install --no-cache-dir hass-configurator==${CONFIGURATOR_VERSION} # Copy data COPY data/configurator.conf /etc/ diff --git a/configurator/README.md b/configurator/README.md index bfa7efa..cb554a6 100644 --- a/configurator/README.md +++ b/configurator/README.md @@ -10,7 +10,7 @@ Browser-based configuration file editor for Home Assistant. The Configurator is a small web-app (you access it via web browser) that provides a filesystem-browser and text-editor to modify files on the machine the Configurator is -running on. It has been created to allow easy configuration of Home Assistant. +running on. It has been created to allow configuration of Home Assistant. It is powered by Ace editor, which supports syntax highlighting for various code/markup languages. YAML files (the default language for Home Assistant @@ -32,7 +32,7 @@ configuration files) will be automatically checked for syntax errors while editi ## Installation -The installation of this add-on is straightforward and easy to do. +Follow these steps to get the add-on installed on your system: 1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. 2. Find the "Configurator" add-on and click it. @@ -84,7 +84,7 @@ A list of filenames containing SSH private keys. These can be used to allow for ## Known issues and limitations - This add-on is, by default, configured for use with Hass.io Ingress. If you - wish to access the add-on via a its own port directly, you can simply + wish to access the add-on via its own port directly, you can do so, by assign a port in the "Network" section of the add-on setting page. ## Support @@ -97,7 +97,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/configurator/build.json b/configurator/build.json index a464232..47272b6 100644 --- a/configurator/build.json +++ b/configurator/build.json @@ -7,7 +7,7 @@ "aarch64": "homeassistant/aarch64-base-python:3.7" }, "args": { - "CONFIGURATOR_VERSION": "0.3.6", + "CONFIGURATOR_VERSION": "0.3.7", "HASSIO_AUTH_VERSION": "4.0" } } diff --git a/configurator/config.json b/configurator/config.json index 4f8dbb2..15c8175 100644 --- a/configurator/config.json +++ b/configurator/config.json @@ -1,6 +1,6 @@ { "name": "Configurator", - "version": "3.6", + "version": "3.7", "slug": "configurator", "description": "Browser-based configuration file editor for Home Assistant", "url": "https://home-assistant.io/addons/configurator", diff --git a/deconz/CHANGELOG.md b/deconz/CHANGELOG.md index 7d9e1d6..1527f98 100644 --- a/deconz/CHANGELOG.md +++ b/deconz/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 3.9 + +- Adds support for enabling UPnP +- Improve waiting for udev devices mechanism + +## 3.8 + +- Bump deCONZ to 2.05.71 + +## 3.7 + +- Bump deCONZ to 2.05.70 + ## 3.6 - Bump deCONZ to 2.05.69 @@ -71,7 +84,7 @@ - Add support for Home Assistant Add-on integration - Add Ingress support -**WARNING:** This version change the network modus to host network that it works with mobile apps from deCONZ. That mean you need remove the old integration and connect it again. 2min after first Startup, the Add-on provide a own Discovery details to Home Assistant. +**WARNING:** This version change the network modus to host network that it works with mobile apps from deCONZ. That mean you need remove the old integration and connect it again. 2min after first Startup, the Add-on provides its own Discovery details to Home Assistant. ## 1.4 diff --git a/deconz/Dockerfile b/deconz/Dockerfile index 01ccb4b..a58239c 100644 --- a/deconz/Dockerfile +++ b/deconz/Dockerfile @@ -9,7 +9,6 @@ ARG BUILD_ARCH RUN apt-get update \ && apt-get install -y --no-install-recommends \ curl \ - udev \ iproute2 \ iputils-ping \ kmod \ @@ -26,6 +25,7 @@ RUN apt-get update \ sqlite3 \ tigervnc-common \ tigervnc-standalone-server \ + udev \ wget \ wmii \ xfonts-base \ @@ -42,12 +42,12 @@ RUN apt-get update \ ARG DECONZ_VERSION RUN if [ "${BUILD_ARCH}" = "armhf" ]; \ then \ - curl -q -L -o /deconz.deb https://www.dresden-elektronik.de/rpi/deconz/beta/deconz-${DECONZ_VERSION}-qt5.deb; \ + curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/raspbian/beta/deconz-${DECONZ_VERSION}-qt5.deb; \ elif [ "${BUILD_ARCH}" = "aarch64" ]; \ then \ - curl -q -L -o /deconz.deb https://www.dresden-elektronik.de/rpi/deconz/alpha/deconz_${DECONZ_VERSION}-debian-stretch-beta_arm64.deb; \ + curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/raspbian/alpha/deconz_${DECONZ_VERSION}-debian-stretch-beta_arm64.deb; \ else \ - curl -q -L -o /deconz.deb https://www.dresden-elektronik.de/deconz/ubuntu/beta/deconz-${DECONZ_VERSION}-qt5.deb; \ + curl -q -L -o /deconz.deb http://deconz.dresden-elektronik.de/ubuntu/beta/deconz-${DECONZ_VERSION}-qt5.deb; \ fi \ && dpkg -i /deconz.deb \ && rm -f /deconz.deb \ diff --git a/deconz/README.md b/deconz/README.md index eebf563..514de6a 100644 --- a/deconz/README.md +++ b/deconz/README.md @@ -6,7 +6,7 @@ Control a ZigBee network using ConBee or RaspBee hardware by Dresden Elektronik. ## Installation -The installation of this add-on is straightforward and easy to do. +Follow these steps to get the add-on installed on your system: 1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. 2. Find the "deCONZ" add-on and click it. @@ -34,7 +34,7 @@ you'll need to configure the add-on to point to the right device. If you're using Hass.io you may find the correct value for this on the `Hass.io -> System -> Host system -> Hardware` page. -1. Replace **null** in the `device` option in the add-on configuration and specify +1. Replace `null` in the `device` option in the add-on configuration and specify the device name in quotes: (e.g. `"/dev/ttyUSB0"`, `"/dev/ttyAMA0"`, or `"/dev/ttyACM0"`). 2. Click on "SAVE" to save the add-on configuration. 3. Start the add-on. @@ -62,7 +62,7 @@ Phoscon WebUI, then restore that config after installing/reinstalling. **_You must perform these steps or your Light, Group names and other data will be lost!_** -However, your ZigBee devices will remain paired to your ConBee or RaspBee hardware. +However, your ZigBee devices will still paired to your ConBee or RaspBee hardware. ## Accessing the deCONZ application and viewing the mesh via VNC @@ -79,7 +79,7 @@ To enable it: - Set a VNC password in the add-on configuration and hit "SAVE". - Restart the add-on. -To access it you need a [VNC Viewer][vnc-viewer] application. +To access it, you need a [VNC Viewer][vnc-viewer] application. If you are using macOS, you are in luck, since VNC is built-in. Open the spotlight search and enter: `vnc://hassio.local:5900` @@ -122,6 +122,25 @@ Example add-on config with `dbg_aps` enabled on log level 1: } ``` +## Enabling UPnP + +The add-on, by default, disables the native UPnP functionality of deCONZ. +This is because the add-on uses an alternative discovery mechanism that allows +for an improved integration experience. + +Nevertheless, the add-on allows you to enable UPnP again, in case you want +deCONZ to be discovered by other applications (that are not Home Assistant). + +Add the `upnp` add-on option, and set it to `true` to enable UPnP: + +```json +{ + "device": "/dev/ttyUSB0", + "vnc_password": "", + "upnp": true +} +``` + ## Configuration Add-on configuration: @@ -160,7 +179,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/deconz/build.json b/deconz/build.json index cd04409..1ca11f1 100644 --- a/deconz/build.json +++ b/deconz/build.json @@ -5,6 +5,6 @@ "aarch64": "homeassistant/aarch64-base-debian:stretch" }, "args": { - "DECONZ_VERSION": "2.05.69" + "DECONZ_VERSION": "2.05.71" } } diff --git a/deconz/config.json b/deconz/config.json index 59ca889..5f159ec 100644 --- a/deconz/config.json +++ b/deconz/config.json @@ -1,6 +1,6 @@ { "name": "deCONZ", - "version": "3.6", + "version": "3.9", "slug": "deconz", "description": "Control a ZigBee network with ConBee or RaspBee by Dresden Elektronik", "arch": ["amd64", "armhf", "aarch64"], @@ -26,17 +26,11 @@ "udev": true, "gpio": true, "apparmor": false, - "privileged": [ - "SYS_MODULE", - "SYS_RAWIO" - ], - "devices": [ - "/dev/bus/usb:/dev/bus/usb:rwm", - "/dev/mem:/dev/mem:rw" - ], + "privileged": ["SYS_MODULE", "SYS_RAWIO"], + "devices": ["/dev/bus/usb:/dev/bus/usb:rwm", "/dev/mem:/dev/mem:rw"], "options": { - "device": null, - "vnc_password": "" + "device": null, + "vnc_password": "" }, "schema": { "device": "str", @@ -45,7 +39,8 @@ "dbg_info": "int?", "dbg_otau": "int?", "dbg_zcl": "int?", - "dbg_zdp": "int?" + "dbg_zdp": "int?", + "upnp": "bool?" }, "image": "homeassistant/{arch}-addon-deconz" } diff --git a/deconz/data/run.sh b/deconz/data/run.sh index 6bbb180..5ecda07 100755 --- a/deconz/data/run.sh +++ b/deconz/data/run.sh @@ -24,11 +24,21 @@ VNC_PASSWORD=$(bashio::config 'vnc_password') WEBSOCKET_PORT=$(bashio::addon.port 8080) # Lookup udev link -sleep 3 -if [ -L "${DECONZ_DEVICE}" ]; then +if [[ -c "${DECONZ_DEVICE}" ]]; then + bashio::log.debug "Specified device points to a character special file, continuing" +else + # 60 second timeout to wait for udev to finish processing + timeout=60 + while [[ ! -L "${DECONZ_DEVICE}" ]]; do + if [[ "${timeout}" -eq 0 ]]; then + bashio::exit.nok "No device ${DECONZ_DEVICE} found!" + fi + bashio::log.debug "Waiting for udev to link device..," + sleep 1 + ((timeout--)) + done DECONZ_DEVICE="$(readlink -f "${DECONZ_DEVICE}")" -elif [ ! -e "${DECONZ_DEVICE}" ]; then - bashio::exit.nok "No device ${DECONZ_DEVICE} found!" + bashio::log.debug "Found device! Location: ${DECONZ_DEVICE}" fi # Load debug values @@ -43,6 +53,10 @@ bashio::config.has_value 'dbg_zcl' \ bashio::config.has_value 'dbg_zdp' \ && DBG_ZDP="$(bashio::config 'dbg_zdp')" || DBG_ZDP=0 +# Handle UPNP +bashio::config.true 'upnp' \ + && UPNP=1 || UPNP=0 + # Check if port is available if bashio::var.is_empty "${API_PORT}" \ || bashio::var.is_empty "${WEBSOCKET_PORT}"; @@ -96,7 +110,7 @@ deCONZ \ --dbg-zdp="${DBG_ZDP}" \ --http-port="${API_PORT}" \ --ws-port="${WEBSOCKET_PORT}" \ - --upnp=0 \ + --upnp="${UPNP}" \ --dev="${DECONZ_DEVICE}" & WAIT_PIDS+=($!) diff --git a/dhcp_server/README.md b/dhcp_server/README.md index 8ead161..187aa86 100644 --- a/dhcp_server/README.md +++ b/dhcp_server/README.md @@ -12,7 +12,7 @@ to ensure they always get assigned the same IP address. ## Installation -The installation of this add-on is straightforward and easy to do. +Follow these steps to get the add-on installed on your system: 1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. 2. Find the "DHCP server" add-on and click it. @@ -64,8 +64,8 @@ Your network domain name, e.g., `mynetwork.local` or `home.local` ### Option: `dns` (required) -The DNS servers you DHCP server gives to your clients. This option can -contain a list of servers. By default it is configured to have Google's +The DNS servers your DHCP server gives to your clients. This option can +contain a list of servers. By default, it is configured to have Google's public DNS servers: `"8.8.8.8", "8.8.4.4". ### Option: `default_lease` (required) @@ -86,37 +86,37 @@ to hand out IP addresses for. At least one network definition in your configuration is required for the DHCP server to work. -#### Option: `networks` -> `subnet` +#### Option: `networks.subnet` Your network schema/subnet. For example, if your IP addresses are `192.168.1.x` the subnet becomes `192.168.1.0`. -#### Option: `networks` -> `netmask` +#### Option: `networks.netmask` Your network netmask. For example, if your IP addresses are `192.168.1.x` the netmask becomes `255.255.255.0`. -#### Option: `networks` -> `range_start` +#### Option: `networks.range_start` Defines the start IP address for the DHCP server to lease IPs for. Use this together with the `range_end` option to define the range of IP addresses the DHCP server operates in. -#### Option: `networks` -> `range_end` +#### Option: `networks.range_end` Defines the end IP address for the DHCP server to lease IPs for. -#### Option: `networks` -> `broadcast` +#### Option: `networks.broadcast` The broadcast address specific to the lease range. For example, if your IP addresses are `192.168.1.x`, the broadcast address is usually `192.168.1.255`. -#### Option: `networks` -> `gateway` +#### Option: `networks.gateway` Sets the gateway address for that the DHCP server hands out to its clients. This is usually the IP address of your router. -#### Option: `networks` -> `interface` +#### Option: `networks.interface` The network interface to listen to for this network, e.g., `eth0`. @@ -128,15 +128,15 @@ It allows you to fix a host to a specific IP address. By default, non are configured. -#### Option: `hosts` -> `name` +#### Option: `hosts.name` The name of the hostname you'd like to fix an address for. -#### Option: `hosts` -> `mac` +#### Option: `hosts.mac` The MAC address of the client device. -#### Option: `hosts` -> `ip` +#### Option: `hosts.ip` The IP address you want the DHCP server to assign. @@ -150,7 +150,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/dnsmasq/README.md b/dnsmasq/README.md index 2baf0f0..e89ac7b 100644 --- a/dnsmasq/README.md +++ b/dnsmasq/README.md @@ -94,7 +94,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/duckdns/README.md b/duckdns/README.md index 8c4939f..dd78a62 100644 --- a/duckdns/README.md +++ b/duckdns/README.md @@ -6,11 +6,11 @@ Automatically update your Duck DNS IP address with integrated HTTPS support via ## About -[Duck DNS][duckdns] is a free service that will point a DNS (sub-domains of duckdns.org) to an IP of your choice. This add-on includes support for Let’s Encrypt and will automatically create and renew your certificates. You will need to sign up for a Duck DNS account before using this add-on. +[Duck DNS][duckdns] is a free service that points a DNS (sub-domains of duckdns.org) to an IP of your choice. This add-on includes support for Let’s Encrypt and automatically creates and renews your certificates. You need to sign up for a Duck DNS account before using this add-on. ## Installation -The installation of this add-on is straightforward and easy to do. +Follow these steps to get the add-on installed on your system: 1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. 2. Find the "DuckDNS" add-on and click it. @@ -18,14 +18,13 @@ The installation of this add-on is straightforward and easy to do. ## How to use -1. Visit [DuckDNS.org](https://www.duckdns.org/) and create an account by logging in through any of the available account services (Google, Github, Twitter, Persona). +1. Visit [DuckDNS.org](https://www.duckdns.org/) and create an account by logging in through any of the available account services (Google, Github, Twitter, Persona, Reddit). 2. In the `Domains` section, type the name of the subdomain you wish to register and click `add domain`. 3. If registration was a success, the subdomain is listed in the `Domains` section along with `current ip` being the public IP address of the device you are currently using to access `duckdns.org`. The IP address will be updated by the DuckDNS add-on. 4. In the DuckDNS add-on configuration, perform the following: - Copy the DuckDNS token (listed at the top of the page where account details are displayed) from `duckdns.org` and paste into the `token` option. - Update the `domains` option with the full domain name you registered. E.g., `my-domain.duckdns.org`. - ## Configuration Add-on configuration: @@ -48,11 +47,9 @@ Add-on configuration: The following options are for the option group: `lets_encrypt`. These settings only apply to Let's Encrypt SSL certificates. - #### Option `lets_encrypt.accept_terms` -Once you have read and accepted the Let's Encrypt [Subscriber Agreement](https://letsencrypt.org/repository/), change value to `true` in order to use Let's Encrypt services. - +Once you have read and accepted the Let's Encrypt[Subscriber Agreement](https://letsencrypt.org/repository/), change value to `true` in order to use Let's Encrypt services. #### Option `lets_encrypt.certfile` @@ -66,7 +63,6 @@ The name of the private key file generated by Let's Encrypt. The private key fil **Note**: _The file is stored in `/ssl/`, which is the default for Hass.io_ - ### Option: `token` The DuckDNS authentication token found at the top of the DuckDNS account landing page. The token is required to make any changes to the subdomains registered to your account. @@ -81,7 +77,7 @@ The number of seconds to wait before updating DuckDNS subdomains and renewing Le ## Known issues and limitations -- To log in, DuckDNS requires a free account from any of the following services: Google, Github, Twitter, or Persona. +- To log in, DuckDNS requires a free account from any of the following services: Google, Github, Twitter, Persona or Reddit. - A free DuckDNS account is limited to five subdomains. ## Support diff --git a/git_pull/README.md b/git_pull/README.md index 0f85357..38aa5de 100644 --- a/git_pull/README.md +++ b/git_pull/README.md @@ -152,7 +152,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/homematic/CHANGELOG.md b/homematic/CHANGELOG.md index 6a0d955..30b42c2 100644 --- a/homematic/CHANGELOG.md +++ b/homematic/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 9.3 + +- Update from bash to bashio +- Use debian as base image +- Fix config for group settings + ## 9.2 - Update OCCU to 3.47.22-3 diff --git a/homematic/Dockerfile b/homematic/Dockerfile index c6d4f9a..9858a5a 100644 --- a/homematic/Dockerfile +++ b/homematic/Dockerfile @@ -28,6 +28,7 @@ RUN curl -SL https://github.com/jens-maus/occu/archive/${OCCU_VERSION}.tar.gz | && mkdir -p /boot \ \ && echo "VERSION=${OCCU_VERSION}" > /boot/VERSION \ + && cp /boot/VERSION /VERSION \ && ln -s /opt/hm/etc/config /etc/config \ \ && if [ "${BUILD_ARCH}" = "armv7" ]; \ diff --git a/homematic/README.md b/homematic/README.md index 367dd09..50156d8 100644 --- a/homematic/README.md +++ b/homematic/README.md @@ -163,11 +163,11 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. -[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg -[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg -[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[aarch64-shield]: https://img.shields.io/badge/aarch64-no-red.svg +[amd64-shield]: https://img.shields.io/badge/amd64-no-red.svg +[armhf-shield]: https://img.shields.io/badge/armhf-no-red.svg [armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg [discord]: https://discord.gg/c5DvZ4e [forum]: https://community.home-assistant.io diff --git a/homematic/data/config/crRFD.conf b/homematic/data/config/crRFD.conf index e413b93..591418a 100644 --- a/homematic/data/config/crRFD.conf +++ b/homematic/data/config/crRFD.conf @@ -19,6 +19,16 @@ Legacy.SwitchTypeAndSubtype=true Legacy.HandlersFilename=/var/LegacyService.handlers Legacy.DiscardDutyCycleEvents=true Legacy.SendUDPServiceMessages=true +Legacy.Port=2010 +Legacy.VirtualRemoteControl.Enabled=true +Legacy.CallDeleteDevicesForChangedDevices=false +Legacy.Client.Connection.Timeout=300000 +Legacy.Client.Socket.Timeout=300000 + +# HmIP-Routing +Adapter.Remote.Enabled=true +AccessPoint.WebSocket.Port=9293 +IPServices.Firmware.Update.URL=http://drap-update.homematic.com:80/firmware/hap/ # Miscellaneous Configuration CyclicTimeout.TimerStartMaxDelay=90 diff --git a/homematic/data/hm-firmware.sh b/homematic/data/hm-firmware.sh index 341536d..dfb1a87 100755 --- a/homematic/data/hm-firmware.sh +++ b/homematic/data/hm-firmware.sh @@ -11,7 +11,7 @@ function firmware_update_hmip() { TO_VERSION="$(ls /firmware/HmIP-RFUSB/hmip_coprocessor_update-*.eq3 | sed 's/.*hmip_coprocessor_update-\(.*\)\.eq3/\1/' | tail -n1)" if [ "${FROM_VERSION}" != "${TO_VERSION}" ]; then if java -Xmx64m -jar /opt/HmIP/hmip-copro-update.jar -p "${DEVICE}" -f "/firmware/HmIP-RFUSB/hmip_coprocessor_update-${TO_VERSION}.eq3"; then - echo "[INFO] HmIP update to ${TO_VERSION} was successfuly" + echo "[INFO] HmIP update to ${TO_VERSION} was successful" else echo "[ERROR] HmIP update ${TO_VERSION} fails!" fi @@ -21,7 +21,7 @@ function firmware_update_hmip() { function firmware_update_rfd() { if "${HM_HOME}/bin/eq3configcmd" update-coprocessor -lgw -u -rfdconf /etc/config/rfd.conf -l 1; then - echo "[INFO] RFd update was successfuly" + echo "[INFO] RFd update was successful" else echo "[ERROR] RFd update fails!" fi @@ -30,7 +30,7 @@ function firmware_update_rfd() { function firmware_update_wired() { if "${HM_HOME}/bin/eq3configcmd" update-lgw-firmware -m /firmware/fwmap -c /etc/config/hs485d.conf -l 1; then - echo "[INFO] Wired update was successfuly" + echo "[INFO] Wired update was successful" else echo "[ERROR] Wired update fails!" fi diff --git a/homematic/data/run.sh b/homematic/data/run.sh index 10ed6c1..36925e4 100755 --- a/homematic/data/run.sh +++ b/homematic/data/run.sh @@ -1,15 +1,7 @@ -#!/bin/bash +#!/usr/bin/env bashio # shellcheck disable=SC1091 set -e -CONFIG_PATH=/data/options.json - -RF_ENABLE=$(jq --raw-output '.rf_enable' $CONFIG_PATH) -RF_DEVICES=$(jq --raw-output '.rf | length' $CONFIG_PATH) -WIRED_ENABLE=$(jq --raw-output '.wired_enable' $CONFIG_PATH) -WIRED_DEVICES=$(jq --raw-output '.wired | length' $CONFIG_PATH) -HMIP_ENABLE=$(jq --raw-output '.hmip_enable' $CONFIG_PATH) -HMIP_DEVICES=$(jq --raw-output '.hmip | length' $CONFIG_PATH) WAIT_PIDS=() # Init folder @@ -32,16 +24,18 @@ touch /data/homematic.regadom . /usr/lib/hm-interface.sh # Setup Interfaces -init_interface_list "$RF_ENABLE" "$HMIP_ENABLE" "$WIRED_ENABLE" +init_interface_list "$(bashio::config 'rf_enable')" \ + "$(bashio::config 'hmip_enable')" \ + "$(bashio::config 'wired_enable')" # RF support -if [ "$RF_ENABLE" == "true" ]; then - for (( i=0; i < "$RF_DEVICES"; i++ )); do - TYPE=$(jq --raw-output ".rf[$i].type" $CONFIG_PATH) +if bashio::config.true 'rf_enable'; then + for rf_device in $(bashio::config 'rf|keys'); do + TYPE=$(bashio::config "rf[${rf_device}].type") # Update config if [ "$TYPE" == "CCU2" ]; then - DEVICE=$(jq --raw-output ".rf[$i].device" $CONFIG_PATH) + DEVICE=$(bashio::config "rf[${rf_device}].device") ( echo "[Interface $1]" echo "Type = CCU2" @@ -74,11 +68,11 @@ if [ "$RF_ENABLE" == "true" ]; then fi # Wired support -if [ "$WIRED_ENABLE" == "true" ]; then - for (( i=0; i < "$WIRED_DEVICES"; i++ )); do - SERIAL=$(jq --raw-output ".wired[$i].serial" $CONFIG_PATH) - KEY=$(jq --raw-output ".wired[$i].key" $CONFIG_PATH) - IP=$(jq --raw-output ".wired[$i].ip" $CONFIG_PATH) +if bashio::config.true 'wired_enable'; then + for wired_device in $(bashio::config 'wired|keys'); do + SERIAL=$(bashio::config "wired[${wired_device}].serial") + KEY=$(bashio::config "wired[${wired_device}].key") + IP=$(bashio::config "wired[${wired_device}].ip") # Update config ( @@ -99,17 +93,17 @@ if [ "$WIRED_ENABLE" == "true" ]; then fi # HMIP support -if [ "$HMIP_ENABLE" == "true" ]; then +if bashio::config.true 'hmip_enable'; then # Restore data if [ -f /data/hmip_address.conf ]; then cp -f /data/hmip_address.conf /etc/config/ fi # Setup settings - for (( i=0; i < "$HMIP_DEVICES"; i++ )); do - TYPE=$(jq --raw-output ".hmip[$i].type" $CONFIG_PATH) - DEVICE=$(jq --raw-output ".hmip[$i].device" $CONFIG_PATH) - ADAPTER=$((i+1)) + for hmip_device in $(bashio::config 'hmip|keys'); do + TYPE=$(bashio::config "hmip[${hmip_device}].type") + DEVICE=$(bashio::config "hmip[${hmip_device}].device") + ADAPTER=$((hmip_device+1)) # Update Firmware firmware_update_hmip "${DEVICE}" @@ -123,7 +117,7 @@ if [ "$HMIP_ENABLE" == "true" ]; then # Run HMIPServer # shellcheck disable=SC2086 - java -Xmx64m -Dlog4j.configuration=file:///etc/config/log4j.xml -Dfile.encoding=ISO-8859-1 -jar /opt/HMServer/HMIPServer.jar /etc/config/crRFD.conf & + java -Xmx64m -Dlog4j.configuration=file:///etc/config/log4j.xml -Dfile.encoding=ISO-8859-1 -jar /opt/HMServer/HMIPServer.jar /etc/config/crRFD.conf /etc/config/HMServer.conf & WAIT_PIDS+=($!) if [ ! -f /data/hmip_address.conf ]; then @@ -137,10 +131,10 @@ fi # Register stop function stop_homematic() { - echo "Kill Processes..." + bashio::log.info "Kill Processes..." kill -15 "${WAIT_PIDS[@]}" wait "${WAIT_PIDS[@]}" - echo "Done." + bashio::log.info "Done." } trap "stop_homematic" SIGTERM SIGHUP @@ -156,11 +150,11 @@ lighttpd-angel -D -f /opt/hm/etc/lighttpd/lighttpd.conf & WAIT_PIDS+=($!) # Sync time periodically -if [ "$RF_ENABLE" == "true" ]; then +if bashio::config.true 'rf_enable'; then while true do sleep 30m - echo "$(date '+%Y-%m-%d %H:%M:%S.%3N') Run SetInterfaceClock now." + bashio::log.info "$(date '+%Y-%m-%d %H:%M:%S.%3N') Run SetInterfaceClock now." "$HM_HOME/bin/SetInterfaceClock" 127.0.0.1:2001 done fi diff --git a/letsencrypt/CHANGELOG.md b/letsencrypt/CHANGELOG.md index 807f2b4..577b2bd 100755 --- a/letsencrypt/CHANGELOG.md +++ b/letsencrypt/CHANGELOG.md @@ -1,6 +1,12 @@ # Changelog +## 4.3 + +- Update cerbot to 1.0.0 +- Fix issue with DNS provider AWS + ## 4.2 + - Bugfix default empty dns setting ## 4.1 diff --git a/letsencrypt/Dockerfile b/letsencrypt/Dockerfile index 809406b..117c16d 100755 --- a/letsencrypt/Dockerfile +++ b/letsencrypt/Dockerfile @@ -26,6 +26,6 @@ RUN apk add --no-cache --update \ && apk del .build-dependencies # Copy data -COPY run.sh / +COPY data/run.sh / CMD [ "/run.sh" ] diff --git a/letsencrypt/README.md b/letsencrypt/README.md index 53ec4e2..14de8e1 100644 --- a/letsencrypt/README.md +++ b/letsencrypt/README.md @@ -129,7 +129,7 @@ You have several options to get them answered: - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] - Check out certbots page [certbot]. -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/letsencrypt/build.json b/letsencrypt/build.json index 170d19e..02ee00c 100755 --- a/letsencrypt/build.json +++ b/letsencrypt/build.json @@ -7,6 +7,6 @@ "aarch64": "homeassistant/aarch64-base-python:3.7-alpine3.10" }, "args": { - "CERTBOT_VERSION": "0.38.0" + "CERTBOT_VERSION": "1.0.0" } } diff --git a/letsencrypt/run.sh b/letsencrypt/data/run.sh similarity index 91% rename from letsencrypt/run.sh rename to letsencrypt/data/run.sh index cd5f501..c9e8702 100755 --- a/letsencrypt/run.sh +++ b/letsencrypt/data/run.sh @@ -46,6 +46,15 @@ echo -e "dns_cloudflare_email = $(bashio::config 'dns.cloudflare_email')\n" \ "dns_sakuracloud_api_secret = $(bashio::config 'dns.sakuracloud_api_secret')" > /data/dnsapikey chmod 600 /data/dnsapikey +# AWS workaround +if bashio::config.exists 'dns.aws_access_key_id' && bashio::config.exists 'dns.aws_secret_access_key'; then + AWS_ACCESS_KEY_ID="$(bashio::config 'dns.aws_access_key_id')" + AWS_SECRET_ACCESS_KEY="$(bashio::config 'dns.aws_secret_access_key')" + + export AWS_ACCESS_KEY_ID + export AWS_SECRET_ACCESS_KEY +fi + # Generate new certs if [ ! -d "$CERT_DIR/live" ]; then DOMAIN_ARR=() diff --git a/mariadb/README.md b/mariadb/README.md new file mode 100644 index 0000000..f7f373e --- /dev/null +++ b/mariadb/README.md @@ -0,0 +1,134 @@ +# Hass.io Core Add-on: MariaDB + +MariaDB database for Home Assistant. + +![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] ![Supports i386 Architecture][i386-shield] + +## About + +You can use this add-on to install MariaDB, which is an open-source (GPLv2 licensed) database. MariaDB can be used as the database backend for Home Assistant. For more information, please see [MariaDB][mariadb] + +## Installation + +The installation of this add-on is straightforward and easy to do. + +1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. +1. Find the "MariaDB" add-on and click it. +1. Click on the "INSTALL" button. + +## How to use + +1. Set the `logins` -> `password` field to something strong and unique. +1. Start the add-on. +1. Check the add-on log output to see the result. +1. Add `recorder` component to your Home Assistnat configuration. + +## Add-on Configuration + +The MariaDB server add-on can be tweaked to your likings. This section +describes each of the add-on configuration options. + +Example add-on configuration: + +```json +{ + "databases": [ + "homeassistant" + ], + "logins": [ + { + "username": "hass", + "host": "%", + "password": null + } + ], + "rights": [ + { + "username": "hass", + "host": "%", + "database": "homeassistant", + "grant": "ALL PRIVILEGES ON" + } + ] +} +``` + +### Option: `databases` (required) + +Database name, e.g., `homeassistant` + +### Option: `logins` (required) + +This section defines a create user definition in MariaDB. [Create User][createuser] documentation. + +### Option: `logins` -> `username` (required) + +Database user login, e.g., `hass`. [User Name][username] documentation. + +### Option: `logins` -> `host` (required) + +Hostname allowed to connect to database. [Host Name][hostname] documentation. + +### Option: `logins` -> `password` (required) + +Password for user login. This should be strong and unique. + +### Option: `rights` (required) + +This section grant privileges to users in MariaDB. [Grant][grant] documentation. + +### Option: `rights` -> `username` (required) + +This should be the same user name defined in `logins` -> `username`. + +### Option: `rights` -> `host` (required) + +This should be the same hostname defined in `logins` -> `host`. + +### Option: `rights` -> `database` (required) + +This should be the same database defined in `databases`. + +### Option: `rights` -> `grant` (required) + +This is the grant statement giving your user access to the databse. + +## Home Assistant Configuration + +MariaDB will be used by the `recorder` and `history` components within Home Assistant. For more information about setting this up, see the [MariaDB][mariadb-hass] documentation for Home Assistant. + +Example Home Assistant configuration: + +```json +recorder: + db_url: mysql://hass:password@core-mariadb/homeassistant?charset=utf8 +``` + +## Support + +Got questions? + +You have several options to get them answered: + +- The [Home Assistant Discord Chat Server][discord]. +- The Home Assistant [Community Forum][forum]. +- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] + +In case you've found a bug, please [open an issue on our GitHub][issue]. + +[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg +[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg +[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg +[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg +[mariadb]: https://mariadb.com +[createuser]: https://mariadb.com/kb/en/library/create-user +[username]: https://mariadb.com/kb/en/library/create-user/#user-name-component +[hostname]: https://mariadb.com/kb/en/library/create-user/#host-name-component +[grant]: https://mariadb.com/kb/en/library/grant +[mariadb-hass]: https://www.home-assistant.io/addons/mariadb +[discord]: https://discord.gg/c5DvZ4e +[forum]: https://community.home-assistant.io +[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg +[issue]: https://github.com/home-assistant/hassio-addons/issues +[reddit]: https://reddit.com/r/homeassistant +[repository]: https://github.com/hassio-addons/repository diff --git a/mosquitto/data/run.sh b/mosquitto/data/run.sh index 8af412e..1b003da 100755 --- a/mosquitto/data/run.sh +++ b/mosquitto/data/run.sh @@ -128,7 +128,7 @@ fi # Initial Service if call_hassio GET "services/mqtt" | jq --raw-output ".data.host" | grep -v "$(hostname)" > /dev/null; then - bashio::log.warning "There is allready a MQTT services running!" + bashio::log.warning "There is already an MQTT service running!" else bashio::log.info "Initialize Hass.io Add-on services" if ! call_hassio POST "services/mqtt" "$(constrain_host_config addons "${ADDONS_PW}")" > /dev/null; then diff --git a/samba/README.md b/samba/README.md index d5d5d75..6c55443 100644 --- a/samba/README.md +++ b/samba/README.md @@ -1,17 +1,17 @@ # Hass.io Core Add-on: Samba share -Share your configuration over the network +Share your configuration over the network using Windows file sharing. ![Supports aarch64 Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield] ![Supports i386 Architecture][i386-shield] ## About -This Add-on allows you to enable file sharing across different operating systems over a network. -It lets you acess your config files with Windows and macOS devices. +This Add-on allows you to enable file sharing across different operating systems over a network. +It lets you access your config files with Windows and macOS devices. ## Installation -The installation of this add-on is straightforward and easy to do. +Follow these steps to get the add-on installed on your system: 1. Navigate in your Home Assistant frontend to **Hass.io** -> **Add-on Store**. 2. Find the "Samba share" add-on and click it. @@ -53,21 +53,27 @@ Change WORKGROUP to reflect your network needs. ### Option: `username` (required) +The username you would like to use to authenticate with the Samba server. ### Option: `password` (required) +The password that goes with the username configured for authentication. ### Option: `interface` (required) + +The network interface Samba should listen on for incoming connections. +This option should only be used in advanced cases. In general, setting this +option is not needed. + ### Option: `allow_hosts` (required) -List of hosts/networks allowed to access your configuration. +List of hosts/networks allowed to access the shared folders. ### Option: `veto_files` (optional) -List of files that are neither visible nor accessible. Useful to stop clients from littering the share with temporary hidden files (ex: macOS .DS_Store, Windows Thumbs.db) - -## Known issues and limitations - +List of files that are neither visible nor accessible. Useful to stop clients +from littering the share with temporary hidden files +(e.g., macOS `.DS_Store` or Windows `Thumbs.db` files) ## Support @@ -79,7 +85,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/snips/CHANGELOG.md b/snips/CHANGELOG.md index bed91dd..a8952e4 100644 --- a/snips/CHANGELOG.md +++ b/snips/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 6.1 + +- set hermes/audioServer/+/playBytesStreaming/# to allow subscribing from other systems +- set hermes/audioServer/+/streamFinished to allow subscribing from other systems +- Fix GPG Key for Build + ## 6.0 - Updated to snips 0.64.0 diff --git a/snips/Dockerfile b/snips/Dockerfile index 5227c1c..7e5f31b 100644 --- a/snips/Dockerfile +++ b/snips/Dockerfile @@ -11,20 +11,21 @@ ARG BUILD_ARCH RUN apt-get update \ && apt-get install -y --no-install-recommends \ - dirmngr \ - apt-utils \ apt-transport-https \ - unzip \ - supervisor \ + apt-utils \ + dirmngr \ + gnupg-curl \ mpg123 \ + supervisor \ + unzip \ && rm -rf /var/lib/apt/lists/* \ && if [ "$BUILD_ARCH" = "amd64" ]; \ then \ bash -c 'echo "deb https://debian.snips.ai/stretch stable main" > /etc/apt/sources.list.d/snips.list' \ - && apt-key adv --keyserver pgp.surfnet.nl --recv-keys F727C778CCB0A455; \ + && apt-key adv --fetch-keys https://debian.snips.ai/5FFCD0DEB5BA45CD.pub; \ else \ bash -c 'echo "deb https://raspbian.snips.ai/stretch stable main" > /etc/apt/sources.list.d/snips.list' \ - && apt-key adv --keyserver pgp.surfnet.nl --recv-keys D4F50CDCA10A2849; \ + && apt-key adv --fetch-keys https://raspbian.snips.ai/531DD1A7B702B14D.pub; \ fi ARG SNIPS_VERSION diff --git a/snips/README.md b/snips/README.md index b71a09c..edb8002 100644 --- a/snips/README.md +++ b/snips/README.md @@ -82,7 +82,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-no-red.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/snips/config.json b/snips/config.json index 5332040..368f7a3 100644 --- a/snips/config.json +++ b/snips/config.json @@ -1,6 +1,6 @@ { "name": "Snips.AI", - "version": "6.0", + "version": "6.1", "slug": "snips", "description": "Local voice control platform", "url": "https://home-assistant.io/addons/snips/", diff --git a/snips/run.sh b/snips/run.sh index 592b739..fca5d18 100755 --- a/snips/run.sh +++ b/snips/run.sh @@ -63,6 +63,8 @@ if MQTT_CONFIG="$(curl -s -f -H "X-Hassio-Key: ${HASSIO_TOKEN}" http://hassio/se echo "topic hermes/nlu/intentNotParsed out" echo "topic hermes/audioServer/+/playBytes/# out" echo "topic hermes/audioServer/+/playFinished out" + echo "topic hermes/audioServer/+/playBytesStreaming/# out" + echo "topic hermes/audioServer/+/streamFinished out" echo "topic # IN hermes/" ) >> /etc/mosquitto.conf else diff --git a/ssh/CHANGELOG.md b/ssh/CHANGELOG.md index fccc1c8..33c02f3 100644 --- a/ssh/CHANGELOG.md +++ b/ssh/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 7.0 + +- Added bash_profile as a persistent file + ## 6.4 - Changed logging from DEBUG -> INFO diff --git a/ssh/README.md b/ssh/README.md index 31c35a9..2e43a22 100644 --- a/ssh/README.md +++ b/ssh/README.md @@ -78,7 +78,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg diff --git a/ssh/config.json b/ssh/config.json index 2ccd1ca..c211c31 100644 --- a/ssh/config.json +++ b/ssh/config.json @@ -1,6 +1,6 @@ { "name": "SSH server", - "version": "6.4", + "version": "7.0", "slug": "ssh", "description": "Allows connections over SSH", "url": "https://github.com/home-assistant/hassio-addons/tree/master/ssh", diff --git a/ssh/data/run.sh b/ssh/data/run.sh index f36707f..a3b09cc 100755 --- a/ssh/data/run.sh +++ b/ssh/data/run.sh @@ -47,8 +47,15 @@ touch /data/.bash_history chmod 600 /data/.bash_history ln -s -f /data/.bash_history /root/.bash_history -# Store token for Hass.io API -echo "export HASSIO_TOKEN=${HASSIO_TOKEN}" >> /root/.bash_profile +# Persist .bash_profile by redirecting .bash_profile to /data +if bashio::fs.file_exists /data/.bash_profile; then + sed -i "s/export HASSIO_TOKEN=.*/export HASSIO_TOKEN=${HASSIO_TOKEN}/" /data/.bash_profile +else + echo "export HASSIO_TOKEN=${HASSIO_TOKEN}" > /data/.bash_profile +fi + +chmod 600 /data/.bash_profile +ln -s -f /data/.bash_profile /root/.bash_profile # Start server bashio::log.info "Starting SSH daemon..." diff --git a/tellstick/README.md b/tellstick/README.md index 9347e47..b9b47f5 100644 --- a/tellstick/README.md +++ b/tellstick/README.md @@ -179,7 +179,7 @@ You have several options to get them answered: - The Home Assistant [Community Forum][forum]. - Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit] -In case you've found an bug, please [open an issue on our GitHub][issue]. +In case you've found a bug, please [open an issue on our GitHub][issue]. [aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg