在最新版本的HomeAssistant中,有現(xiàn)成的HomeKit組件可以使用,但是在初始化過程中發(fā)生錯(cuò)誤.
Homekit Component Setup
按照HA官方文檔中HomeKit的最簡設(shè)置方法修改_config.yml文件
# Example for HomeKit setup
homekit:
重啟HA后逗噩,前臺(tái)顯示Homekit初始化失敗溢陪,Log中有如下錯(cuò)誤:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/app/homeassistant/components/homekit/__init__.py", line 111, in start_driver
from pyhap.accessory_driver import AccessoryDriver
File "/usr/local/lib/python3.6/site-packages/pyhap/accessory_driver.py", line 41, in <module>
from pyhap.hap_server import HAPServer
File "/usr/local/lib/python3.6/site-packages/pyhap/hap_server.py", line 19, in <module>
from Crypto.Protocol.KDF import HKDF
ImportError: cannot import name 'HKDF'
原因
依賴庫PyCrypto(2.6.1)版本舊且安全性較差
解決方法
使用PyCryptodome代替PyCrypto.
$ sudo pip install pycryptodome
重啟HA,Homekit加載成功,顯示PinCode.