home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
72.49k stars 30.33k forks source link

homekit_controller invalid config 0.68.0 #14062

Closed brianhanifin closed 6 years ago

brianhanifin commented 6 years ago

Home Assistant release with the issue: 0.68.0b0

Last working Home Assistant release (if known): n/a (this is a new feature)

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

Component/platform: https://rc.home-assistant.io/components/homekit_controller/

Description of problem: An "Invalid Config" error at startup. "The following components and platforms could not be set up: homekit-controller".

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

discovery:
  enable:
    - homekit

Traceback (if applicable):

2018-04-23 15:13:23 ERROR (SyncWorker_9) [homeassistant.util.package] Unable to install package homekit==0.5: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ohh6wm5h/cffi/
2018-04-23 15:13:23 ERROR (MainThread) [homeassistant.requirements] Not initializing homekit_controller because could not install requirement homekit==0.5
2018-04-23 15:13:24 ERROR (MainThread) [homeassistant.setup] Setup failed for homekit_controller: Could not install all requirements.

Additional information: There appears to be no additional setup instructions on the component page.

elbogi commented 6 years ago

Having similar issues. Operating environment: Docker , running 0.68.0b1 I get the following in my log:

Unable to install package homekit==0.6: Failed building wheel for gmpy2
waterfurnace 0.4.0 has requirement websocket-client>=0.46, but you'll have websocket-client 0.37.0 which is incompatible.
upsmychoice 1.0.6 has requirement beautifulsoup4==4.5.1, but you'll have beautifulsoup4 4.6.0 which is incompatible.
upsmychoice 1.0.6 has requirement python-dateutil==2.6.0, but you'll have python-dateutil 2.7.2 which is incompatible.
upsmychoice 1.0.6 has requirement requests==2.12.4, but you'll have requests 2.18.4 which is incompatible.
toonlib 1.0.2 has requirement cachetools==2.0.0, but you'll have cachetools 2.0.1 which is incompatible.
toonlib 1.0.2 has requirement requests==2.13.0, but you'll have requests 2.18.4 which is incompatible.
temperusb 1.5.3 has requirement pyusb>=1.0.0rc1, but you'll have pyusb 1.0.0b1 which is incompatible.
spotcrime 1.0.3 has requirement requests==2.12.4, but you'll have requests 2.18.4 which is incompatible.
skybellpy 0.1.2 has requirement colorlog==3.0.1, but you'll have colorlog 3.1.2 which is incompatible.
python-velbus 2.0.11 has requirement pyserial==3.3, but you'll have pyserial 3.1.1 which is incompatible.
python-jose-cryptodome 1.3.2 has requirement pycryptodome<3.4.0,>=3.3.1, but you'll have pycryptodome 3.6.1 which is incompatible.
pysma 0.2.0 has requirement aiohttp<3,>2, but you'll have aiohttp 3.1.3 which is incompatible.
pymonoprice 0.3 has requirement pyserial>=3.4, but you'll have pyserial 3.1.1 which is incompatible.
pymata 2.14 has requirement pyserial==2.7, but you'll have pyserial 3.1.1 which is incompatible.
pyicloud 0.9.1 has requirement keyring<9.0,>=8.0, but you'll have keyring 12.0.0 which is incompatible.
pyicloud 0.9.1 has requirement keyrings.alt<2.0,>=1.0, but you'll have keyrings-alt 3.0 which is incompatible.
pyblackbird 0.5 has requirement pyserial>=3.4, but you'll have pyserial 3.1.1 which is incompatible.
pyatv 0.3.9 has requirement aiohttp<3,>=2.3.0, but you'll have aiohttp 3.1.3 which is incompatible.
nad-receiver 0.0.9 has requirement pyserial==3.2.1, but you'll have pyserial 3.1.1 which is incompatible.
myusps 1.3.2 has requirement python-dateutil==2.6.0, but you'll have python-dateutil 2.7.2 which is incompatible.
myusps 1.3.2 has requirement requests==2.12.4, but you'll have requests 2.18.4 which is incompatible.
myusps 1.3.2 has requirement selenium==2.53.6, but you'll have selenium 3.11.0 which is incompatible.
mycroftapi 2.0 has requirement websocket-client==0.44.0, but you'll have websocket-client 0.37.0 which is incompatible.
motorparts 1.0.2 has requirement beautifulsoup4==4.5.1, but you'll have beautifulsoup4 4.6.0 which is incompatible.
motorparts 1.0.2 has requirement requests==2.12.4, but you'll have requests 2.18.4 which is incompatible.
libsoundtouch 0.7.2 has requirement websocket-client>=0.40.0, but you'll have websocket-client 0.37.0 which is incompatible.
insteonplm 0.8.6 has requirement pyserial==3.2.0, but you'll have pyserial 3.1.1 which is incompatible.
hipnotify 1.0.8 has requirement requests==2.9.1, but you'll have requests 2.18.4 which is incompatible.
fixerio 0.1.1 has requirement requests==2.10.0, but you'll have requests 2.18.4 which is incompatible.
fedexdeliverymanager 1.0.6 has requirement beautifulsoup4==4.5.1, but you'll have beautifulsoup4 4.6.0 which is incompatible.
fedexdeliverymanager 1.0.6 has requirement python-dateutil==2.6.0, but you'll have python-dateutil 2.7.2 which is incompatible.
discord-py 0.16.12 has requirement aiohttp<1.1.0,>=1.0.0, but you'll have aiohttp 3.1.3 which is incompatible.
crimereports 1.0.0 has requirement requests==2.12.4, but you'll have requests 2.18.4 which is incompatible.
broadlink 0.8 has requirement pycryptodome==3.4.11, but you'll have pycryptodome 3.6.1 which is incompatible.
alarmdecoder 1.13.2 has requirement pyserial==2.7, but you'll have pyserial 3.1.1 which is incompatible.
abodepy 0.13.1 has requirement colorlog==3.0.1, but you'll have colorlog 3.1.2 which is incompatible.
Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-j9x24kav/gmpy2/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-lxmxhxpv/install-record.txt --single-version-externally-managed --prefix  --compile --user --prefix=" failed with error code 1 in /tmp/pip-install-j9x24kav/gmpy2/
marthoc commented 6 years ago

I think there will need to be a modification to the docker image to account for underlying OS dependencies required by gmpy2, which is required by the underlying HomeKit dependency that homekit_controller has. See my post here:

https://community.home-assistant.io/t/support-for-control-of-homekit-bulbs-and-switches-testing-required/50270/2?u=marthocoo

brianhanifin commented 6 years ago

I can confirm that @marthoc's solution works! Today I switched to an Ubuntu Server 18.04 docker setup (on 0.68.0) where I was getting the same error as @elbogi.

I executed a bash command to my home assistant docker container and was able to install the libraries @marthoc recommended. When I restarted the container instead of a home_controller error I was greeted with the following dialog. 👍

screen shot 2018-04-29 at 1 05 30 am

P.S. I am excited to start being able to use my iHome and iDevices outlet plug in switches natively in Home Assistant! Thank you @mjg59!

elbogi commented 6 years ago

@brianhanifin , how exactly did you get the dependencies installed? Logged into my Hass docker container, but I get "Unable to locate package". Surely, I am missing something elementary? Running docker on Ubuntu 16.04 server.

UPDATE: Never mind, an apt-get -qq update did the trick :)

sberryman commented 6 years ago

@brianhanifin Did you have any issues pairing your iHome switches? I'm trying to pair an iSP5 and started by using the iHome app to Add Device, it searches for the device and finds it. Selected the smartplug, configured WiFi and stopped once I got to the 'User the HomeKit Setup Code`, at that point I attempted to type in the HomeKit code into the configurator in Home Assistant. I then see "Service configurator/configure called" and nothing happens. I didn't see anything in the logs either.

Update: Managed to get it working, see: https://github.com/jlusiardi/homekit_python/issues/18

brianhanifin commented 6 years ago

@brianhanifin Did you have any issues pairing your iHome switches?

@sberryman To be honest I haven't tried pairing any devices yet. Some other upgrades have taken precedence.

However, I got a notification from the iHome app this morning about "iHome Cloud Service Latency". So the problem could be related to iHome's server issues today.

img_1025