Secrets.yaml file not working for me

Hi guys,

first of all I want to thanks the Devs for that great pice of software and the effort put into this project - really great work.
I just switched my current home automation system from openHAB to HA , so I´m already expirienced with the topic itself but not really with HA.
I now came across that secrets file which is actually a pretty good way to have a place to maintain all credentials. But for me, it´s actually not working correctly.
Is the secret configuration depending on the integration itself? So does any integration needs to support the secrets.yaml configuration?

I have to integrations where its not working for me, velux and homematic.

My configuration:

configuration.yaml

velux:
  host: secret! velux_host
  password: secret! velux_pwd

homematic:
  interfaces:
    rf:
      host: secret! homematic_host
      resolvenames: "json"
      username: secret! homematic_usr
      password: secret! homematic_pwd

secrets.yaml:

velux_host: 192.168.x.x
velux_pwd: xxxxxxxxxxxxxxxxx
homematic_host: 192.168.x.x
homematic_pwd: xxxxxxxxxxxxxxxxx
homematic_usr: xxxxxxxxxxxxxxxxx

After restarting HA I always receive the messages:

The following integrations and platforms could not be set up:

* [velux]
* [homematic]

Please check your config and [logs](xxxxxxxxxxxxxxxxxxxx/config/logs)

In the logs I can see:

Error during setup of component homematic
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/pyhomematic/connection.py", line 76, in start
    self._server.start()
AttributeError: 'HMConnection' object has no attribute '_server'

and

Error during setup of component velux
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 255, in _async_setup_component
    result = await task
  File "/usr/src/homeassistant/homeassistant/components/velux/__init__.py", line 33, in async_setup
    await hass.data[DATA_VELUX].async_start()
  File "/usr/src/homeassistant/homeassistant/components/velux/__init__.py", line 78, in async_start
    await self.pyvlx.load_scenes()
  File "/usr/local/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 80, in load_scenes
    await self.scenes.load()
  File "/usr/local/lib/python3.9/site-packages/pyvlx/scenes.py", line 51, in load
    await get_scene_list.do_api_call()
  File "/usr/local/lib/python3.9/site-packages/pyvlx/api/api_event.py", line 21, in do_api_call
    await self.send_frame()
  File "/usr/local/lib/python3.9/site-packages/pyvlx/api/api_event.py", line 33, in send_frame
    await self.pyvlx.send_frame(self.request_frame())
  File "/usr/local/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 66, in send_frame
    await self.connect()
  File "/usr/local/lib/python3.9/site-packages/pyvlx/pyvlx.py", line 43, in connect
    await self.connection.connect()
  File "/usr/local/lib/python3.9/site-packages/pyvlx/connection.py", line 87, in connect
    self.transport, _ = await self.loop.create_connection(
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1017, in create_connection
    infos = await self._ensure_resolved(
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 1396, in _ensure_resolved
    return await loop.getaddrinfo(host, port, family=family, type=type,
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 856, in getaddrinfo
    return await self.run_in_executor(
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/socket.py", line 953, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

If I only put user and password for homematic into the secrets.yaml and let the IP in the configurations.yaml, it is working. For velux it´s not working in either way.

Any suggestions / hints!?

Thanks a lot!
BR
Daniel

It should be !secret xxxx
You can check the example here-

You just misplaced the !

1 Like

Arrrghhh, that´s a bit of embarrassing ^^

Of course, if you do it right, it´s working.

Thanks a lot, sometimes it´s just so easy… Sorry!

BR
Daniel