core: Wemo devices no longer show up in HomeKit with auto_start enabled (due to speed up changes)

Version with issue: Started with Home Assistant 0.85

Last working Home Assistant release (if known): 0.84.6

Operating environment (Hass.io/Docker/Windows/etc.):

Raspberian with docker and HASS.IO.

Component/platform:

https://www.home-assistant.io/components/wemo/

Description of problem: Wemo lights are no longer appearing in HomeKit when auto_start is enabled in the HomeKit component. If I disable auto_start and create an automation to HomeKit.start after 5 minutes then the lights show up.

It would appear to me with the restructure of the wemo component in 0.85 to speed up startup, that now HomeKit starts before wemo lights are configured, meaning they never show up.

The workaround to start HomeKit after 5 minutes is ok, but a better solution would be for wemo to fire an event once discovery is done (around line 176: _LOGGER.debug(“WeMo device discovery has finished”). Then an automation could be made to start up HomeKit immediately after the first discovery is complete.

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

wemo:
  discovery: false
  static:
    - 192.168.XX.XX

Traceback (if applicable):


Additional information:

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (4 by maintainers)

Most upvoted comments

Thanks, guys. I’m working through another issue with wemo at the moment, and then I will take a look at adding an event for you.

OK, I did some more digging and was able to find a solution that works for me. I think it’s what you’ll were suggesting above. I’m adding the syntax for the next newbie to stumble on this thread 😃

1 - add the following to my configuration.yaml file, it will tell Home Assistant to NOT autostart the homekit module.

homekit:
  auto_start: false

2- Now add this to either your automation.yaml file or the automation section of your configuration.yaml file. This will start the HomeKit module 5 mins after Home Assistant is started.

- alias: 'Start HomeKit'
  trigger:
  - event: start
    platform: homeassistant
  condition: []
  action:
  - delay: 00:05  # Waits 5 minutes
  - service: homekit.start

This did the trick for me, my Wemo switch now shows up in HomeKit