Commit #3783 on the Dev branch has prevented the HaSS service from launching for me.
I get:
"The following platforms contain invalid configuration: automation"
Repeated in the log file on service start.
This is how the automation portion of my config is constructed:
# INCLUDE DIR
automation: !include_dir_list automation
automation location-actions: !include_dir_list automation/location-actions
automation location-actions-lighting: !include_dir_list automation/location-actions/location-actions-lighting
automation location-notices: !include_dir_list automation/location-notices
automation lighting-actions: !include_dir_list automation/lighting-actions
I thought it may have been something to do with multiple inclusions, so I attempted commenting out all but the first and the service still produced the same errors.
Beyond this, I haven't had time to troubleshoot further. The issue may be specific to the use of !include_dir_list automation, or perhaps something deeper like having subfolders in your automation directory path.
Will report back more detailed information if I have time to continue investigation.
Thanks!
You should only need the first line.
Do you mind posting a full tree of all files under this directory?
@tylerstraub as @kellerza mentioned - it would be good to see tree executed at the root of automation.
However, subfolders shouldn't matter here - it will simply recurse into them and pick them up as if they were all on one level, atleast that's what I saw in the tests.
@kellerza @lwis no problem! Thanks for the help!
fyi: I am currently using a pattern of creating a folder named "disabled" to store scripts that were either unused, broken or not needed to avoid deletion of work that I may build upon later. Maybe these scripts are now being passed into the compiler with the recent change?
hass@KUMA-NOOMISO:~/.homeassistant/automation$ tree
.
โโโ disabled
โย ย โโโ owntracks_refresh.yaml
โย ย โโโ template_test.yaml
โโโ lighting-actions
โย ย โโโ disabled
โย ย โโโ bedroom_bulb.yaml
โย ย โโโ bedroom_desk_lamp.yaml
โย ย โโโ bedroom_mirror_lightstrip.yaml
โย ย โโโ frontroom_lights_default.yaml
โย ย โโโ kitchen_paper_lantern.yaml
โย ย โโโ kitchen_sink_bulb.yaml
โย ย โโโ living_room_bloom_left.yaml
โย ย โโโ living_room_bloom_right.yaml
โย ย โโโ makeup_station_bulb.yaml
โย ย โโโ piano_lamp.yaml
โโโ location-actions
โย ย โโโ arm_stereo.yaml
โย ย โโโ disable_arrival_trigger.yaml
โย ย โโโ location-actions-lighting
โย ย โย ย โโโ all_lights_default_on_sunset.yaml
โย ย โย ย โโโ all_lights_dimmed_at_time.yaml
โย ย โย ย โโโ polerbear_preslight_off.yaml
โย ย โย ย โโโ polerbear_preslight_on.yaml
โย ย โย ย โโโ shirokuma_preslight_off.yaml
โย ย โย ย โโโ shirokuma_preslight_on.yaml
โย ย โโโ power_off_on_not_home.yaml
โย ย โโโ set_arrival_trigger.yaml
โย ย โโโ shirokuma_leaves_morning.yaml
โย ย โโโ trigger_authorized_arrival.yaml
โย ย โโโ trigger_unauthorized_arrival.yaml
โโโ location-notices
โย ย โโโ motion_notice.yaml
โย ย โโโ polerbear_enters_home.yaml
โย ย โโโ polerbear_enters_round1.yaml
โย ย โโโ polerbear_leaves_downtown_la.yaml
โย ย โโโ polerbear_leaves_home.yaml
โย ย โโโ polerbear_leaves_metro.yaml
โย ย โโโ shirokuma_enters_home.yaml
โย ย โโโ shirokuma_leaves_csulb.yaml
โย ย โโโ shirokuma_leaves_home.yaml
โย ย โโโ shirokuma_leaves_tlc.yaml
โโโ okinasai_actions.yaml
โโโ okinasai_trigger_end.yaml
โโโ okinasai_trigger_sleepin.yaml
โโโ okinasai_trigger.yaml
โโโ oyasumi_actions.yaml
โโโ zwave_heal.yaml
โโโ zwave_reset.yaml
@tylerstraub Thanks! That's exactly what happening, all of those scripts ending in .yaml will be loaded - could you try moving/renaming any scripts that are in disabled folders?
@kellerza Maybe we should consider adding an exclusion for 'disabled' or . directories?
Sure, I will give that a try when I have a moment to pause from work and report back.
@kellerza some means of folder exclusion would be really useful for ease of workflow in some cases.
@lwis that did it!
Removing the disabled folders from the automation tree and eliminating all but the single automation definition from my Config.yaml brought everything back online with the latest HEAD.
Cheers! Thanks again.
You cant have configurable exclusion though.
Suggest exclusions based on folders and files starting with . and _. For Windows users . is a pita, and Linux users understand .
Edit: on second thought, simply chaning the extention to not be .yaml should be good enough. Say .badyaml or .disabled