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

Fix broken configs with non-existent components #5993

Merged
merged 1 commit into from
Dec 22, 2023
Merged

Conversation

jesserockz
Copy link
Member

@jesserockz jesserockz commented Dec 22, 2023

What does this implement/fix?

Fixes a regression from #5139

ERROR Unexpected exception while reading configuration:
Traceback (most recent call last):
  File "/home/jesse/workspace/esphome/esphome/venv/bin/esphome", line 33, in <module>
    sys.exit(load_entry_point('esphome', 'console_scripts', 'esphome')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jesse/workspace/esphome/esphome/esphome/__main__.py", line 1041, in main
    return run_esphome(sys.argv)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/jesse/workspace/esphome/esphome/esphome/__main__.py", line 1019, in run_esphome
    config = read_config(dict(args.substitution) if args.substitution else {})
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jesse/workspace/esphome/esphome/esphome/config.py", line 1062, in read_config
    res = load_config(command_line_substitutions)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jesse/workspace/esphome/esphome/esphome/config.py", line 916, in load_config
    return _load_config(command_line_substitutions)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jesse/workspace/esphome/esphome/esphome/config.py", line 904, in _load_config
    result = validate_config(config, command_line_substitutions)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jesse/workspace/esphome/esphome/esphome/config.py", line 832, in validate_config
    result.run_validation_steps()
  File "/home/jesse/workspace/esphome/esphome/esphome/config.py", line 143, in run_validation_steps
    task.step.run(self)
  File "/home/jesse/workspace/esphome/esphome/esphome/config.py", line 318, in run
    if component.multi_conf_no_default and isinstance(self.conf, core.AutoLoad):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'multi_conf_no_default'

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Other

Related issue or feature (if applicable): fixes

Pull request in esphome-docs with documentation (if applicable): esphome/esphome-docs#

Test Environment

  • ESP32
  • ESP32 IDF
  • ESP8266
  • RP2040
  • BK72xx
  • RTL87xx

Example entry for config.yaml:

# Example config.yaml

Checklist:

  • The code change is tested and works locally.
  • Tests have been added to verify that the new code works (under tests/ folder).

If user exposed functionality or configuration variables are added/changed:

@jesserockz jesserockz requested a review from a team as a code owner December 22, 2023 07:35
@jesserockz jesserockz added this to the 2023.12.3 milestone Dec 22, 2023
@jesserockz jesserockz merged commit 46c4c61 into dev Dec 22, 2023
50 checks passed
@jesserockz jesserockz deleted the jesserockz-2023-445 branch December 22, 2023 08:10
@jesserockz jesserockz mentioned this pull request Dec 22, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Dec 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants