Merge pull request #43356 from home-assistant/rc

This commit is contained in:
Franck Nijhof 2020-11-18 19:01:29 +01:00 committed by GitHub
commit aec17d25fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3767 changed files with 31330 additions and 16503 deletions

View File

@ -119,7 +119,6 @@ omit =
homeassistant/components/buienradar/weather.py
homeassistant/components/caldav/calendar.py
homeassistant/components/canary/camera.py
homeassistant/components/cast/*
homeassistant/components/cert_expiry/helper.py
homeassistant/components/channels/*
homeassistant/components/circuit/*
@ -305,6 +304,7 @@ omit =
homeassistant/components/garmin_connect/__init__.py
homeassistant/components/garmin_connect/const.py
homeassistant/components/garmin_connect/sensor.py
homeassistant/components/garmin_connect/alarm_util.py
homeassistant/components/gc100/*
homeassistant/components/geniushub/*
homeassistant/components/geizhals/sensor.py
@ -377,7 +377,6 @@ omit =
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hydrawise/*
homeassistant/components/hyperion/light.py
homeassistant/components/ialarm/alarm_control_panel.py
homeassistant/components/iammeter/sensor.py
homeassistant/components/iaqualink/binary_sensor.py
homeassistant/components/iaqualink/climate.py
@ -460,6 +459,7 @@ omit =
homeassistant/components/lametric/*
homeassistant/components/lannouncer/notify.py
homeassistant/components/lastfm/sensor.py
homeassistant/components/launch_library/const.py
homeassistant/components/launch_library/sensor.py
homeassistant/components/lcn/*
homeassistant/components/lg_netcast/media_player.py
@ -632,7 +632,6 @@ omit =
homeassistant/components/openuv/sensor.py
homeassistant/components/openweathermap/sensor.py
homeassistant/components/openweathermap/weather.py
homeassistant/components/openweathermap/forecast_update_coordinator.py
homeassistant/components/openweathermap/weather_update_coordinator.py
homeassistant/components/openweathermap/abstract_owm_sensor.py
homeassistant/components/opnsense/*
@ -730,6 +729,7 @@ omit =
homeassistant/components/roomba/vacuum.py
homeassistant/components/roon/__init__.py
homeassistant/components/roon/const.py
homeassistant/components/roon/media_browser.py
homeassistant/components/roon/media_player.py
homeassistant/components/roon/server.py
homeassistant/components/route53/*
@ -770,6 +770,7 @@ omit =
homeassistant/components/shelly/light.py
homeassistant/components/shelly/sensor.py
homeassistant/components/shelly/switch.py
homeassistant/components/shelly/utils.py
homeassistant/components/sht31/sensor.py
homeassistant/components/sigfox/sensor.py
homeassistant/components/simplepush/notify.py

27
.github/lock.yml vendored
View File

@ -1,27 +0,0 @@
# Configuration for Lock Threads - https://github.com/dessant/lock-threads
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 1
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: 2019-07-01
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: []
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: false
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: false
# Limit to only `issues` or `pulls`
only: pulls
# Optionally, specify configuration settings just for `issues` or `pulls`
issues:
daysUntilLock: 30

66
.github/stale.yml vendored
View File

@ -1,66 +0,0 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 90
# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
daysUntilClose: 7
# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
onlyLabels: []
# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
exemptLabels:
- under investigation
- Help wanted
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: true
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: true
# Set to true to ignore issues with an assignee (defaults to false)
exemptAssignees: false
# Label to use when marking as stale
staleLabel: stale
# Comment to post when marking as stale. Set to `false` to disable
markComment: >
There hasn't been any activity on this issue recently. Due to the high number
of incoming GitHub notifications, we have to clean some of the old issues,
as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check
if that solves the issue. Let us know if that works for you by adding a
comment 👍
This issue now has been marked as stale and will be closed if no further
activity occurs. Thank you for your contributions.
# Comment to post when removing the stale label.
# unmarkComment: >
# Your comment here.
# Comment to post when closing a stale Issue or Pull Request.
# closeComment: >
# Your comment here.
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 30
# Limit to only `issues` or `pulls`
# only: issues
# Handle pull requests a little bit faster and with an adjusted comment.
pulls:
daysUntilStale: 30
exemptProjects: false
markComment: >
There hasn't been any activity on this pull request recently. This pull
request has been automatically marked as stale because of that and will
be closed if no further activity occurs within 7 days.
Thank you for your contributions.

View File

@ -214,11 +214,11 @@ jobs:
run: |
echo "::add-matcher::.github/workflows/matchers/hadolint.json"
- name: Check Dockerfile
uses: docker://hadolint/hadolint:v1.18.0
uses: docker://hadolint/hadolint:v1.18.2
with:
args: hadolint Dockerfile
- name: Check Dockerfile.dev
uses: docker://hadolint/hadolint:v1.18.0
uses: docker://hadolint/hadolint:v1.18.2
with:
args: hadolint Dockerfile.dev
@ -590,7 +590,8 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
- name:
Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@ -604,7 +605,8 @@ jobs:
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('requirements_test.txt') }}-${{ hashFiles('requirements_all.txt') }}
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('requirements_test.txt') }}
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{ matrix.python-version }}-
- name: Create full Python ${{ matrix.python-version }} virtual environment
- name:
Create full Python ${{ matrix.python-version }} virtual environment
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
python -m venv venv
@ -625,7 +627,8 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
- name:
Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@ -659,7 +662,8 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
- name:
Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@ -695,7 +699,8 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
- name:
Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@ -755,7 +760,8 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
- name:
Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:

20
.github/workflows/lock.yml vendored Normal file
View File

@ -0,0 +1,20 @@
name: Lock
# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 * * * *"
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2.0.1
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"
issue-exclude-created-before: "2020-10-01T00:00:00Z"
issue-lock-reason: ""
pr-lock-inactive-days: "1"
pr-exclude-created-before: "2020-11-01T00:00:00Z"
pr-lock-reason: ""

84
.github/workflows/stale.yml vendored Normal file
View File

@ -0,0 +1,84 @@
name: Stale
# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 * * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
# The 90 day stale policy
# Used for: Everything (unless 30 day policy below beats it)
- name: 90 days stale policy
uses: actions/stale@v3.0.13
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-close: 7
operations-per-run: 25
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,Help%20wanted,help-wanted"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
of the old issues, as many of them have already been resolved with
the latest updates.
Please make sure to update to the latest Home Assistant version and
check if that solves the issue. Let us know if that works for you by
adding a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
exempt-pr-labels: "no-stale"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.
# The 30 day stale policy
# Used for:
# - Issues that are pending more information (incomplete issues)
# - PRs that are not marked as new-integration
- name: 30 days stale policy
uses: actions/stale@v3.0.13
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# PRs have a CLA signed label, we can misuse it to apply this policy
only-labels: "cla-signed,needs-more-information"
days-before-stale: 30
days-before-close: 7
operations-per-run: 5
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,Help%20wanted,help-wanted"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
of the old issues, as many of them have already been resolved with
the latest updates.
Please make sure to update to the latest Home Assistant version and
check if that solves the issue. Let us know if that works for you by
adding a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
# Exempt new integrations, these often take more time.
# They will automatically be handled by the 90 day version above.
exempt-pr-labels: "no-stale,new-integration"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

View File

@ -1,4 +1,4 @@
dist: bionic
dist: focal
addons:
apt:
packages:
@ -11,9 +11,6 @@ addons:
- libswscale-dev
- libswresample-dev
- libavfilter-dev
sources:
- sourceline: ppa:savoury1/ffmpeg4
- sourceline: ppa:savoury1/multimedia
python:
- "3.7.1"
@ -42,4 +39,4 @@ cache:
- $HOME/.cache/pre-commit
install: pip install -U tox tox-travis
language: python
script: ${TRAVIS_WAIT:+travis_wait $TRAVIS_WAIT} tox --develop ${TOX_ARGS-}
script: ${TRAVIS_WAIT:+travis_wait $TRAVIS_WAIT} tox -vv --develop ${TOX_ARGS-}

View File

@ -9,6 +9,12 @@ homeassistant/*.py @home-assistant/core
homeassistant/helpers/* @home-assistant/core
homeassistant/util/* @home-assistant/core
# Home Assistant Supervisor
build.json @home-assistant/supervisor
machine/* @home-assistant/supervisor
rootfs/* @home-assistant/supervisor
Dockerfile @home-assistant/supervisor
# Other code
homeassistant/scripts/check_config.py @kellerza
@ -58,6 +64,7 @@ homeassistant/components/bitcoin/* @fabaff
homeassistant/components/bizkaibus/* @UgaitzEtxebarria
homeassistant/components/blebox/* @gadgetmobile
homeassistant/components/blink/* @fronzbot
homeassistant/components/blueprint/* @home-assistant/core
homeassistant/components/bmp280/* @belidzs
homeassistant/components/bmw_connected_drive/* @gerard33 @rikroe
homeassistant/components/bond/* @prystupa
@ -76,6 +83,7 @@ homeassistant/components/cisco_mobility_express/* @fbradyirl
homeassistant/components/cisco_webex_teams/* @fbradyirl
homeassistant/components/cloud/* @home-assistant/cloud
homeassistant/components/cloudflare/* @ludeeus @ctalkington
homeassistant/components/color_extractor/* @GenericStudent
homeassistant/components/comfoconnect/* @michaelarnauts
homeassistant/components/config/* @home-assistant/core
homeassistant/components/configurator/* @home-assistant/core
@ -126,6 +134,7 @@ homeassistant/components/enocean/* @bdurrer
homeassistant/components/entur_public_transport/* @hfurubotten
homeassistant/components/environment_canada/* @michaeldavie
homeassistant/components/ephember/* @ttroy50
homeassistant/components/epson/* @pszafer
homeassistant/components/epsonworkforce/* @ThaStealth
homeassistant/components/eq3btsmart/* @rytilahti
homeassistant/components/esphome/* @OttoWinter
@ -169,7 +178,7 @@ homeassistant/components/group/* @home-assistant/core
homeassistant/components/growatt_server/* @indykoning
homeassistant/components/guardian/* @bachya
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco
homeassistant/components/hassio/* @home-assistant/hass-io
homeassistant/components/hassio/* @home-assistant/supervisor
homeassistant/components/hdmi_cec/* @newAM
homeassistant/components/heatmiser/* @andylockran
homeassistant/components/heos/* @andrewsayre
@ -186,7 +195,6 @@ homeassistant/components/homekit/* @bdraco
homeassistant/components/homekit_controller/* @Jc2k
homeassistant/components/homematic/* @pvizeli @danielperna84
homeassistant/components/homematicip_cloud/* @SukramJ
homeassistant/components/honeywell/* @zxdavb
homeassistant/components/http/* @home-assistant/core
homeassistant/components/huawei_lte/* @scop @fphammerle
homeassistant/components/huawei_router/* @abmantis
@ -257,7 +265,7 @@ homeassistant/components/met/* @danielhiversen @thimic
homeassistant/components/meteo_france/* @hacf-fr @oncleben31 @Quentame
homeassistant/components/meteoalarm/* @rolfberkenbosch
homeassistant/components/metoffice/* @MrHarcombe
homeassistant/components/miflora/* @danielhiversen @ChristianKuehnel @basnijholt
homeassistant/components/miflora/* @danielhiversen @basnijholt
homeassistant/components/mikrotik/* @engrbm87
homeassistant/components/mill/* @danielhiversen
homeassistant/components/min_max/* @fabaff
@ -311,7 +319,7 @@ homeassistant/components/openerz/* @misialq
homeassistant/components/opengarage/* @danielhiversen
homeassistant/components/opentherm_gw/* @mvn23
homeassistant/components/openuv/* @bachya
homeassistant/components/openweathermap/* @fabaff @freekode
homeassistant/components/openweathermap/* @fabaff @freekode @nzapponi
homeassistant/components/opnsense/* @mtreinish
homeassistant/components/orangepi_gpio/* @pascallj
homeassistant/components/oru/* @bvlaicu
@ -326,7 +334,6 @@ homeassistant/components/pi4ioe5v9xxxx/* @antonverburg
homeassistant/components/pi_hole/* @fabaff @johnluetke @shenxn
homeassistant/components/pilight/* @trekky12
homeassistant/components/plaato/* @JohNan
homeassistant/components/plant/* @ChristianKuehnel
homeassistant/components/plex/* @jjlawren
homeassistant/components/plugwise/* @CoMPaTech @bouwew
homeassistant/components/plum_lightpad/* @ColinHarrington @prystupa
@ -382,7 +389,7 @@ homeassistant/components/seven_segments/* @fabaff
homeassistant/components/seventeentrack/* @bachya
homeassistant/components/sharkiq/* @ajmarks
homeassistant/components/shell_command/* @home-assistant/core
homeassistant/components/shelly/* @balloob @bieniu
homeassistant/components/shelly/* @balloob @bieniu @thecode
homeassistant/components/shiftr/* @fabaff
homeassistant/components/shodan/* @fabaff
homeassistant/components/sighthound/* @robmarkcole
@ -431,7 +438,7 @@ homeassistant/components/switchbot/* @danielhiversen
homeassistant/components/switcher_kis/* @tomerfi
homeassistant/components/switchmate/* @danielhiversen
homeassistant/components/syncthru/* @nielstron
homeassistant/components/synology_dsm/* @hacf-fr @Quentame
homeassistant/components/synology_dsm/* @hacf-fr @Quentame @mib1185
homeassistant/components/synology_srm/* @aerialls
homeassistant/components/syslog/* @fabaff
homeassistant/components/tado/* @michaelarnauts @bdraco

View File

@ -14,7 +14,7 @@ schedules:
always: true
variables:
- name: versionBuilder
value: '7.2.0'
value: '2020.11.0'
- group: docker
- group: github
- group: twine
@ -82,19 +82,14 @@ stages:
matrix:
amd64:
buildArch: 'amd64'
buildMachine: 'qemux86-64,intel-nuc'
i386:
buildArch: 'i386'
buildMachine: 'qemux86'
armhf:
buildArch: 'armhf'
buildMachine: 'qemuarm,raspberrypi'
armv7:
buildArch: 'armv7'
buildMachine: 'raspberrypi2,raspberrypi3,raspberrypi4,odroid-xu,tinker'
aarch64:
buildArch: 'aarch64'
buildMachine: 'qemuarm-64,raspberrypi3-64,raspberrypi4-64,odroid-c2,odroid-n2'
steps:
- template: templates/azp-step-ha-version.yaml@azure
- script: |
@ -111,6 +106,57 @@ stages:
-v $(pwd):/data:ro \
homeassistant/amd64-builder:$(versionBuilder) \
--generic $(homeassistantRelease) "--$(buildArch)" -t /data \
displayName: 'Build Release'
- job: 'ReleaseMachine'
dependsOn:
- ReleaseDocker
timeoutInMinutes: 240
pool:
vmImage: 'ubuntu-latest'
strategy:
maxParallel: 15
matrix:
qemux86-64:
buildMachine: 'qemux86-64'
intel-nuc:
buildMachine: 'intel-nuc'
qemux86:
buildMachine: 'qemux86'
qemuarm:
buildMachine: 'qemuarm'
raspberrypi:
buildMachine: 'raspberrypi'
raspberrypi2:
buildMachine: 'raspberrypi2'
raspberrypi3:
buildMachine: 'raspberrypi3'
raspberrypi4:
buildMachine: 'raspberrypi4'
odroid-xu:
buildMachine: 'odroid-xu'
tinker:
buildMachine: 'tinker'
qemuarm-64:
buildMachine: 'qemuarm-64'
raspberrypi3-64:
buildMachine: 'raspberrypi3-64'
raspberrypi4-64:
buildMachine: 'raspberrypi4-64'
odroid-c2:
buildMachine: 'odroid-c2'
odroid-c4:
buildMachine: 'odroid-c4'
odroid-n2:
buildMachine: 'odroid-n2'
steps:
- template: templates/azp-step-ha-version.yaml@azure
- script: |
docker login -u $(dockerUser) -p $(dockerPassword)
displayName: 'Docker hub login'
- script: docker pull homeassistant/amd64-builder:$(versionBuilder)
displayName: 'Install Builder'
- script: |
set -e
docker run --rm --privileged \
-v ~/.docker:/root/.docker \
@ -119,7 +165,7 @@ stages:
homeassistant/amd64-builder:$(versionBuilder) \
--homeassistant-machine "$(homeassistantRelease)=$(buildMachine)" \
-t /data/machine --docker-hub homeassistant
displayName: 'Build Release'
displayName: 'Build Machine'
- stage: 'Publish'
jobs:

View File

@ -1,11 +1,11 @@
{
"image": "homeassistant/{arch}-homeassistant",
"build_from": {
"aarch64": "homeassistant/aarch64-homeassistant-base:2020.10.0",
"armhf": "homeassistant/armhf-homeassistant-base:2020.10.0",
"armv7": "homeassistant/armv7-homeassistant-base:2020.10.0",
"amd64": "homeassistant/amd64-homeassistant-base:2020.10.0",
"i386": "homeassistant/i386-homeassistant-base:2020.10.0"
"aarch64": "homeassistant/aarch64-homeassistant-base:2020.10.1",
"armhf": "homeassistant/armhf-homeassistant-base:2020.10.1",
"armv7": "homeassistant/armv7-homeassistant-base:2020.10.1",
"amd64": "homeassistant/amd64-homeassistant-base:2020.10.1",
"i386": "homeassistant/i386-homeassistant-base:2020.10.1"
},
"labels": {
"io.hass.type": "core"

View File

@ -207,7 +207,7 @@ class LoginFlow(data_entry_flow.FlowHandler):
errors["base"] = "invalid_auth_module"
if len(self.available_mfa_modules) == 1:
self._auth_module_id = list(self.available_mfa_modules.keys())[0]
self._auth_module_id = list(self.available_mfa_modules)[0]
return await self.async_step_mfa()
return self.async_show_form(

View File

@ -28,6 +28,7 @@ from homeassistant.setup import (
async_set_domains_to_be_loaded,
async_setup_component,
)
from homeassistant.util.async_ import gather_with_concurrency
from homeassistant.util.logging import async_activate_log_queue_handler
from homeassistant.util.package import async_get_user_site, is_virtual_env
from homeassistant.util.yaml import clear_secret_cache
@ -49,6 +50,8 @@ STAGE_2_TIMEOUT = 300
WRAP_UP_TIMEOUT = 300
COOLDOWN_TIME = 60
MAX_LOAD_CONCURRENTLY = 6
DEBUGGER_INTEGRATIONS = {"debugpy", "ptvsd"}
CORE_INTEGRATIONS = ("homeassistant", "persistent_notification")
LOGGING_INTEGRATIONS = {
@ -372,7 +375,7 @@ async def async_mount_local_lib_path(config_dir: str) -> str:
def _get_domains(hass: core.HomeAssistant, config: Dict[str, Any]) -> Set[str]:
"""Get domains of components to set up."""
# Filter out the repeating and common config section [homeassistant]
domains = {key.split(" ")[0] for key in config.keys() if key != core.DOMAIN}
domains = {key.split(" ")[0] for key in config if key != core.DOMAIN}
# Add config entry domains
if not hass.config.safe_mode:
@ -442,7 +445,8 @@ async def _async_set_up_integrations(
integrations_to_process = [
int_or_exc
for int_or_exc in await asyncio.gather(
for int_or_exc in await gather_with_concurrency(
loader.MAX_LOAD_CONCURRENTLY,
*(
loader.async_get_integration(hass, domain)
for domain in old_to_resolve

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0430 \u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Abode."
},
"error": {
"connection_error": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435 \u0441 Abode.",
"identifier_exists": "\u041f\u0440\u043e\u0444\u0438\u043b\u044a\u0442 \u0435 \u0432\u0435\u0447\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d.",
"invalid_credentials": "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0434\u0430\u043d\u043d\u0438."
},
"step": {
"user": {
"data": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"connection_error": "No es pot connectar amb Abode.",
"identifier_exists": "Compte ja registrat.",
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida",
"invalid_credentials": "Credencials inv\u00e0lides."
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida"
},
"step": {
"user": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"connection_error": "Nelze se p\u0159ipojit k Abode.",
"identifier_exists": "\u00da\u010det je ji\u017e zaregistrov\u00e1n.",
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed",
"invalid_credentials": "Neplatn\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje."
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed"
},
"step": {
"user": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "Det er kun n\u00f8dvendigt med en ops\u00e6tning af Abode."
},
"error": {
"connection_error": "Kunne ikke oprette forbindelse til Abode.",
"identifier_exists": "Konto er allerede registreret.",
"invalid_credentials": "Ugyldige legitimationsoplysninger."
},
"step": {
"user": {
"data": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "Es ist nur eine einzige Konfiguration von Abode erlaubt."
},
"error": {
"connection_error": "Es kann keine Verbindung zu Abode hergestellt werden.",
"identifier_exists": "Das Konto ist bereits registriert.",
"invalid_credentials": "Ung\u00fcltige Anmeldeinformationen"
},
"step": {
"user": {
"data": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "Failed to connect",
"connection_error": "Unable to connect to Abode.",
"identifier_exists": "Account already registered.",
"invalid_auth": "Invalid authentication",
"invalid_credentials": "Invalid credentials."
"invalid_auth": "Invalid authentication"
},
"step": {
"user": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "Solo se permite una \u00fanica configuraci\u00f3n de Abode."
},
"error": {
"connection_error": "No se puede conectar a Abode.",
"identifier_exists": "Cuenta ya registrada.",
"invalid_credentials": "Credenciales inv\u00e1lidas."
},
"step": {
"user": {
"data": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "No se pudo conectar",
"connection_error": "No se puede conectar a Abode.",
"identifier_exists": "Cuenta ya registrada.",
"invalid_auth": "Autenticaci\u00f3n no v\u00e1lida",
"invalid_credentials": "Credenciales inv\u00e1lidas."
"invalid_auth": "Autenticaci\u00f3n no v\u00e1lida"
},
"step": {
"user": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"connection_error": "\u00dchendus Abode-iga nurjus.",
"identifier_exists": "Konto on juba seadistatud",
"invalid_auth": "Tuvastamise viga",
"invalid_credentials": "Sobimatu mandaat."
"invalid_auth": "Tuvastamise viga"
},
"step": {
"user": {

View File

@ -1,7 +0,0 @@
{
"config": {
"error": {
"connection_error": "Yhteytt\u00e4 Abodeen ei voi muodostaa."
}
}
}

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"connection_error": "Impossible de se connecter \u00e0 Abode.",
"identifier_exists": "Compte d\u00e9j\u00e0 enregistr\u00e9.",
"invalid_auth": "Authentification invalide",
"invalid_credentials": "Informations d'identification invalides."
"invalid_auth": "Authentification invalide"
},
"step": {
"user": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "Csak egyetlen Abode konfigur\u00e1ci\u00f3 enged\u00e9lyezett."
},
"error": {
"connection_error": "Nem lehet csatlakozni az Abode-hez.",
"identifier_exists": "Fi\u00f3k m\u00e1r regisztr\u00e1lva van",
"invalid_credentials": "\u00c9rv\u00e9nytelen hiteles\u00edt\u0151 adatok"
},
"step": {
"user": {
"data": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "Impossibile connettersi",
"connection_error": "Impossibile connettersi ad Abode.",
"identifier_exists": "Account gi\u00e0 registrato",
"invalid_auth": "Autenticazione non valida",
"invalid_credentials": "Credenziali non valide"
"invalid_auth": "Autenticazione non valida"
},
"step": {
"user": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "\ud558\ub098\uc758 Abode \ub9cc \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"error": {
"connection_error": "Abode \uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.",
"identifier_exists": "\uacc4\uc815\uc774 \uc774\ubbf8 \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4",
"invalid_credentials": "\uc0ac\uc6a9\uc790 \uc774\ub984 \ud639\uc740 \ube44\ubc00\ubc88\ud638\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4"
},
"step": {
"user": {
"data": {

View File

@ -1,14 +1,11 @@
{
"config": {
"abort": {
"single_instance_allowed": "N\u00ebmmen eng eenzeg Konfiguratioun vun ZHA ass erlaabt."
"single_instance_allowed": "Scho konfigur\u00e9iert. N\u00ebmmen eng eenzeg Konfiguratioun m\u00e9iglech."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"connection_error": "Kann sech net mat Abode verbannen.",
"identifier_exists": "Konto ass scho registr\u00e9iert",
"invalid_auth": "Ong\u00eblteg Authentifikatioun",
"invalid_credentials": "Ong\u00eblteg Login Informatioune"
"invalid_auth": "Ong\u00eblteg Authentifikatioun"
},
"step": {
"user": {

View File

@ -5,9 +5,7 @@
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"connection_error": "Kan geen verbinding maken met Abode.",
"identifier_exists": "Account is al geregistreerd.",
"invalid_credentials": "Ongeldige inloggegevens."
"invalid_auth": "Ongeldige authenticatie"
},
"step": {
"user": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"connection_error": "Kan ikke koble til Abode.",
"identifier_exists": "Kontoen er allerede registrert.",
"invalid_auth": "Ugyldig godkjenning",
"invalid_credentials": "Ugyldig legitimasjon"
"invalid_auth": "Ugyldig godkjenning"
},
"step": {
"user": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"connection_error": "Nie mo\u017cna po\u0142\u0105czy\u0107 si\u0119 z Abode",
"identifier_exists": "Konto jest ju\u017c zarejestrowane",
"invalid_auth": "Niepoprawne uwierzytelnienie",
"invalid_credentials": "Nieprawid\u0142owe dane uwierzytelniaj\u0105ce"
"invalid_auth": "Niepoprawne uwierzytelnienie"
},
"step": {
"user": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "Somente uma \u00fanica configura\u00e7\u00e3o de Abode \u00e9 permitida."
},
"error": {
"connection_error": "N\u00e3o foi poss\u00edvel conectar ao Abode.",
"identifier_exists": "Conta j\u00e1 cadastrada.",
"invalid_credentials": "Credenciais inv\u00e1lidas."
},
"step": {
"user": {
"data": {

View File

@ -1,8 +1,5 @@
{
"config": {
"error": {
"identifier_exists": "Conta j\u00e1 registada"
},
"step": {
"user": {
"data": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.",
"connection_error": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a Abode.",
"identifier_exists": "\u0423\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430.",
"invalid_auth": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f.",
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435."
"invalid_auth": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f."
},
"step": {
"user": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "Dovoljena je samo ena konfiguracija Abode."
},
"error": {
"connection_error": "Ni mogo\u010de vzpostaviti povezave z Abode.",
"identifier_exists": "Ra\u010dun je \u017ee registriran.",
"invalid_credentials": "Neveljavne poverilnice."
},
"step": {
"user": {
"data": {

View File

@ -3,11 +3,6 @@
"abort": {
"single_instance_allowed": "Endast en enda konfiguration av Abode \u00e4r till\u00e5ten."
},
"error": {
"connection_error": "Det gick inte att ansluta till Abode.",
"identifier_exists": "Kontot \u00e4r redan registrerat.",
"invalid_credentials": "Ogiltiga autentiseringsuppgifter."
},
"step": {
"user": {
"data": {

View File

@ -5,10 +5,7 @@
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"connection_error": "\u7121\u6cd5\u9023\u7dda\u81f3 Abode\u3002",
"identifier_exists": "\u5e33\u865f\u5df2\u8a3b\u518a\u3002",
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548",
"invalid_credentials": "\u6191\u8b49\u7121\u6548\u3002"
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548"
},
"step": {
"user": {

View File

@ -1,6 +1,7 @@
"""Constants for AccuWeather integration."""
from homeassistant.const import (
ATTR_DEVICE_CLASS,
CONCENTRATION_PARTS_PER_CUBIC_METER,
DEVICE_CLASS_TEMPERATURE,
LENGTH_FEET,
LENGTH_INCHES,
@ -13,7 +14,6 @@ from homeassistant.const import (
TEMP_FAHRENHEIT,
TIME_HOURS,
UV_INDEX,
VOLUME_CUBIC_METERS,
)
ATTRIBUTION = "Data provided by AccuWeather"
@ -22,7 +22,6 @@ ATTR_FORECAST = CONF_FORECAST = "forecast"
ATTR_LABEL = "label"
ATTR_UNIT_IMPERIAL = "Imperial"
ATTR_UNIT_METRIC = "Metric"
CONCENTRATION_PARTS_PER_CUBIC_METER = f"p/{VOLUME_CUBIC_METERS}"
COORDINATOR = "coordinator"
DOMAIN = "accuweather"
MANUFACTURER = "AccuWeather, Inc."

View File

@ -4,7 +4,8 @@
"user": {
"data": {
"latitude": "Breitengrad",
"longitude": "L\u00e4ngengrad"
"longitude": "L\u00e4ngengrad",
"name": "Name"
},
"title": "AccuWeather"
}

View File

@ -16,7 +16,7 @@
"longitude": "L\u00e4ngegrad",
"name": "Numm"
},
"description": "Falls du H\u00ebllef mat der Konfiguratioun brauch kuck h\u00e9i:\nhttps://www.home-assistant.io/integrations/accuweather/\n\nWieder Pr\u00e9visounen si standardm\u00e9isseg net aktiv. Du kanns d\u00e9i an den Optioune vun der Integratioun aschalten.",
"description": "Falls du H\u00ebllef mat der Konfiguratioun brauch kuck h\u00e9i:\nhttps://www.home-assistant.io/integrations/accuweather/\n\nVerschidde Sensoren si standardm\u00e9isseg net aktiv. Du kanns d\u00e9i an der Entit\u00e9ie Registry no der Konfiguratioun vun der Integratioun aschalten.\n\nWieder Pr\u00e9visounen si standardm\u00e9isseg net aktiv. Du kanns d\u00e9i an den Optioune vun der Integratioun aschalten.",
"title": "AccuWeather"
}
}

View File

@ -1,11 +1,30 @@
{
"config": {
"error": {
"invalid_api_key": "API-sleutel",
"requests_exceeded": "Het toegestane aantal verzoeken aan de Accuweather API is overschreden. U moet wachten of de API-sleutel wijzigen."
},
"step": {
"user": {
"data": {
"api_key": "API-sleutel",
"latitude": "Breedtegraad",
"longitude": "Lengtegraad",
"name": "Naam"
}
},
"description": "Als je hulp nodig hebt bij de configuratie, kijk dan hier: https://www.home-assistant.io/integrations/accuweather/ \n\n Sommige sensoren zijn niet standaard ingeschakeld. U kunt ze inschakelen in het entiteitenregister na de integratieconfiguratie.\n Weersvoorspelling is niet standaard ingeschakeld. U kunt het inschakelen in de integratieopties.",
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "Weervoorspelling"
},
"description": "Vanwege de beperkingen van de gratis versie van de AccuWeather API-sleutel, worden gegevensupdates elke 64 minuten in plaats van elke 32 minuten uitgevoerd wanneer u weersvoorspelling inschakelt.",
"title": "AccuWeather-opties"
}
}
}

View File

@ -16,7 +16,7 @@
"longitude": "Lengdegrad",
"name": "Navn"
},
"description": "Hvis du trenger hjelp med konfigurasjonen, kan du se her: https://www.home-assistant.io/integrations/accuweather/ \n\n Noen sensorer er ikke aktivert som standard. Du kan aktivere dem i enhetsregisteret etter integrasjonskonfigurasjonen. \n V\u00e6rmelding er ikke aktivert som standard. Du kan aktivere det i integrasjonsalternativene.",
"description": "Hvis du trenger hjelp med konfigurasjonen, kan du se her: https://www.home-assistant.io/integrations/accuweather/ \n\nNoen sensorer er ikke aktivert som standard. Du kan aktivere dem i entitetsregisteret etter integrasjonskonfigurasjonen. \nV\u00e6rmelding er ikke aktivert som standard. Du kan aktivere det i integrasjonsalternativene.",
"title": ""
}
}

View File

@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "Ondergang",
"rising": "Opkomst",
"steady": "Stabiel"
}
}
}

View File

@ -1,5 +1,4 @@
{
"title": "Rollease Acmeda Automate",
"config": {
"step": {
"user": {

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "No s'han descobert nous hubs de Pulse.",
"no_devices_found": "No s'han trobat dispositius a la xarxa"
},
"step": {
@ -12,6 +11,5 @@
"title": "Selecci\u00f3 del Hub a afegir"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -2,6 +2,13 @@
"config": {
"abort": {
"no_devices_found": "V s\u00edti nebyla nalezena \u017e\u00e1dn\u00e1 za\u0159\u00edzen\u00ed"
},
"step": {
"user": {
"data": {
"id": "ID hostitele"
}
}
}
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "No new Pulse hubs discovered.",
"no_devices_found": "No devices found on the network"
},
"step": {
@ -12,6 +11,5 @@
"title": "Pick a hub to add"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "No se han descubierto nuevos hubs Pulse.",
"no_devices_found": "No se encontraron dispositivos en la red"
},
"step": {
@ -12,6 +11,5 @@
"title": "Elige un hub para a\u00f1adir"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "Uusi Pulse'i jaotureid ei avastatud.",
"no_devices_found": "V\u00f5rgus ei tuvastatud \u00fchtegi seadet"
},
"step": {
@ -12,6 +11,5 @@
"title": "Vali lisatav jaotur"
}
}
},
"title": ""
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "Aucun nouveau hub Pulse n'a \u00e9t\u00e9 d\u00e9couvert.",
"no_devices_found": "Aucun appareil trouv\u00e9 sur le r\u00e9seau"
},
"step": {
@ -12,6 +11,5 @@
"title": "Choisissez un hub \u00e0 ajouter"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "Non sono stati scoperti nuovi hub Pulse.",
"no_devices_found": "Nessun dispositivo trovato sulla rete"
},
"step": {
@ -12,6 +11,5 @@
"title": "Scegliere un hub da aggiungere"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,8 +1,5 @@
{
"config": {
"abort": {
"all_configured": "\ubc1c\uacac\ub41c \uc0c8\ub85c\uc6b4 Pulse \ud5c8\ube0c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4."
},
"step": {
"user": {
"data": {
@ -11,6 +8,5 @@
"title": "\ucd94\uac00\ud560 \ud5c8\ube0c \uc120\ud0dd\ud558\uae30"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,7 +1,7 @@
{
"config": {
"abort": {
"all_configured": "Keng nei Pulse Hubs entdeckt."
"no_devices_found": "Keng Apparater am Netzwierk fonnt"
},
"step": {
"user": {
@ -11,6 +11,5 @@
"title": "Wiel den Hub aus dee soll dob\u00e4igesat ginn."
}
}
},
"title": "Rollease ACmeda Automate"
}
}

View File

@ -1,8 +1,5 @@
{
"config": {
"abort": {
"all_configured": "Geen nieuwe Pulse hubs ontdekt."
},
"step": {
"user": {
"data": {
@ -11,6 +8,5 @@
"title": "Kies een hub om toe te voegen"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "Ingen nye Pulse-hub oppdaget.",
"no_devices_found": "Ingen enheter funnet p\u00e5 nettverket"
},
"step": {
@ -12,6 +11,5 @@
"title": "Velg en hub du vil legge til"
}
}
},
"title": ""
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "Nie wykryto hub\u00f3w Pulse",
"no_devices_found": "Nie znaleziono urz\u0105dze\u0144 w sieci"
},
"step": {
@ -12,6 +11,5 @@
"title": "Wybierz hub, kt\u00f3ry chcesz doda\u0107"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b.",
"no_devices_found": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u0432 \u0441\u0435\u0442\u0438."
},
"step": {
@ -12,6 +11,5 @@
"title": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u0430\u0431, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -1,7 +1,6 @@
{
"config": {
"abort": {
"all_configured": "\u672a\u641c\u5c0b\u5230 Pulse hub",
"no_devices_found": "\u7db2\u8def\u4e0a\u627e\u4e0d\u5230\u8a2d\u5099"
},
"step": {
@ -12,6 +11,5 @@
"title": "\u9078\u64c7\u6240\u8981\u65b0\u589e\u7684 Hub"
}
}
},
"title": "Rollease Acmeda Automate"
}
}

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "\u0410\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0430\u0442\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f.",
"single_instance_allowed": "\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0430 \u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 AdGuard Home."
},
"error": {
"connection_error": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435."
},
"step": {
"hassio_confirm": {
"description": "\u0418\u0441\u043a\u0430\u0442\u0435 \u043b\u0438 \u0434\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u0442\u0435 Home Assistant \u0434\u0430 \u0441\u0435 \u0441\u0432\u044a\u0440\u0437\u0432\u0430 \u0441 AdGuard Home, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0435\u043d \u043e\u0442 Hass.io \u0434\u043e\u0431\u0430\u0432\u043a\u0430\u0442\u0430: {addon} ?",

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"connection_error": "No s'ha pogut connectar."
"cannot_connect": "Ha fallat la connexi\u00f3"
},
"step": {
"hassio_confirm": {

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"connection_error": "Nepoda\u0159ilo se p\u0159ipojit."
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit"
},
"step": {
"hassio_confirm": {
@ -21,7 +20,8 @@
"ssl": "Pou\u017e\u00edv\u00e1 SSL certifik\u00e1t",
"username": "U\u017eivatelsk\u00e9 jm\u00e9no",
"verify_ssl": "Ov\u011b\u0159it certifik\u00e1t SSL"
}
},
"description": "Nastavte svou instanci AdGuard Home pro monitorov\u00e1n\u00ed a \u0159\u00edzen\u00ed."
}
}
}

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "Opdaterede eksisterende konfiguration.",
"single_instance_allowed": "Kun en enkelt konfiguration af AdGuard Home er tilladt."
},
"error": {
"connection_error": "Forbindelse mislykkedes."
},
"step": {
"hassio_confirm": {
"description": "Vil du konfigurere Home Assistant til at oprette forbindelse til AdGuard Home leveret af Hass.io-tilf\u00f8jelsen: {addon}?",

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "Bestehende Konfiguration wurde aktualisiert.",
"single_instance_allowed": "Es ist nur eine einzige Konfiguration von AdGuard Home zul\u00e4ssig."
},
"error": {
"connection_error": "Fehler beim Herstellen einer Verbindung."
},
"step": {
"hassio_confirm": {
"description": "M\u00f6chtest du Home Assistant so konfigurieren, dass eine Verbindung mit AdGuard Home als Hass.io-Add-On hergestellt wird: {addon}?",

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"error": {
"cannot_connect": "Failed to connect",
"connection_error": "Failed to connect."
"cannot_connect": "Failed to connect"
},
"step": {
"hassio_confirm": {

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "Se actualiz\u00f3 la configuraci\u00f3n existente.",
"single_instance_allowed": "Solo se permite una \u00fanica configuraci\u00f3n de AdGuard Home."
},
"error": {
"connection_error": "Error al conectar."
},
"step": {
"hassio_confirm": {
"description": "\u00bfDesea configurar Home Assistant para conectarse a la p\u00e1gina principal de AdGuard proporcionada por el complemento Hass.io: {addon}?",

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "S\u00f3lo se permite una \u00fanica configuraci\u00f3n de AdGuard Home."
},
"error": {
"cannot_connect": "No se pudo conectar",
"connection_error": "No se conect\u00f3."
"cannot_connect": "No se pudo conectar"
},
"step": {
"hassio_confirm": {

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Juba seadistatud. V\u00f5imalik on ainult \u00fcks seadistamine."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"connection_error": "\u00dchenduse loomine nurjus"
"cannot_connect": "\u00dchendamine nurjus"
},
"step": {
"hassio_confirm": {

View File

@ -1,8 +1,5 @@
{
"config": {
"error": {
"connection_error": "Yhdist\u00e4minen ep\u00e4onnistui."
},
"step": {
"user": {
"data": {

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Une seule configuration d'AdGuard Home est autoris\u00e9e."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"connection_error": "\u00c9chec de connexion."
"cannot_connect": "\u00c9chec de connexion"
},
"step": {
"hassio_confirm": {

View File

@ -1,8 +1,5 @@
{
"config": {
"error": {
"connection_error": "Gagal terhubung."
},
"step": {
"user": {
"data": {

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Gi\u00e0 configurato. \u00c8 possibile una sola configurazione."
},
"error": {
"cannot_connect": "Impossibile connettersi",
"connection_error": "Impossibile connettersi."
"cannot_connect": "Impossibile connettersi"
},
"step": {
"hassio_confirm": {

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "\uae30\uc874 \uad6c\uc131\uc744 \uc5c5\ub370\uc774\ud2b8\ud588\uc2b5\ub2c8\ub2e4.",
"single_instance_allowed": "\ud558\ub098\uc758 AdGuard Home \ub9cc \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"error": {
"connection_error": "\uc5f0\uacb0\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4."
},
"step": {
"hassio_confirm": {
"description": "Hass.io {addon} \uc560\ub4dc\uc628\uc73c\ub85c AdGuard Home \uc5d0 \uc5f0\uacb0\ud558\ub3c4\ub85d Home Assistant \ub97c \uad6c\uc131\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?",

View File

@ -2,11 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "D\u00e9i bestehend Konfiguratioun ass ge\u00e4nnert.",
"single_instance_allowed": "N\u00ebmmen eng eenzeg Konfiguratioun vun AdGuard Home ass erlaabt."
"single_instance_allowed": "Scho konfigur\u00e9iert. N\u00ebmmen eng eenzeg Konfiguratioun m\u00e9iglech."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"connection_error": "Feeler beim verbannen."
"cannot_connect": "Feeler beim verbannen"
},
"step": {
"hassio_confirm": {
@ -18,9 +17,9 @@
"host": "Host",
"password": "Passwuert",
"port": "Port",
"ssl": "AdGuard Home benotzt een SSL Zertifikat",
"ssl": "Benotzt een SSL Zertifikat",
"username": "Benotzernumm",
"verify_ssl": "AdGuard Home benotzt een eegenen Zertifikat"
"verify_ssl": "SSL Zertifikat iwwerpr\u00e9iwen"
},
"description": "Konfigur\u00e9iert \u00e4r AdGuard Home Instanz fir d'Iwwerwaachung an d'Kontroll z'erlaben."
}

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Slechts \u00e9\u00e9n configuratie van AdGuard Home is toegestaan."
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"connection_error": "Kon niet verbinden."
"cannot_connect": "Kan geen verbinding maken"
},
"step": {
"hassio_confirm": {
@ -15,6 +14,7 @@
},
"user": {
"data": {
"host": "Host",
"password": "Wachtwoord",
"port": "Poort",
"ssl": "AdGuard Home maakt gebruik van een SSL certificaat",

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"connection_error": "Tilkobling mislyktes."
"cannot_connect": "Tilkobling mislyktes"
},
"step": {
"hassio_confirm": {

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "Ju\u017c skonfigurowano. Mo\u017cliwa jest tylko jedna konfiguracja."
},
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"connection_error": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia"
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia"
},
"step": {
"hassio_confirm": {

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "Configura\u00e7\u00e3o existente atualizada.",
"single_instance_allowed": "Apenas uma \u00fanica configura\u00e7\u00e3o do AdGuard Home \u00e9 permitida."
},
"error": {
"connection_error": "Falhou ao conectar."
},
"step": {
"hassio_confirm": {
"description": "Deseja configurar o Home Assistant para se conectar ao AdGuard Home fornecido pelo complemento Hass.io: {addon} ?",

View File

@ -1,8 +1,5 @@
{
"config": {
"error": {
"connection_error": "Falha na liga\u00e7\u00e3o"
},
"step": {
"hassio_confirm": {
"title": "AdGuard Home via Hass.io add-on"

View File

@ -5,13 +5,12 @@
"single_instance_allowed": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.",
"connection_error": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f."
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f."
},
"step": {
"hassio_confirm": {
"description": "\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a AdGuard Home (\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Hass.io \"{addon}\")?",
"title": "AdGuard Home (\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Hass.io)"
"description": "\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a AdGuard Home (\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Hass.io \"{addon}\")?",
"title": "AdGuard Home (\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Hass.io)"
},
"user": {
"data": {

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "Posodobljena obstoje\u010da konfiguracija.",
"single_instance_allowed": "Dovoljena je samo ena konfiguracija AdGuard Home."
},
"error": {
"connection_error": "Povezava ni uspela."
},
"step": {
"hassio_confirm": {
"description": "\u017delite konfigurirati Home Assistant-a za povezavo z AdGuard Home, ki ga ponuja Hass.io add-on {addon} ?",

View File

@ -4,9 +4,6 @@
"existing_instance_updated": "Uppdaterade existerande konfiguration.",
"single_instance_allowed": "Endast en enda konfiguration av AdGuard Home \u00e4r till\u00e5ten."
},
"error": {
"connection_error": "Det gick inte att ansluta."
},
"step": {
"hassio_confirm": {
"description": "Vill du konfigurera Home Assistant f\u00f6r att ansluta till AdGuard Home som tillhandah\u00e5lls av Hass.io Add-on: {addon}?",

View File

@ -3,9 +3,6 @@
"abort": {
"existing_instance_updated": "\u66f4\u65b0\u4e86\u73b0\u6709\u914d\u7f6e\u3002"
},
"error": {
"connection_error": "\u8fde\u63a5\u5931\u8d25\u3002"
},
"step": {
"user": {
"data": {

View File

@ -5,8 +5,7 @@
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u8a2d\u5099\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"connection_error": "\u9023\u7dda\u5931\u6557\u3002"
"cannot_connect": "\u9023\u7dda\u5931\u6557"
},
"step": {
"hassio_confirm": {

View File

@ -68,10 +68,9 @@ class AdsLight(AdsEntity, LightEntity):
@property
def supported_features(self):
"""Flag supported features."""
support = 0
if self._ads_var_brightness is not None:
support = SUPPORT_BRIGHTNESS
return support
return SUPPORT_BRIGHTNESS
return 0
@property
def is_on(self):

View File

@ -1,6 +1,5 @@
{
"config": {
"flow_title": "Advantage Air Setup",
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
},
@ -17,6 +16,5 @@
"title": "Connect"
}
}
},
"title": "Advantage Air"
}
}
}

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3"
},
"flow_title": "Configuraci\u00f3 d'Advantage Air",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "Connecta"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -6,16 +6,15 @@
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit"
},
"flow_title": "Nastaven\u00ed Advantage Air",
"step": {
"user": {
"data": {
"ip_address": "IP adresa",
"port": "Port"
},
"description": "P\u0159ipojte se k API va\u0161eho n\u00e1st\u011bnn\u00e9ho tabletu Advantage Air.",
"title": "P\u0159ipojit"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "Failed to connect"
},
"flow_title": "Advantage Air Setup",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "Connect"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "No se pudo conectar"
},
"flow_title": "Configuraci\u00f3n de Advantage Air",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "Conectar"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "\u00dchendus nurjus"
},
"flow_title": "Advantage Air-i seadistamine",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "\u00dchenda"
}
}
},
"title": ""
}
}

View File

@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "L'appareil est d\u00e9j\u00e0 configur\u00e9"
},
"error": {
"cannot_connect": "\u00c9chec de connexion"
},
"step": {
"user": {
"data": {
"ip_address": "Adresse IP",
"port": "Port"
},
"description": "Connectez-vous \u00e0 l'API de votre tablette murale Advantage Air.",
"title": "Connecter"
}
}
}
}

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "Impossibile connettersi"
},
"flow_title": "Configurazione di Advantage Air",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "Connetti"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Apparat ass scho konfigur\u00e9iert"
},
"error": {
"cannot_connect": "Feeler beim verbannen"
},
"step": {
"user": {
"data": {
"ip_address": "IP Adresse",
"port": "Port"
},
"description": "Mat der API vun dengem Advantage Air Tablet verbannen",
"title": "Verbannen"
}
}
}
}

View File

@ -1,13 +1,16 @@
{
"config": {
"abort": {
"already_configured": "Apparaat is al geconfigureerd"
},
"step": {
"user": {
"data": {
"port": "Poort"
},
"description": "Maak verbinding met de API van uw Advantage Air-tablet voor wandmontage.",
"title": "Verbind"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "Tilkobling mislyktes"
},
"flow_title": "[VOID] oppsett",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "Koble til"
}
}
},
"title": ""
}
}

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia"
},
"flow_title": "Konfiguracja Advantage Air",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "Po\u0142\u0105czenie"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -6,17 +6,15 @@
"error": {
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f."
},
"flow_title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Advantage Air",
"step": {
"user": {
"data": {
"ip_address": "IP-\u0430\u0434\u0440\u0435\u0441",
"port": "\u041f\u043e\u0440\u0442"
},
"description": "\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u0441\u044c \u043a API \u0412\u0430\u0448\u0435\u0433\u043e \u043d\u0430\u0441\u0442\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430 Advantage Air.",
"description": "\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a API \u0412\u0430\u0448\u0435\u0433\u043e \u043d\u0430\u0441\u0442\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430 Advantage Air.",
"title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -1,5 +1,8 @@
{
"config": {
"error": {
"cannot_connect": "\u8fde\u63a5\u5931\u8d25"
},
"step": {
"user": {
"data": {

View File

@ -6,7 +6,6 @@
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557"
},
"flow_title": "Advantage Air \u8a2d\u5b9a",
"step": {
"user": {
"data": {
@ -17,6 +16,5 @@
"title": "\u9023\u63a5"
}
}
},
"title": "Advantage Air"
}
}

View File

@ -1,5 +1,4 @@
{
"title": "Agent DVR",
"config": {
"step": {
"user": {

View File

@ -5,8 +5,7 @@
},
"error": {
"already_in_progress": "El flux de configuraci\u00f3 ja est\u00e0 en curs",
"cannot_connect": "Ha fallat la connexi\u00f3",
"device_unavailable": "Dispositiu no est\u00e0 disponible"
"cannot_connect": "Ha fallat la connexi\u00f3"
},
"step": {
"user": {
@ -17,6 +16,5 @@
"title": "Configuraci\u00f3 de Agent DVR"
}
}
},
"title": "Agent DVR"
}
}

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