syssi / xiaomi_airconditioningcompanion

Xiaomi Mi and Aqara Air Conditioning Companion integration for Home Assistant
Apache License 2.0
398 stars 94 forks source link

lumi.acpartner.v3 Error while setting up platform xiaomi_miio_airconditioningcompanion #92

Closed snakewqq closed 3 years ago

snakewqq commented 4 years ago

my airconditioningcompanion: lumi.acpartner.v3 KTBL11LM

xiaomi_aqara:
  discovery_retry: 15
  gateways:
    mac: 7CAAAAAAAAA01
    key: c***************7
    host: 10.63.0.201

climate:
  - platform: xiaomi_miio_airconditioningcompanion
    name: Aqara Air Conditioning Companion
    host: 10.63.0.201
    token: 5d*************************************c0
    target_sensor: sensor.temperature_1580000007000
    scan_interval: 60

when i start homeassistant, some ERROR print as below:

Error while setting up platform xiaomi_miio_airconditioningcompanion
Traceback (most recent call last):
  File "/opt/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 158, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/tasks.py", line 442, in wait_for
  File "/coroutines.py", line 120, in coro
  File "/opt/etc/homeassistant/custom_components/xiaomi_miio_airconditioningcompanion/climate.py", line 135, in async_setup_platform
    device_info = device.info()
  File "/opt/lib/python3.7/site-packages/miio/device.py", line 352, in info
    return DeviceInfo(self.send("miIO.info"))
  File "/opt/lib/python3.7/site-packages/miio/device.py", line 253, in send
    m = Message.build(msg, token=self.token)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 352, in build
    self.build_stream(obj, stream, **contextkw)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 364, in build_stream
    self._build(obj, stream, context, "(building)")
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 2003, in _build
    buildret = sc._build(subobj, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 2472, in _build
    return self.subcon._build(obj, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 4078, in _build
    buildret = self.subcon._build(obj, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 4365, in _build
    buildret = self.subcon._build(value, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 718, in _build
    obj2 = self._encode(obj, context, path)
  File "/opt/lib/python3.7/site-packages/miio/protocol.py", line 156, in _encode
    json.dumps(obj).encode("utf-8") + b"\x00", context["_"]["token"]
  File "/opt/lib/python3.7/site-packages/miio/protocol.py", line 82, in encrypt
    cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend())
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/backends/__init__.py", line 15, in default_backend
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 75, in <module>
    from cryptography.hazmat.bindings.openssl import binding
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 15, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: libssl.so.1.0.0: cannot open shared object file: No such file or directory

![Uploading 屏幕快照 2020-01-29 下午3.31.26.png…]() ![Uploading 屏幕快照 2020-01-29 下午3.31.05.png…]()

snakewqq commented 4 years ago

i fix file missing ( libssl.so.1.0.0 and libcrypto.so.1.0.0 ) , ln -s from my merlin router file path /opt/lib , then export PATH=/opt/lib:$PATH

ERROR change as below:

Error while setting up platform xiaomi_miio_airconditioningcompanion
Traceback (most recent call last):
  File "/opt/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 158, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/tasks.py", line 442, in wait_for
  File "/coroutines.py", line 120, in coro
  File "/opt/etc/homeassistant/custom_components/xiaomi_miio_airconditioningcompanion/climate.py", line 135, in async_setup_platform
    device_info = device.info()
  File "/opt/lib/python3.7/site-packages/miio/device.py", line 352, in info
    return DeviceInfo(self.send("miIO.info"))
  File "/opt/lib/python3.7/site-packages/miio/device.py", line 253, in send
    m = Message.build(msg, token=self.token)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 352, in build
    self.build_stream(obj, stream, **contextkw)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 364, in build_stream
    self._build(obj, stream, context, "(building)")
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 2003, in _build
    buildret = sc._build(subobj, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 2472, in _build
    return self.subcon._build(obj, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 4078, in _build
    buildret = self.subcon._build(obj, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 4365, in _build
    buildret = self.subcon._build(value, stream, context, path)
  File "/opt/etc/homeassistant/deps/lib/python3.7/site-packages/construct/core.py", line 718, in _build
    obj2 = self._encode(obj, context, path)
  File "/opt/lib/python3.7/site-packages/miio/protocol.py", line 156, in _encode
    json.dumps(obj).encode("utf-8") + b"\x00", context["_"]["token"]
  File "/opt/lib/python3.7/site-packages/miio/protocol.py", line 82, in encrypt
    cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=default_backend())
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/backends/__init__.py", line 15, in default_backend
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 75, in <module>
    from cryptography.hazmat.bindings.openssl import binding
  File "/opt/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 15, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /opt/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: undefined symbol: ENGINE_get_name
snakewqq commented 4 years ago

run this command, same error

admin@R6300V2-1:/tmp/mnt/sda1/entware/etc/homeassistant# python3 -c "from cryptography.hazmat.bindings._openssl import ffi, lib"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: /opt/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: undefined symbol: ENGINE_get_name
syssi commented 3 years ago

Please make sure libssl-dev is installed:

apt-get install libffi-dev libssl-dev

It looks like your cryptography package is broken.