Multiple "Configuration.yaml" - Right Location?

Dear community,
I’m so confused. Which is the right location of the configuration.yaml?

I do have five (?!) configuration.yaml files:

After Installing the “file editor” add-on the configuration.yaml in the frontend is in /usr/share/hassio/homeassistant

So where should I work in? And what are the other configurations for (especally in ./PATH_TO_YOUR_CONFIG/ and root/home-assistant/)?

I can only explain the last two instances (#4 and #5), both zigbee2mqtt and Home Assistant have their own configuration.yaml file.

I can’t explain the other three instances. Have you installed Home Assistant and/or zigbee2mqtt more than once on this machine?

thanks for your fast reply. Yes I did, but with purpose. The MQTT integration wasn’t working (still not 100%). (Could not integrate my Xiaomi Cube)

Do you think I’ll crash my instance if I decommend the other instances? I’m afraid of any dependencies.

Then it explains why you have other instances of configuration.yaml. They are part of other installations of zigbee2mqtt/Home Assistant. So now you know why you have more than two instances of configuration.yaml.

I can’t tell you what is safe to remove because I don’t know which instances of Home Assistant and zigbee2mqtt you are currently using and which ones you are not.

The path used is visible in the UI: Developer Tools -> Info

Careful with that advice. Docker based installs just show the mapped folder in the container (/config) which is not the actual path on the host machine.

5/ is the path used by home assistant supervised on the host file system
4/ is the path used by home assistant supervised zigbee2mqtt add-on on the host system
2/ is the path used by a manual install of zigbee2mqtt following the correct install instructions on
5/ 4/ 2/ i’m pretty sure

3/ might be a configuration.yaml from a home assistant install in a venv

1/ I really have no idea.

Wow. You guys are awesome!

mf_social, exactly this is the Problem, I ran Hassio on Docker and thats why I’ve no Idea where the “/config”-File mentoined in the “UI: Developer Tools -> Info” is. There were an old Hassio-Docker-Environment which I deinstalled due to the missing Supervisor.

So should I continue my work in [5] usr/share/hassio/homeassistant/

and rename/delete the other installed?

Same Problem, the old zigbee2mqtt-edge wasn’t working, so i tried the manual instruction. Than it was advised to use the Git-Hub Module from DanielWelch. So now I’ve two zigbee-confs and I don’t know which one I should work in. (Connected devices are shown in the Zigbee-Add-On-Log but not in the Developertools->States or in the Integrations)

So do you recommend to work in [4] usr/share/hassio/share/homeassistant/ and rename/delete the other ones?

Then you should check the connection between HA and your MQTT broker.

5/ is the path used by home assistant supervised on the host file system
3/ might be a configuration.yaml from a home assistant install in a venv
1/ I really have no idea.

Hallo, so I tried finally all config-files. It seems that you have to configure multiple configs due to Docker:

#3 is important for Docker: espacelly for the “http” block in ./root/home-assistant/configuration.yaml
#5 is important for all other configurations like mqtt or sigbee settings: ./usr/share/hassio/homeassistant/configuration.yaml

The rest is waste (esp. the files in the PATH_TO_YOUR_CONFIG).

I’m still not satisfied with this solution but it works somehow.

But Python Scripts according to the discription is not working. If I run “python_script.hello_world” with the params “you: name” in the service I get an error that the service has not been not found. The files are all executable with the user “root” so I assume that the folder “python_scripts” is in the wrong config-folder. Am I right with my assumption? Could you help me please to find the right “config”-folder in Docker?

I can tell you exactly where that “PATH_TO_YOUR_CONFIG” directory comes from.
Follow -
That has the docker install command -

docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -v /PATH_TO_YOUR_CONFIG:/config \
  --network=host \

I am not sure what the -v argument should be though?
My 1st build had the path - /PATH_TO_YOUR_CONFIG/ with configuration.yaml (etc) in that.