home-assistant / addons

:heavy_plus_sign: Docker add-ons for Home Assistant
https://home-assistant.io/hassio/
Apache License 2.0
1.55k stars 1.51k forks source link

check_config: Unexpected error validating config #1902

Closed m90att closed 3 years ago

m90att commented 3 years ago

The problem

I get an error when running check config against release 2021.3.1

Environment

Version core-2021.2.3
Installation Type Home Assistant OS
Development false
Supervisor true
Docker true
Virtual Environment false
Python Version 3.8.7
Operating System Family Linux
Operating System Version 5.4.83-v7l
CPU Architecture armv7l
Timezone UTC

Problem-relevant configuration

Traceback/Error logs

[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] udev.sh: executing... 
bind failed: Address in use
error binding udev control socket
[09:52:29] INFO: Update udev information
[cont-init.d] udev.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[09:54:30] INFO: Setup udev devices
[09:54:30] INFO: Don't worry, this temporary installation is not overwriting your current one.
[09:54:30] INFO: Installing Home Assistant: latest...
[09:54:30] INFO: Please be patient, this might take a few minutes...
ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.
We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.
requests 2.25.1 requires idna<3,>=2.5, but you'll have idna 3.1 which is incompatible.
[09:55:47] INFO: Installed Home Assistant 2021.3.1
[09:55:47] INFO: Making a copy of your configuration for checking...
[09:55:48] INFO: Checking your configuration against this version...
[09:59:22] ERROR: The configuration check did not pass!
[09:59:22] ERROR: See the output below for more details.
Testing configuration at /tmp/config
ERROR:homeassistant.helpers.check_config:Unexpected error validating config
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/check_config.py", line 147, in async_check_ha_config_file
    await config_validator.async_validate_config(  # type: ignore
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 103, in async_validate_config
    await asyncio.gather(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 85, in _try_async_validate_config_item
    config = await async_validate_config_item(hass, config, full_config)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 63, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config
    return await getattr(platform, "async_validate_trigger_config")(hass, config)
grep: write error: Broken pipe
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Additional information

mdegat01 commented 3 years ago

Yea I get this too. I've gotten a false alert error about a python dependency from this addon for a couple releases now. This release the error got worse. It's also dumping out my config into the logs after it has substituted secrets in which seems bad. I don't think it should be logging things like credentials

... (there's a ton of very similar deprecation warning messages before these ones)

/usr/local/lib/python3.8/site-packages/pychromecast/cast_channel_pb2.py:397: DeprecationWarning: Call to deprecated create function FieldDescriptor(). Note: Create unlinked descriptors is going to go away. Please use get/find descriptors from generated code or query the descriptor_pool.
  _descriptor.FieldDescriptor(
/usr/local/lib/python3.8/site-packages/pychromecast/cast_channel_pb2.py:376: DeprecationWarning: Call to deprecated create function Descriptor(). Note: Create unlinked descriptors is going to go away. Please use get/find descriptors from generated code or query the descriptor_pool.
  _DEVICEAUTHMESSAGE = _descriptor.Descriptor(
[21:53:24] ERROR: The configuration check did not pass!
[21:53:24] ERROR: See the output below for more details.
Testing configuration at /tmp/config
Failed config
  homeassistant.packages.base.nest: 
    - Package base setup failed. Component nest [Errno 2] No such file or directory: '/usr/local/lib/python3.8/site-packages/chardet-4.0.0.dist-info/METADATA'
    - bhyve: [source /tmp/config/packages/base/bhyve.yaml:?]
        password: <password redacted>
        username: <username redacted>
      feedreader: [source /tmp/config/packages/base/feedreader.yaml:?]
        max_entries: 5
        scan_interval: [source /tmp/config/packages/base/feedreader.yaml:3]
          minutes: 15
        urls: [source /tmp/config/packages/base/feedreader.yaml:1]
          - https://alerts.home-assistant.io/feed.xml
      folder_watcher: [source /tmp/config/packages/base/folder_watcher.yaml:?]
        - folder: /config/packages

.... (It continues dumping out my config like this for a while in the full output file in /share)
loeffen commented 3 years ago

same problem - see HA forum https://community.home-assistant.io/t/errors-checking-ha-2021-2-3-against-2021-3-3/287020/11

cybermaniapt commented 3 years ago

Exactly the same here, in some different components:

[18:40:31] INFO: Making a copy of your configuration for checking... [18:40:45] INFO: Checking your configuration against this version... [18:50:12] ERROR: The configuration check did not pass! [18:50:12] ERROR: See the output below for more details. Testing configuration at /tmp/config ERROR:homeassistant.helpers.check_config:Unexpected error validating config Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/check_config.py", line 147, in async_check_ha_config_file await config_validator.async_validate_config( # type: ignore File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 103, in async_validate_config await asyncio.gather( File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 85, in _try_async_validate_config_item config = await async_validate_config_item(hass, config, full_config) File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 63, in async_validate_config_item config[CONF_TRIGGER] = await async_validate_trigger_config( File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config conf = await platform.async_validate_trigger_config(hass, conf) File "/usr/local/lib/python3.8/site-packages/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config return await getattr(platform, "async_validate_trigger_config")(hass, config) [18:50:13] INFO: The full output has been written to /share/check_config.txt

joelmoses commented 3 years ago

Strangely, it seems that if you keep running the addon after a failure, it will sometimes complete successfully. Might have something to do with the repositories selected during pip's dependency checking? Hard to say.

I think a base-image upgrade might help this add-on. It's pretty far behind the image set used by most of the other add-ons.

This issue has been raised three times before: https://github.com/home-assistant/addons/issues/1811 https://github.com/home-assistant/addons/issues/1808 https://github.com/home-assistant/addons/issues/1773

FSund commented 3 years ago

Just checked from core-2021.2.3 against 2021.3.4, with the same error

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] udev.sh: executing... 
bind failed: Address in use
error binding udev control socket
[10:21:20] INFO: Update udev information
[cont-init.d] udev.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[10:23:20] INFO: Setup udev devices
[10:23:21] INFO: Don't worry, this temporary installation is not overwriting your current one.
[10:23:21] INFO: Installing Home Assistant: latest...
[10:23:21] INFO: Please be patient, this might take a few minutes...
ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.
We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.
requests 2.25.1 requires idna<3,>=2.5, but you'll have idna 3.1 which is incompatible.
[10:24:56] INFO: Installed Home Assistant 2021.3.4
[10:24:56] INFO: Making a copy of your configuration for checking...
[10:24:57] INFO: Checking your configuration against this version...
[10:30:38] ERROR: The configuration check did not pass!
[10:30:38] ERROR: See the output below for more details.
Testing configuration at /tmp/config
ERROR:homeassistant.helpers.check_config:Unexpected error validating config
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/check_config.py", line 147, in async_check_ha_config_file
    await config_validator.async_validate_config(  # type: ignore
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 103, in async_validate_config
    await asyncio.gather(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 85, in _try_async_validate_config_item
    config = await async_validate_config_item(hass, config, full_config)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 63, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config
    return await getattr(platform, "async_validate_trigger_config")(hass, config)
[10:30:38] INFO: The full output has been written to /share/check_config.txt
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

check_config.txt

INFO:homeassistant.util.package:Attempting install of colorlog==4.7.2
Testing configuration at /tmp/config
INFO:homeassistant.util.package:Attempting install of mutagen==1.45.1
INFO:homeassistant.util.package:Attempting install of aiohttp_cors==0.7.0
INFO:homeassistant.util.package:Attempting install of gTTS==2.2.2
INFO:homeassistant.util.package:Attempting install of sqlalchemy==1.3.23
INFO:homeassistant.util.package:Attempting install of paho-mqtt==1.5.1
INFO:homeassistant.util.package:Attempting install of bellows==0.22.0
INFO:homeassistant.util.package:Attempting install of zha-quirks==0.0.54
INFO:homeassistant.util.package:Attempting install of zigpy-cc==0.5.2
INFO:homeassistant.util.package:Attempting install of zigpy-deconz==0.11.1
INFO:homeassistant.util.package:Attempting install of zigpy==0.32.0
INFO:homeassistant.util.package:Attempting install of zigpy-xbee==0.13.0
INFO:homeassistant.util.package:Attempting install of zigpy-zigate==0.7.3
INFO:homeassistant.util.package:Attempting install of zigpy-znp==0.4.0
INFO:homeassistant.util.package:Attempting install of aiohue==2.1.0
INFO:homeassistant.util.package:Attempting install of defusedxml==0.6.0
INFO:homeassistant.util.package:Attempting install of netdisco==2.8.2
INFO:homeassistant.util.package:Attempting install of async-upnp-client==0.14.13
ERROR:homeassistant.helpers.check_config:Unexpected error validating config
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/check_config.py", line 147, in async_check_ha_config_file
    await config_validator.async_validate_config(  # type: ignore
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 103, in async_validate_config
    await asyncio.gather(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 85, in _try_async_validate_config_item
    config = await async_validate_config_item(hass, config, full_config)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 63, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config
    return await getattr(platform, "async_validate_trigger_config")(hass, config)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/hue/device_trigger.py", line 109, in async_validate_trigger_config
    device_registry = await hass.helpers.device_registry.async_get_registry()
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/device_registry.py", line 636, in async_get_registry
    return async_get(hass)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/device_registry.py", line 620, in async_get
    return cast(DeviceRegistry, hass.data[DATA_REGISTRY])
KeyError: 'device_registry'
INFO:homeassistant.util.package:Attempting install of aiopylgtv==0.3.3
INFO:homeassistant.util.package:Attempting install of scapy==2.4.4
INFO:homeassistant.util.package:Attempting install of home-assistant-frontend==20210302.6
INFO:homeassistant.util.package:Attempting install of hass-nabucasa==0.41.0
INFO:homeassistant.util.package:Attempting install of PyNaCl==1.3.0
INFO:homeassistant.util.package:Attempting install of emoji==1.2.0
INFO:homeassistant.util.package:Attempting install of distro==1.5.0
INFO:homeassistant.util.package:Attempting install of pillow==8.1.1
Failed config
  automation: 
    - Unexpected error calling config validator: 'device_registry'
    - [OrderedDict([('id', '1608316252839'), ('alias', 'AC: Basement above high (long)'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'binary_sensor.basement_above_high'), ('from', 'off'), ('to', 'on'), ('for', '00:15:00')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller'), ('state', 'on')])]), ('action', [OrderedDict([('service', 'climate.set_hvac_mode'), ('data', OrderedDict([('hvac_mode', 'fan_only')])), ('entity_id', 'climate.daikinap49295')]), OrderedDict([('delay', OrderedDict([('hours', 0), ('minutes', 0), ('seconds', 5), ('milliseconds', 0)]))]), OrderedDict([('service', 'climate.set_fan_mode'), ('data', OrderedDict([('entity_id', 'climate.daikinap49295'), ('fan_mode', 'Silence')]))])]), ('mode', 'single')]), OrderedDict([('id', '1608316431479'), ('alias', 'AC: Basement below low'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'binary_sensor.basement_below_low'), ('from', 'off'), ('to', 'on')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller'), ('state', 'on')])]), ('action', [OrderedDict([('service', 'climate.set_fan_mode'), ('entity_id', 'climate.daikinap49295'), ('data_template', OrderedDict([('fan_mode', "{{ states('input_number.basement_max_fan_speed') | int }}")]))]), OrderedDict([('delay', OrderedDict([('hours', 0), ('minutes', 0), ('seconds', 5), ('milliseconds', 0)]))]), OrderedDict([('service', 'climate.set_temperature'), ('entity_id', 'climate.daikinap49295'), ('data_template', OrderedDict([('temperature', "{{ states('input_number.basement_setpoint') | float }}"), ('hvac_mode', 'heat')]))])]), ('mode', 'single')]), OrderedDict([('id', '1608316842347'), ('alias', 'AC: Basement between low and high'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'binary_sensor.basement_between_low_and_high'), ('from', 'off'), ('to', 'on')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller'), ('state', 'on')])]), ('action', [OrderedDict([('service', 'climate.set_fan_mode'), ('entity_id', 'climate.daikinap49295'), ('data_template', OrderedDict([('fan_mode', "{{ states('input_number.basement_medium_fan_speed') | int }}")]))]), OrderedDict([('delay', OrderedDict([('hours', 0), ('minutes', 0), ('seconds', 5), ('milliseconds', 0)]))]), OrderedDict([('service', 'climate.set_temperature'), ('entity_id', 'climate.daikinap49295'), ('data_template', OrderedDict([('temperature', "{{ states('input_number.basement_setpoint') | float }}"), ('hvac_mode', 'heat')]))])]), ('mode', 'single')]), OrderedDict([('id', '1609173838387'), ('alias', 'AC: When AC setpoint changes'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'input_number.basement_setpoint')]), OrderedDict([('platform', 'state'), ('entity_id', 'input_number.basement_max_fan_speed')]), OrderedDict([('platform', 'state'), ('entity_id', 'input_number.basement_medium_fan_speed')])]), ('condition', []), ('action', [OrderedDict([('service', 'script.set_ac_to_setpoint_value'), ('data', OrderedDict())])]), ('mode', 'single')]), OrderedDict([('id', '1609312705328'), ('alias', 'Nikko first button pressed (up left)'), ('description', '(øverst til venstre)'), ('trigger', [OrderedDict([('device_id', 'f005c58fd7ffc3e8650ef080762e5e3f'), ('domain', 'hue'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_1')])]), ('condition', []), ('action', [OrderedDict([('scene', 'scene.dagtid_oppholdsrom')]), OrderedDict([('scene', 'scene.ensis_dagtid')])]), ('mode', 'single')]), OrderedDict([('id', '1609315085773'), ('alias', 'Nikko second button pressed (down left)'), ('description', '(nederst til venstre)'), ('trigger', [OrderedDict([('device_id', 'f005c58fd7ffc3e8650ef080762e5e3f'), ('domain', 'hue'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_2')])]), ('condition', []), ('action', [OrderedDict([('service', 'light.turn_off'), ('data', OrderedDict()), ('entity_id', 'group.light_tv_stue_group, group.niko_switch_group')])]), ('mode', 'single')]), OrderedDict([('id', '1609454487272'), ('alias', 'Change scenes when sun sets'), ('description', ''), ('trigger', [OrderedDict([('platform', 'sun'), ('event', 'sunset')])]), ('condition', []), ('action', [OrderedDict([('service', 'scene.turn_on'), ('data', OrderedDict([('entity_id', 'scene.ettermiddag_oppholdsrom'), ('transition', 30)]))]), OrderedDict([('service', 'input_select.select_option'), ('data', OrderedDict([('option', 3)])), ('entity_id', 'input_select.ensis_scene_select')])]), ('mode', 'single')]), OrderedDict([('id', '1609618625539'), ('alias', 'Aqara Mini Button Single Press (Ensis)'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'fe3b2ad1137cfb35ad8d9b9148f274d8'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'remote_button_short_press')])]), ('condition', []), ('action', [OrderedDict([('service', 'input_select.select_next'), ('data', OrderedDict()), ('entity_id', 'input_select.ensis_scene_select')]), OrderedDict([('condition', 'time'), ('before', '18:30')]), OrderedDict([('service', 'media_player.volume_set'), ('data', OrderedDict([('volume_level', 0.25)])), ('entity_id', 'media_player.kjokken')]), OrderedDict([('service', 'media_player.play_media'), ('data', OrderedDict([('media_content_id', 'http://192.168.1.202:8123/local/file-sounds-1148-juntos.mp3'), ('media_content_type', 'music')])), ('entity_id', 'media_player.kjokken')])]), ('mode', 'single')]), OrderedDict([('id', '1609618701217'), ('alias', 'Aqara Mini Button Double Press (Ensis)'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'fe3b2ad1137cfb35ad8d9b9148f274d8'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_double_press'), ('subtype', 'remote_button_double_press')])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'device'), ('type', 'is_off'), ('device_id', '737b0903a54556e1e40f8b6c19d52a25'), ('entity_id', 'light.hue_color_pendant_up_1'), ('domain', 'light')])]), ('sequence', [OrderedDict([('service', 'light.turn_on'), ('entity_id', 'light.hue_color_pendant_up_1'), ('data', OrderedDict([('brightness', 100), ('color_temp', 300)]))]), OrderedDict([('condition', 'time'), ('before', '18:30')]), OrderedDict([('service', 'media_player.volume_set'), ('data', OrderedDict([('volume_level', 0.25)])), ('entity_id', 'media_player.kjokken')]), OrderedDict([('service', 'media_player.play_media'), ('data', OrderedDict([('media_content_id', 'http://192.168.1.202:8123/local/file-sounds-1027-are-you-kidding.mp3'), ('media_content_type', 'music')])), ('entity_id', 'media_player.kjokken')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'device'), ('type', 'is_on'), ('device_id', '737b0903a54556e1e40f8b6c19d52a25'), ('entity_id', 'light.hue_color_pendant_up_1'), ('domain', 'light')])]), ('sequence', [OrderedDict([('service', 'light.turn_off'), ('data', OrderedDict()), ('entity_id', 'light.hue_color_pendant_up_1')]), OrderedDict([('condition', 'time'), ('before', '18:30')]), OrderedDict([('service', 'media_player.volume_set'), ('data', OrderedDict([('volume_level', 0.25)])), ('entity_id', 'media_player.kjokken')]), OrderedDict([('service', 'media_player.play_media'), ('data', OrderedDict([('media_content_id', 'http://192.168.1.202:8123/local/file-sounds-1027-are-you-kidding-reverse.mp3'), ('media_content_type', 'music')])), ('entity_id', 'media_player.kjokken')])])])]), ('default', [])])]), ('mode', 'single')]), OrderedDict([('id', '1609619060923'), ('alias', 'TRADFRI dim up'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'c85981d6e2ee257ef7a01695b2c94e76'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_long_press'), ('subtype', 'dim_up')])]), ('condition', []), ('action', [OrderedDict([('type', 'brightness_increase'), ('device_id', '00d7319f71f6c7209efe34d48c6723b8'), ('entity_id', 'light.ledvance_rgb_e27_3'), ('domain', 'light')])]), ('mode', 'single')]), OrderedDict([('id', '1609619112485'), ('alias', 'TRADFRI dim down'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'c85981d6e2ee257ef7a01695b2c94e76'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_long_press'), ('subtype', 'dim_down')])]), ('condition', []), ('action', [OrderedDict([('type', 'brightness_decrease'), ('device_id', '00d7319f71f6c7209efe34d48c6723b8'), ('entity_id', 'light.ledvance_rgb_e27_3'), ('domain', 'light')])]), ('mode', 'single')]), OrderedDict([('id', '1609619222401'), ('alias', 'TV: TRADFRI "turn on" button'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'c85981d6e2ee257ef7a01695b2c94e76'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'turn_on')])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '4')])]), ('sequence', [OrderedDict([('service', 'counter.configure'), ('entity_id', 'counter.tv_stue_scene'), ('data', OrderedDict([('value', 0)]))])])])]), ('default', [OrderedDict([('service', 'counter.increment'), ('data', OrderedDict()), ('entity_id', 'counter.tv_stue_scene')])])])]), ('mode', 'single')]), OrderedDict([('id', '1609694201309'), ('alias', 'Ensis scene select changes'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'input_select.ensis_scene_select')])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_select.ensis_scene_select'), ('state', '1')])]), ('sequence', [OrderedDict([('scene', 'scene.ensis_dagtid')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_select.ensis_scene_select'), ('state', '2')])]), ('sequence', [OrderedDict([('scene', 'scene.ensis_ettermiddag')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_select.ensis_scene_select'), ('state', '3')])]), ('sequence', [OrderedDict([('scene', 'scene.ensis_kveld')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_select.ensis_scene_select'), ('state', '4')])]), ('sequence', [OrderedDict([('scene', 'scene.ensis_off')])])])]), ('default', [])])]), ('mode', 'single')]), OrderedDict([('id', '1609770288864'), ('alias', 'Office: Turn up heat before work'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '04:30')])]), ('condition', [OrderedDict([('condition', 'time'), ('weekday', ['mon', 'tue', 'wed', 'thu', 'fri'])])]), ('action', [OrderedDict([('service', 'climate.turn_on'), ('data', OrderedDict()), ('entity_id', 'climate.office')]), OrderedDict([('service', 'climate.set_temperature'), ('data', OrderedDict([('temperature', 22)])), ('entity_id', 'climate.office')])]), ('mode', 'single')]), OrderedDict([('id', '1609830681351'), ('alias', 'Nikko third button pressed (up right)'), ('description', '(top right)'), ('trigger', [OrderedDict([('device_id', 'f005c58fd7ffc3e8650ef080762e5e3f'), ('domain', 'hue'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_3')])]), ('condition', []), ('action', [OrderedDict([('scene', 'scene.ettermiddag_oppholdsrom')]), OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'time'), ('before', '18:00')])]), ('sequence', [OrderedDict([('service', 'input_select.select_option'), ('data', OrderedDict([('option', 2)])), ('entity_id', 'input_select.ensis_scene_select')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'time'), ('after', '18:00')])]), ('sequence', [OrderedDict([('service', 'input_select.select_option'), ('data', OrderedDict([('option', 3)])), ('entity_id', 'input_select.ensis_scene_select')])])])]), ('default', [])])]), ('mode', 'single')]), OrderedDict([('id', '1609938967611'), ('alias', 'Upload snapshot to Dropbox'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '03:00')])]), ('condition', []), ('action', [OrderedDict([('service', 'hassio.addon_stdin'), ('data', OrderedDict([('addon', '7be23ff5_dropbox_sync'), ('input', OrderedDict([('command', 'upload')]))]))])]), ('mode', 'single')]), OrderedDict([('id', '1609939819601'), ('alias', 'Automatic snapshot (full)'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '01:00')])]), ('condition', []), ('action', [OrderedDict([('service', 'hassio.snapshot_full'), ('data_template', OrderedDict([('name', "Backup_{{ now().strftime('%d-%m-%Y') }}\n")]))])]), ('mode', 'single')]), OrderedDict([('id', '1609956643895'), ('alias', 'Aqara Double Rocker first button'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'a01dd22d7a70fa6e4d5b5bb9327acc78'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_1')])]), ('condition', []), ('action', [OrderedDict([('type', 'turn_on'), ('device_id', '267e15b13fc8b670f286293dd636f7de'), ('entity_id', 'light.lightstrip_i_taket'), ('domain', 'light'), ('brightness_pct', 100)])]), ('mode', 'single')]), OrderedDict([('id', '1609956676111'), ('alias', 'Aqara Double Rocker second button'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'a01dd22d7a70fa6e4d5b5bb9327acc78'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_2')])]), ('condition', []), ('action', [OrderedDict([('type', 'turn_off'), ('device_id', '267e15b13fc8b670f286293dd636f7de'), ('entity_id', 'light.lightstrip_i_taket'), ('domain', 'light')])]), ('mode', 'single')]), OrderedDict([('id', '1610039322072'), ('alias', 'Aqara Double Rocker first button continously pressed'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'a01dd22d7a70fa6e4d5b5bb9327acc78'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_long_press'), ('subtype', 'button_1')])]), ('condition', []), ('action', [OrderedDict([('type', 'brightness_increase'), ('device_id', '267e15b13fc8b670f286293dd636f7de'), ('entity_id', 'light.lightstrip_i_taket'), ('domain', 'light')])]), ('mode', 'single')]), OrderedDict([('id', '1610039335457'), ('alias', 'New Automation'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'a01dd22d7a70fa6e4d5b5bb9327acc78'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_long_press'), ('subtype', 'button_2')])]), ('condition', []), ('action', [OrderedDict([('type', 'brightness_decrease'), ('device_id', '267e15b13fc8b670f286293dd636f7de'), ('entity_id', 'light.lightstrip_i_taket'), ('domain', 'light')])]), ('mode', 'single')]), OrderedDict([('id', '1610128464009'), ('alias', 'Spisetid Trym alert'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '18:35')])]), ('condition', []), ('action', [OrderedDict([('data', OrderedDict([('volume_level', 0.2)])), ('entity_id', 'media_player.sonos_beam'), ('service', 'media_player.volume_set')]), OrderedDict([('data', OrderedDict([('media_content_id', 'http://homeassistant.local:8123/local/file-sounds-1070-teleporter.mp3'), ('media_content_type', 'music')])), ('entity_id', 'media_player.sonos_beam'), ('service', 'media_player.play_media')])]), ('mode', 'single')]), OrderedDict([('id', '1610206887890'), ('alias', 'TV: Turn off lights in TV-stue when no one is in the basement'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'binary_sensor.hue_motion_sensor_1_motion'), ('to', 'off'), ('for', '00:30:00')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'media_player.lg_webos_smart_tv'), ('state', 'off')])]), ('action', [OrderedDict([('service', 'counter.configure'), ('data', OrderedDict([('value', 0)])), ('entity_id', 'counter.tv_stue_scene')])]), ('mode', 'single')]), OrderedDict([('id', '1610207051722'), ('alias', 'TV: Turn on lights in TV-stue when motion is detected'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'binary_sensor.hue_motion_sensor_1_motion'), ('to', 'on')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'media_player.lg_webos_smart_tv'), ('state', 'off')]), OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.tv_stue_lys'), ('state', 'off')])]), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'sun'), ('before', 'sunset')])]), ('sequence', [OrderedDict([('service', 'counter.configure'), ('data', OrderedDict([('value', 1)])), ('entity_id', 'counter.tv_stue_scene')])])])]), ('default', [OrderedDict([('service', 'counter.configure'), ('data', OrderedDict([('value', 2)])), ('entity_id', 'counter.tv_stue_scene')])])])]), ('mode', 'single')]), OrderedDict([('id', '1611152255664'), ('alias', 'Notify if CO2 levels are too high'), ('description', ''), ('trigger', [OrderedDict([('platform', 'numeric_state'), ('entity_id', 'sensor.waveplus_2930005949_co2_level'), ('for', '0:10:00'), ('above', 1100)])]), ('condition', []), ('action', [OrderedDict([('service', 'notify.mobile_app_samsung_s10'), ('data', OrderedDict([('title', 'CO2 levels high'), ('message', 'CO2 levels high')]))])]), ('mode', 'single')]), OrderedDict([('id', '1611228399148'), ('alias', 'Office: Toggle AC with button (double press)'), ('description', ''), ('trigger', [OrderedDict([('device_id', '76e5d48d96828819b6cfc2b31e49b032'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_double_press'), ('subtype', 'remote_button_double_press')])]), ('condition', []), ('action', [OrderedDict([('service_template', '{%- if is_state("climate.office", "off") -%}\n  climate.turn_on\n{%- else -%}\n  climate.turn_off\n{%- endif -%}\n'), ('data', OrderedDict([('entity_id', 'climate.office')]))])]), ('mode', 'single')]), OrderedDict([('id', '1611244321812'), ('alias', 'Blink lights before toy cleanup'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '17:50')])]), ('condition', []), ('action', [OrderedDict([('data', OrderedDict([('volume_level', 0.5)])), ('entity_id', 'media_player.sonos_beam'), ('service', 'media_player.volume_set')]), OrderedDict([('data', OrderedDict([('media_content_id', 'http://192.168.1.202:8123/local/file-sounds-1070-teleporter.mp3'), ('media_content_type', 'music')])), ('entity_id', 'media_player.sonos_beam'), ('service', 'media_player.play_media')]), OrderedDict([('service', 'light.turn_off'), ('data', OrderedDict()), ('entity_id', 'light.kjokken_lysbryter_gruppe')]), OrderedDict([('delay', OrderedDict([('seconds', 2)]))]), OrderedDict([('service', 'light.turn_on'), ('data', OrderedDict()), ('entity_id', 'light.kjokken_lysbryter_gruppe')]), OrderedDict([('delay', OrderedDict([('seconds', 2)]))]), OrderedDict([('scene', 'scene.ensis_ettermiddag')]), OrderedDict([('scene', 'scene.ettermiddag_oppholdsrom')])]), ('mode', 'single')]), OrderedDict([('id', '1611338496218'), ('alias', 'Aqara cube rotated right'), ('description', ''), ('trigger', [OrderedDict([('device_id', '60476b714923293383a1d0a08152e0e4'), ('domain', 'zha'), ('platform', 'device'), ('type', 'device_rotated'), ('subtype', 'right')])]), ('condition', []), ('action', [OrderedDict([('service', 'light.turn_on'), ('entity_id', 'light.hue_color_pendant_down_1'), ('data', OrderedDict([('brightness', "{% if is_state('light.hue_color_pendant_down_1', 'on') %}\n  {{ states.light.hue_color_pendant_down_1.attributes.brightness + 30 }}\n{% else %}\n  20\n{% endif %}\n")]))])]), ('mode', 'single')]), OrderedDict([('id', '1611338541165'), ('alias', 'Aqara cube rotated left'), ('description', ''), ('trigger', [OrderedDict([('device_id', '60476b714923293383a1d0a08152e0e4'), ('domain', 'zha'), ('platform', 'device'), ('type', 'device_rotated'), ('subtype', 'left')])]), ('condition', []), ('action', [OrderedDict([('service', 'light.turn_on'), ('data', OrderedDict([('brightness_step', -50)])), ('entity_id', 'light.hue_color_pendant_down_1')])]), ('mode', 'single')]), OrderedDict([('id', '1611694635107'), ('alias', 'Blink lights before toy cleanup (Duplicate)'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '17:50')])]), ('condition', []), ('action', [OrderedDict([('service', 'sonos.unjoin'), ('data', OrderedDict([('entity_id', 'media_player.sonos_beam')]))]), OrderedDict([('delay', OrderedDict([('seconds', 5)]))]), OrderedDict([('service', 'scene.create'), ('data', OrderedDict([('scene_id', 'before'), ('snapshot_entities', ['group.lights_to_blink'])]))]), OrderedDict([('data', OrderedDict([('volume_level', 0.3)])), ('entity_id', 'media_player.sonos_beam'), ('service', 'media_player.volume_set')]), OrderedDict([('data', OrderedDict([('media_content_id', 'http://192.168.1.202:8123/local/file-sounds-1070-teleporter.mp3'), ('media_content_type', 'music')])), ('entity_id', 'media_player.sonos_beam'), ('service', 'media_player.play_media')]), OrderedDict([('service', 'light.turn_off'), ('data', OrderedDict()), ('entity_id', 'group.lights_to_blink')]), OrderedDict([('delay', OrderedDict([('seconds', 1)]))]), OrderedDict([('scene', 'scene.before')])]), ('mode', 'single')]), OrderedDict([('id', '1611964061835'), ('alias', 'ZHA - Aqara Opple - Wireless Scene Switch 2 Button'), ('description', ''), ('use_blueprint', OrderedDict([('path', 'filip/zha-aqara-opple-2-button-rocker.yaml'), ('input', OrderedDict([('button_left_single_press', [OrderedDict([('service', 'light.toggle'), ('data', OrderedDict()), ('entity_id', 'group.light_tv_stue_group')])]), ('button_right_single_press', [OrderedDict([('scene', 'scene.tv_strikking')])]), ('remote', 'b294073f27cf36307c89366203ebab53')]))]))]), OrderedDict([('id', '1612030414705'), ('alias', 'AC: Basement above high (short)'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'binary_sensor.basement_above_high'), ('from', 'off'), ('to', 'on')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller'), ('state', 'on')])]), ('action', [OrderedDict([('service', 'climate.set_fan_mode'), ('entity_id', 'climate.daikinap49295'), ('data_template', OrderedDict([('fan_mode', '2')]))]), OrderedDict([('delay', OrderedDict([('hours', 0), ('minutes', 0), ('seconds', 5), ('milliseconds', 0)]))]), OrderedDict([('service', 'climate.set_temperature'), ('entity_id', 'climate.daikinap49295'), ('data_template', OrderedDict([('temperature', "{{ states('input_number.basement_setpoint') | float }}"), ('hvac_mode', 'heat')]))])]), ('mode', 'single')]), OrderedDict([('id', '1612334389922'), ('alias', 'Office: Turn down heat in the afternoon'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '16:00')])]), ('condition', [OrderedDict([('condition', 'time'), ('weekday', ['mon', 'tue', 'wed', 'thu', 'fri'])])]), ('action', [OrderedDict([('service', 'climate.set_temperature'), ('data', OrderedDict([('temperature', 18)])), ('entity_id', 'climate.office')]), OrderedDict([('service', 'climate.turn_on'), ('data', OrderedDict()), ('entity_id', 'climate.office')])]), ('mode', 'single')]), OrderedDict([('id', '1612458774086'), ('alias', 'Change scenes when sun sets +2h'), ('description', ''), ('trigger', [OrderedDict([('platform', 'sun'), ('event', 'sunset'), ('offset', '02:00')])]), ('condition', []), ('action', [OrderedDict([('service', 'scene.turn_on'), ('data', OrderedDict([('entity_id', 'scene.ettermiddag_oppholdsrom'), ('transition', 30)]))]), OrderedDict([('service', 'input_select.select_option'), ('data', OrderedDict([('option', 3)])), ('entity_id', 'input_select.ensis_scene_select')])]), ('mode', 'single')]), OrderedDict([('id', '1612635053505'), ('alias', 'AC: Toggle HA control of Daikin'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller')])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller'), ('state', 'on')])]), ('sequence', [OrderedDict([('service', 'script.enable_ha_control_of_daikin'), ('data', OrderedDict())])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller'), ('state', 'off')])]), ('sequence', [OrderedDict([('service', 'script.disable_ha_control_of_daikin'), ('data', OrderedDict())])])])]), ('default', [])])]), ('mode', 'single')]), OrderedDict([('id', '1612809526749'), ('alias', 'AC: Toggle offset with button'), ('description', ''), ('trigger', [OrderedDict([('device_id', '4ccb58c87591101b08b2901dec355a72'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'remote_button_short_press')])]), ('condition', []), ('action', [OrderedDict([('service', 'input_boolean.toggle'), ('data', OrderedDict()), ('entity_id', 'input_boolean.ac_offset_enabled')]), OrderedDict([('service', 'notify.mobile_app_samsung_s10'), ('data', OrderedDict([('message', "AC offset {{states('input_boolean.ac_offset_enabled')}}")]))]), OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_offset_enabled'), ('state', 'on')])]), ('sequence', [OrderedDict([('service', 'media_player.volume_set'), ('data', OrderedDict([('volume_level', 0.3)])), ('entity_id', 'media_player.kjokken, media_player.sonos_beam')]), OrderedDict([('service', 'media_player.play_media'), ('data', OrderedDict([('media_content_id', 'http://192.168.1.202:8123/local/hot.mp3'), ('media_content_type', 'music')])), ('entity_id', 'media_player.kjokken, media_player.sonos_beam')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_offset_enabled'), ('state', 'off')])]), ('sequence', [OrderedDict([('service', 'media_player.volume_set'), ('data', OrderedDict([('volume_level', 0.3)])), ('entity_id', 'media_player.kjokken, media_player.sonos_beam')]), OrderedDict([('service', 'tts.google_translate_say'), ('data', OrderedDict([('entity_id', 'media_player.kjokken, media_player.sonos_beam'), ('message', "Air condition offset turned {{states('input_boolean.ac_offset_enabled')}}"), ('language', 'en')]))])])])]), ('default', [])])]), ('mode', 'single')]), OrderedDict([('id', '1612813491140'), ('alias', 'AC: Disable offset in the evening'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '17:00')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_offset_enabled'), ('state', 'on')])]), ('action', [OrderedDict([('service', 'input_boolean.turn_off'), ('data', OrderedDict()), ('entity_id', 'input_boolean.ac_offset_enabled')])]), ('mode', 'single')]), OrderedDict([('id', '1612936279502'), ('alias', 'AC: Enable auto at night'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '23:00')])]), ('condition', []), ('action', [OrderedDict([('service', 'input_boolean.turn_off'), ('data', OrderedDict()), ('entity_id', 'input_boolean.ac_styring_kjeller')]), OrderedDict([('delay', OrderedDict([('hours', 0), ('minutes', 0), ('seconds', 10), ('milliseconds', 0)]))]), OrderedDict([('service', 'climate.set_fan_mode'), ('data', OrderedDict([('fan_mode', 'Auto')])), ('entity_id', 'climate.daikinap49295')]), OrderedDict([('delay', OrderedDict([('seconds', 5)]))]), OrderedDict([('service', 'climate.set_temperature'), ('data', OrderedDict([('temperature', 20), ('hvac_mode', 'heat')])), ('entity_id', 'climate.daikinap49295')])]), ('mode', 'single')]), OrderedDict([('id', '1612936308339'), ('alias', 'AC: Enable HA control in the morning'), ('description', ''), ('trigger', [OrderedDict([('platform', 'time'), ('at', '06:30')])]), ('condition', []), ('action', [OrderedDict([('service', 'input_boolean.turn_on'), ('data', OrderedDict()), ('entity_id', 'input_boolean.ac_styring_kjeller')])]), ('mode', 'single')]), OrderedDict([('id', '1612939611690'), ('alias', 'AC: Basement below low (long)'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'binary_sensor.basement_below_low'), ('from', 'off'), ('to', 'on'), ('for', '00:10:00')])]), ('condition', [OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.ac_styring_kjeller'), ('state', 'on')])]), ('action', [OrderedDict([('service', 'climate.set_fan_mode'), ('entity_id', 'climate.daikinap49295'), ('data', OrderedDict([('fan_mode', '5')]))]), OrderedDict([('delay', OrderedDict([('hours', 0), ('minutes', 0), ('seconds', 5), ('milliseconds', 0)]))]), OrderedDict([('service', 'climate.set_temperature'), ('entity_id', 'climate.daikinap49295'), ('data_template', OrderedDict([('temperature', "{{ states('input_number.basement_setpoint') | float }}"), ('hvac_mode', 'heat')]))])]), ('mode', 'single')]), OrderedDict([('id', '1613201453232'), ('alias', 'Tradfri controller dim down'), ('description', ''), ('trigger', [OrderedDict([('device_id', '11c3f6e438d3d45bfb84010464a6c765'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'dim_down')])]), ('condition', []), ('action', [OrderedDict([('type', 'brightness_decrease'), ('device_id', '00d7319f71f6c7209efe34d48c6723b8'), ('entity_id', 'light.ledvance_rgb_e27_3'), ('domain', 'light')])]), ('mode', 'single')]), OrderedDict([('id', '1613201507945'), ('alias', 'Tradfri controller dim up'), ('description', ''), ('trigger', [OrderedDict([('device_id', '11c3f6e438d3d45bfb84010464a6c765'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'dim_up')])]), ('condition', []), ('action', [OrderedDict([('type', 'brightness_increase'), ('device_id', '00d7319f71f6c7209efe34d48c6723b8'), ('entity_id', 'light.ledvance_rgb_e27_3'), ('domain', 'light')])]), ('mode', 'single')]), OrderedDict([('id', '1613241973290'), ('alias', 'Niko fourth button pressed (down right)'), ('description', '(bottom right)'), ('trigger', [OrderedDict([('device_id', 'f005c58fd7ffc3e8650ef080762e5e3f'), ('domain', 'hue'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_4')])]), ('condition', []), ('action', [OrderedDict([('scene', 'scene.nattlys_oppholdsrom')])]), ('mode', 'single')]), OrderedDict([('id', '1613327650529'), ('alias', 'TV: Scene select changes'), ('description', ''), ('trigger', [OrderedDict([('platform', 'state'), ('entity_id', 'counter.tv_stue_scene')])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '0')])]), ('sequence', [OrderedDict([('service', 'homeassistant.turn_off'), ('data', OrderedDict()), ('entity_id', 'group.light_tv_stue_group')]), OrderedDict([('service', 'input_boolean.turn_off'), ('data', OrderedDict()), ('entity_id', 'input_boolean.tv_stue_lys')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '1')])]), ('sequence', [OrderedDict([('scene', 'scene.tv_stue_dagtid')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '2')])]), ('sequence', [OrderedDict([('scene', 'scene.tv_stue_kveld')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '3')])]), ('sequence', [OrderedDict([('scene', 'scene.tv_strikking')])])]), OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '4')])]), ('sequence', [OrderedDict([('scene', 'scene.tv_titting')])])])]), ('default', [])]), OrderedDict([('condition', 'not'), ('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '0')])])]), OrderedDict([('service', 'input_boolean.turn_on'), ('data', OrderedDict()), ('entity_id', 'input_boolean.tv_stue_lys')])]), ('mode', 'single')]), OrderedDict([('id', '1613328654490'), ('alias', 'TV: TRADFRI "turn off" button'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'c85981d6e2ee257ef7a01695b2c94e76'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'turn_off')])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'counter.tv_stue_scene'), ('state', '0')])]), ('sequence', [OrderedDict([('service', 'counter.configure'), ('entity_id', 'counter.tv_stue_scene'), ('data', OrderedDict([('value', 4)]))])])])]), ('default', [OrderedDict([('service', 'counter.decrement'), ('data', OrderedDict()), ('entity_id', 'counter.tv_stue_scene')])])])]), ('mode', 'single')]), OrderedDict([('id', '1613391351029'), ('alias', 'Office: Heat timer ends'), ('description', ''), ('trigger', [OrderedDict([('platform', 'event'), ('event_data', OrderedDict([('entity_id', 'timer.office_oven_timer')])), ('event_type', 'timer.finished')]), OrderedDict([('platform', 'event'), ('event_type', 'timer.cancelled'), ('event_data', OrderedDict([('entity_id', 'timer.office_oven_timer')]))])]), ('condition', []), ('action', [OrderedDict([('service', 'switch.turn_off'), ('data', OrderedDict()), ('entity_id', 'switch.aqara_plug_on_off')]), OrderedDict([('condition', 'state'), ('entity_id', 'input_boolean.office_ac_previous_state'), ('state', 'on')]), OrderedDict([('service', 'climate.turn_on'), ('data', OrderedDict()), ('entity_id', 'climate.office')])]), ('mode', 'single')]), OrderedDict([('id', '1613732752113'), ('alias', 'Office: Start heat timer with button'), ('description', ''), ('trigger', [OrderedDict([('device_id', '76e5d48d96828819b6cfc2b31e49b032'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'remote_button_short_press')])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'timer.office_oven_timer'), ('state', 'idle')])]), ('sequence', [OrderedDict([('service', 'timer.start'), ('data', OrderedDict([('duration', '00:05:00')])), ('entity_id', 'timer.office_oven_timer')])])])]), ('default', [OrderedDict([('service', 'timer.cancel'), ('data', OrderedDict()), ('entity_id', 'timer.office_oven_timer')])])])]), ('mode', 'single')]), OrderedDict([('id', '1613736852771'), ('alias', 'Office: Heat timer starts'), ('description', ''), ('trigger', [OrderedDict([('platform', 'event'), ('event_type', 'timer.started'), ('event_data', OrderedDict([('entity_id', 'timer.office_oven_timer')]))])]), ('condition', []), ('action', [OrderedDict([('choose', [OrderedDict([('conditions', [OrderedDict([('condition', 'state'), ('entity_id', 'climate.office'), ('state', 'heat')])]), ('sequence', [OrderedDict([('service', 'input_boolean.turn_on'), ('data', OrderedDict()), ('entity_id', 'input_boolean.office_ac_previous_state')])])])]), ('default', [OrderedDict([('service', 'input_boolean.turn_off'), ('data', OrderedDict()), ('entity_id', 'input_boolean.office_ac_previous_state')])])]), OrderedDict([('service', 'climate.turn_off'), ('data', OrderedDict()), ('entity_id', 'climate.office')]), OrderedDict([('service', 'switch.turn_on'), ('data', OrderedDict()), ('entity_id', 'switch.aqara_plug_on_off')])]), ('mode', 'single')]), OrderedDict([('id', '1613757707840'), ('alias', 'Change scenes when sun sets -2h'), ('description', ''), ('trigger', [OrderedDict([('platform', 'sun'), ('event', 'sunset'), ('offset', '-02:00:00')])]), ('condition', []), ('action', [OrderedDict([('service', 'input_select.select_option'), ('data', OrderedDict([('option', 2)])), ('entity_id', 'input_select.ensis_scene_select')])]), ('mode', 'single')]), OrderedDict([('id', '1613823521131'), ('alias', 'Aqara Mini Button Single Press (temperature)'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'fe3b2ad1137cfb35ad8d9b9148f274d8'), ('domain', 'zha'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'remote_button_short_press')])]), ('condition', []), ('action', [OrderedDict([('condition', 'time'), ('before', '18:30')]), OrderedDict([('service', 'media_player.volume_set'), ('data', OrderedDict([('volume_level', 0.4)])), ('entity_id', 'media_player.kjokken, media_player.sonos_beam')]), OrderedDict([('service', 'tts.google_translate_say'), ('data', OrderedDict([('message', "Temperaturen er {{states('sensor.waveplus_2930005949_temperature') | int}} komma {{(((states('sensor.waveplus_2930005949_temperature') | float) - (states('sensor.waveplus_2930005949_temperature') | int))*100) | int}} grader."), ('language', 'no'), ('entity_id', 'media_player.kjokken, media_player.sonos_beam'), ('cache', False)]))])]), ('mode', 'single')]), OrderedDict([('id', '1614539122941'), ('alias', 'Basement corridor lights ON'), ('description', ''), ('trigger', [OrderedDict([('device_id', 'f005c58fd7ffc3e8650ef080762e5e3f'), ('domain', 'hue'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_1')]), OrderedDict([('device_id', 'f005c58fd7ffc3e8650ef080762e5e3f'), ('domain', 'hue'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_3')]), OrderedDict([('device_id', 'f005c58fd7ffc3e8650ef080762e5e3f'), ('domain', 'hue'), ('platform', 'device'), ('type', 'remote_button_short_press'), ('subtype', 'button_4')])]), ('condition', []), ('action', [OrderedDict([('service', 'light.turn_on'), ('data', OrderedDict([('brightness', 255)])), ('entity_id', 'light.gang_kjeller')])]), ('mode', 'single')])]

Successful config (partial)
  automation:
cybermaniapt commented 3 years ago

Just checked from core-2021.2.3 against 2021.3.4, with the same error

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
...

Same here

papagooo commented 3 years ago

same here with 2021.3.4

ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts. We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default. requests 2.25.1 requires idna<3,>=2.5, but you'll have idna 3.1 which is incompatible. [12:07:51] INFO: Installed Home Assistant 2021.3.4 [12:07:51] INFO: Making a copy of your configuration for checking... [12:07:55] INFO: Checking your configuration against this version... [12:15:41] ERROR: The configuration check did not pass! [12:15:41] ERROR: See the output below for more details. Testing configuration at /tmp/config ERROR:homeassistant.helpers.check_config:Unexpected error validating config Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/check_config.py", line 147, in async_check_ha_config_file await config_validator.async_validate_config( # type: ignore File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 103, in async_validate_config await asyncio.gather( File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 85, in _try_async_validate_config_item config = await async_validate_config_item(hass, config, full_config) File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 63, in async_validate_config_item config[CONF_TRIGGER] = await async_validate_trigger_config( File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config conf = await platform.async_validate_trigger_config(hass, conf) File "/usr/local/lib/python3.8/site-packages/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config return await getattr(platform, "async_validate_trigger_config")(hass, config) [12:15:41] INFO: The full output has been written to /share/check_config.txt s6-svscanctl: fatal: unable to control /var/run/s6/services: supervisor not listening [cont-finish.d] executing container finish scripts... [cont-finish.d] done. [s6-finish] waiting for services. [s6-finish] sending all processes the TERM signal. [s6-finish] sending all processes the KILL signal and exiting.

cybermaniapt commented 3 years ago

Just to confirm. Even with the error, anyone tried to update? I'm wondering if the add-on is providing a false positive...

joelmoses commented 3 years ago

It is indeed providing a false positive (or negative, if what you're trying to determine is a failure to load after upgrade). All upgrades after the errors above work for me just fine.

Again, this seems to be an error in the pip dependency handling that this addon uses. Likely due to its composition being based on a very early base-image.

FSund commented 3 years ago

Just to confirm. Even with the error, anyone tried to update? I'm wondering if the add-on is providing a false positive...

I did try updating to 2021.3.2, and got some strange messages and errors during the upgrade. Everything completed in the end, and seemed to work fine, but I felt a bit uneasy with all the strange errors, so I've since restored a backup of core-2021.2.3. I will probably stay on that version until I don't get any errors from check_config.

papagooo commented 3 years ago

what about fixing the config check addon?

Am 15.03.2021 um 22:56 schrieb cybermaniapt @.***>:

 Just to confirm. Even with the error, anyone tried to update? I'm wondering if the add-on is providing a false positive...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

loeffen commented 3 years ago

indeed, it would be nice if the cause of our problem could be addressed

Pe-MaKer commented 3 years ago

Is there any chance to get this fixed prior 2021.4.0?

jantinus commented 3 years ago

https://github.com/home-assistant/core/issues/47659

I've had the same issue (see link above for my log output). It seemed to be connected to my automations.yaml file. When I excluded automations that contained "platform: deconz" the configuration check did pass (see also the issue above).

When updating the errors never actually appeared in Home Assistant. So, it is safe to update.

defcon24bit commented 3 years ago

I have the same false positive since core-2021.3.x.
Upgrade works without errors.

Logs while on core-2021.4.2 -> check to newest version core-2021.4.3

1) GUI Log

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] udev.sh: executing... 
bind failed: Read-only file system
error binding udev control socket
[16:28:32] INFO: Update udev information
[cont-init.d] udev.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[16:28:32] INFO: Setup udev devices
[16:28:32] INFO: Don't worry, this temporary installation is not overwriting your current one.
[16:28:32] INFO: Installing Home Assistant: latest...
[16:28:32] INFO: Please be patient, this might take a few minutes...
[16:28:57] INFO: Installed Home Assistant 2021.4.3
[16:28:57] INFO: Making a copy of your configuration for checking...
[16:28:57] INFO: Checking your configuration against this version...
[16:30:03] ERROR: The configuration check did not pass!
[16:30:03] ERROR: See the output below for more details.
Testing configuration at /tmp/config
ERROR:homeassistant.helpers.check_config:Unexpected error validating config
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/check_config.py", line 153, in async_check_ha_config_file
    await config_validator.async_validate_config(  # type: ignore
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 124, in async_validate_config
    await asyncio.gather(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 101, in _try_async_validate_config_item
    config = await async_validate_config_item(hass, config, full_config)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 69, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config
    return await getattr(platform, "async_validate_trigger_config")(hass, config)
[16:30:03] INFO: The full output has been written to /share/check_config.txt
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

2) /share/check_config.txt

INFO:homeassistant.util.package:Attempting install of colorlog==4.8.0
Testing configuration at /tmp/config
INFO:homeassistant.util.package:Attempting install of hass-nabucasa==0.42.0
INFO:homeassistant.util.package:Attempting install of home-assistant-frontend==20210407.3
INFO:homeassistant.util.package:Attempting install of scapy==2.4.4
INFO:homeassistant.util.package:Attempting install of aiodiscover==1.3.3
INFO:homeassistant.util.package:Attempting install of PyNaCl==1.3.0
INFO:homeassistant.util.package:Attempting install of emoji==1.2.0
INFO:homeassistant.util.package:Attempting install of distro==1.5.0
INFO:homeassistant.util.package:Attempting install of defusedxml==0.6.0
INFO:homeassistant.util.package:Attempting install of netdisco==2.8.2
INFO:homeassistant.util.package:Attempting install of async-upnp-client==0.16.0
INFO:homeassistant.util.package:Attempting install of pillow==8.1.2
INFO:homeassistant.util.package:Attempting install of sqlalchemy==1.3.23
INFO:homeassistant.util.package:Attempting install of aiohttp_cors==0.7.0
INFO:homeassistant.util.package:Attempting install of aiohue==2.1.0
ERROR:homeassistant.helpers.check_config:Unexpected error validating config
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/check_config.py", line 153, in async_check_ha_config_file
    await config_validator.async_validate_config(  # type: ignore
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 124, in async_validate_config
    await asyncio.gather(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 101, in _try_async_validate_config_item
    config = await async_validate_config_item(hass, config, full_config)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/automation/config.py", line 69, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/trigger.py", line 49, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/device_automation/trigger.py", line 21, in async_validate_trigger_config
    return await getattr(platform, "async_validate_trigger_config")(hass, config)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/components/hue/device_trigger.py", line 109, in async_validate_trigger_config
    device_registry = await hass.helpers.device_registry.async_get_registry()
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/device_registry.py", line 638, in async_get_registry
    return async_get(hass)
  File "/usr/local/lib/python3.8/site-packages/homeassistant/helpers/device_registry.py", line 622, in async_get
    return cast(DeviceRegistry, hass.data[DATA_REGISTRY])
KeyError: 'device_registry'
INFO:homeassistant.util.package:Attempting install of spotipy==2.17.1
INFO:homeassistant.util.package:Attempting install of mutagen==1.45.1
INFO:homeassistant.util.package:Attempting install of gTTS==2.2.2
Failed config
  automation: 
    - Unexpected error calling config validator: 'device_registry'
    - [OrderedDict([('id', '1562406644079'), ('alias', 'hassio_update_available'), ('description', ''), ('trigger',
...
('entity_id', 'light.dinner')])]), ('mode', 'single')])]

Successful config (partial)
  automation:

Very similar to @FSund 's comment

rpitera commented 3 years ago

I'm getting the same error, but I'm not sure whether it's a false positive - at least in my case. I tried upgrading from core-2021.3.4 to 2012.4.3 and when it came back up the majority of my entities were gone. Also lost ZWave (legacy). Waited around in case it was the db updates, Tried a couple of restarts and even a couple of VM restarts (running on VBox). No luck, but I ran a VBox snap just before upgrading so I ended up rolling back and then running the Check Config add-on to see if I could figure out what was causing the issue. Instead of helpful info, I got the same error about idna that's showing up in this thread.

I've run the config checker a number of times in the past and never saw this message before.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

krkeegan commented 3 years ago

Still getting a similar error with version 3.7.1 of the checker when upgrading to version 2021.5.3 of core.

I am on a full HomeAssistant Supervised install on an intel NUC.

...
[12:31:30] INFO: Installed Home Assistant 2021.5.3
[12:31:30] INFO: Making a copy of your configuration for checking...
[12:31:31] INFO: Checking your configuration against this version...
[12:33:27] ERROR: The configuration check did not pass!
[12:33:27] ERROR: See the output below for more details.
Testing configuration at /tmp/config
Fatal error while loading config: (idna 3.1 (/usr/local/lib/python3.8/site-packages), Requirement.parse('idna<3,>=2.5'), {'requests'})
Failed config
  General Errors: 
    - (idna 3.1 (/usr/local/lib/python3.8/site-packages), Requirement.parse('idna<3,>=2.5'), {'requests'})

Successful config (partial)
[12:33:27] INFO: The full output has been written to /share/check_config.txt
ludeeus commented 3 years ago

Seems only idna is left here, which is tracked in https://github.com/home-assistant/addons/issues/2078