Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to Import Blueprints #71396

Closed
taljishi opened this issue May 6, 2022 · 5 comments · Fixed by #71441 or #71505
Closed

Unable to Import Blueprints #71396

taljishi opened this issue May 6, 2022 · 5 comments · Fixed by #71441 or #71505
Milestone

Comments

@taljishi
Copy link

taljishi commented May 6, 2022

The problem

When trying to install a blueprint, I unable to import it to my instance and get a “unknown error”

What version of Home Assistant Core has the issue?

2022.5.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Core

Integration causing the issue

Blueprint

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.websocket_api.http.connection
Source: util/yaml/dumper.py:40 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 9:59:51 AM (3 occurrences) 
Last logged: 10:55:38 AM

[281473022819968] Error handling message: Unknown error (unknown_error)
[281473195689248] Error handling message: Unknown error (unknown_error)
[281472622803600] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/websocket_api.py", line 125, in ws_save_blueprint
    await domain_blueprints[domain].async_add_blueprint(blueprint, path)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 327, in async_add_blueprint
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 318, in _create_file
    path.write_text(blueprint.yaml(), encoding="utf-8")
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 107, in yaml
    return yaml.dump(self.data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 13, in dump
    return yaml.safe_dump(
  File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 269, in safe_dump
    return dump_all([data], stream, Dumper=SafeDumper, **kwds)
  File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 241, in dump_all
    dumper.represent(data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 27, in represent
    node = self.represent_data(data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 207, in represent_dict
    return self.represent_mapping('tag:yaml.org,2002:map', data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 118, in represent_mapping
    node_value = self.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 58, in represent_data
    node = self.yaml_representers[None](self, data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 231, in represent_undefined
    raise RepresenterError("cannot represent an object", data)
yaml.representer.RepresenterError: ('cannot represent an object', <NumberSelectorMode.SLIDER: 'slider'>)

Additional information

I first noticed the issue in the beta versions of 2022.5

@matusk
Copy link

matusk commented May 6, 2022

I have same issue (NumberSelectorMode.SLIDER) with this blueprint https://github.com/EPMatt/awesome-ha-blueprints/blob/main/blueprints/controllers/ikea_e1743/ikea_e1743.yaml

HA 2022.5.1

Source: util/yaml/dumper.py:40
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 10:02:27 (2 occurrences)
Last logged: 13:02:33

[139852349793424] Error handling message: Unknown error (unknown_error)
[139852102154224] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/websocket_api.py", line 125, in ws_save_blueprint
    await domain_blueprints[domain].async_add_blueprint(blueprint, path)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 327, in async_add_blueprint
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 318, in _create_file
    path.write_text(blueprint.yaml(), encoding="utf-8")
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 107, in yaml
    return yaml.dump(self.data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 13, in dump
    return yaml.safe_dump(
  File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 269, in safe_dump
    return dump_all([data], stream, Dumper=SafeDumper, **kwds)
  File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 241, in dump_all
    dumper.represent(data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 27, in represent
    node = self.represent_data(data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 207, in represent_dict
    return self.represent_mapping('tag:yaml.org,2002:map', data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 118, in represent_mapping
    node_value = self.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 58, in represent_data
    node = self.yaml_representers[None](self, data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 231, in represent_undefined
    raise RepresenterError("cannot represent an object", data)
yaml.representer.RepresenterError: ('cannot represent an object', <NumberSelectorMode.SLIDER: 'slider'>)

@MHultman

This comment was marked as off-topic.

@aderusha
Copy link

aderusha commented May 6, 2022

Confirmed here, a large number of the blueprints for my HASPone project are now all failing on import. Issue appears to be related to number selectors which use the slider.

@taljishi
Copy link
Author

taljishi commented May 7, 2022

The issue was resolved when importing this blueprint. However, it failed when importing this one.

This is error log:

Logger: homeassistant.components.websocket_api.http.connection
Source: util/yaml/dumper.py:40 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 9:42:10 AM (3 occurrences) 
Last logged: 9:43:00 AM

[281473054021904] Error handling message: Unknown error (unknown_error)
[281472803330608] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/websocket_api.py", line 125, in ws_save_blueprint
    await domain_blueprints[domain].async_add_blueprint(blueprint, path)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 327, in async_add_blueprint
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 318, in _create_file
    path.write_text(blueprint.yaml(), encoding="utf-8")
  File "/usr/src/homeassistant/homeassistant/components/blueprint/models.py", line 107, in yaml
    return yaml.dump(self.data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 13, in dump
    return yaml.safe_dump(
  File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 269, in safe_dump
    return dump_all([data], stream, Dumper=SafeDumper, **kwds)
  File "/usr/local/lib/python3.9/site-packages/yaml/__init__.py", line 241, in dump_all
    dumper.represent(data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 27, in represent
    node = self.represent_data(data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 207, in represent_dict
    return self.represent_mapping('tag:yaml.org,2002:map', data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 118, in represent_mapping
    node_value = self.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 48, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 56, in <lambda>
    lambda dumper, value: represent_odict(dumper, "tag:yaml.org,2002:map", value),
  File "/usr/src/homeassistant/homeassistant/util/yaml/dumper.py", line 40, in represent_odict
    node_value = dumper.represent_data(item_value)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 58, in represent_data
    node = self.yaml_representers[None](self, data)
  File "/usr/local/lib/python3.9/site-packages/yaml/representer.py", line 231, in represent_undefined
    raise RepresenterError("cannot represent an object", data)
yaml.representer.RepresenterError: ('cannot represent an object', <TextSelectorType.SEARCH: 'search'>)

@aderusha
Copy link

aderusha commented May 7, 2022

I can confirm the same behavior @taljishi is reporting when trying to import from the example given.

@balloob Sorry for the ping, but I want to make sure you caught this one. The fix in 71441 doesn't appear to have handled all of the problems. In this case, a text selector of type search is throwing a similar error.

@balloob balloob reopened this May 7, 2022
@balloob balloob mentioned this issue May 7, 2022
22 tasks
@github-actions github-actions bot locked and limited conversation to collaborators Jun 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants