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
71.06k stars 29.73k forks source link

Xiaomi_miio components stop working after upgrading to 0.98.0 and 0.98.1 #26290

Closed nkolev2 closed 5 years ago

nkolev2 commented 5 years ago

Home Assistant release with the issue: 0.98.1

Last working Home Assistant release (if known): 0.97.2

Operating environment (Hass.io/Docker/Windows/etc.): manual installation, Python(python 3.7) virtual environment on raspberry pi 3 with DietPi OS

Component/platform: https://www.home-assistant.io/components/switch.xiaomi_miio/ https://www.home-assistant.io/components/fan.xiaomi_miio/ https://www.home-assistant.io/components/remote.xiaomi_miio/

Description of problem: All xiaomi_miio components stop working after upgrading to 0.98.0 and 0.98.1

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

  - platform: xiaomi_miio
    name: Xiaomi Coupler Livingroom
    host: !secret zimiswitchip
    token: !secret zimiswitchtoken
    model: zimi.powerstrip.v2
....
  - platform: xiaomi_miio
    host: !secret purifier_ip
    token: !secret purifier_tkn
....
  - platform: xiaomi_miio
    name: "Xiaomi remote"
    host: !secret chuangmi_ip
    token: !secret chuangmi_key

Traceback (if applicable): debug on for xiaomi_miio:

homeassistant.components.switch.xiaomi_miio: debug

2019-08-30 16:10:46 ERROR (MainThread) [homeassistant.components.fan] Error while setting up platform xiaomi_miio
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/xiaomi_miio/fan.py", line 425, in async_setup_platform
    from miio import Device, DeviceException
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/__init__.py", line 2, in <module>
    from miio.airconditioningcompanion import AirConditioningCompanion
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/airconditioningcompanion.py", line 8, in <module>
    from .device import Device, DeviceException
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/device.py", line 10, in <module>
    import construct
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/__init__.py", line 22, in <module>
    from construct.core import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/core.py", line 5, in <module>
    from construct.lib import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/__init__.py", line 1, in <module>
    from construct.lib.containers import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/containers.py", line 1, in <module>
    from construct.lib.py3compat import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/py3compat.py", line 14, in <module>
    import ruamel.yaml
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/__init__.py", line 85, in <module>
    from ruamel.yaml.main import *  # NOQA
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/main.py", line 19, in <module>
    from ruamel.yaml.loader import BaseLoader, SafeLoader, Loader, RoundTripLoader  # NOQA
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/loader.py", line 10, in <module>
    from ruamel.yaml.constructor import (
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/constructor.py", line 31, in <module>
    from ruamel.yaml.timestamp import TimeStamp
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 724, in exec_module
  File "<frozen importlib._bootstrap_external>", line 857, in get_code
  File "<frozen importlib._bootstrap_external>", line 525, in _compile_bytecode
ValueError: bad marshal data (unknown type code)
2019-08-30 16:10:47 ERROR (MainThread) [homeassistant.components.remote] Error while setting up platform xiaomi_miio
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/xiaomi_miio/remote.py", line 76, in async_setup_platform
    from miio import ChuangmiIr, DeviceException
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/__init__.py", line 2, in <module>
    from miio.airconditioningcompanion import AirConditioningCompanion
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/airconditioningcompanion.py", line 8, in <module>
    from .device import Device, DeviceException
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/device.py", line 10, in <module>
    import construct
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/__init__.py", line 22, in <module>
    from construct.core import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/core.py", line 5, in <module>
    from construct.lib import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/__init__.py", line 1, in <module>
    from construct.lib.containers import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/containers.py", line 1, in <module>
    from construct.lib.py3compat import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/py3compat.py", line 14, in <module>
    import ruamel.yaml
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/__init__.py", line 79, in <module>
    from .cyaml import *  # NOQA
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/cyaml.py", line 5, in <module>
    from _ruamel_yaml import CParser, CEmitter  # type: ignore
  File "_ruamel_yaml.pyx", line 63, in init _ruamel_yaml
AttributeError: type object '_ruamel_yaml.Mark' has no attribute '__reduce_cython__'
2019-08-30 16:10:51 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform xiaomi_miio
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/xiaomi_miio/switch.py", line 100, in async_setup_platform
    from miio import Device, DeviceException
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/__init__.py", line 2, in <module>
    from miio.airconditioningcompanion import AirConditioningCompanion
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/airconditioningcompanion.py", line 8, in <module>
    from .device import Device, DeviceException
  File "/srv/homeassistant/lib/python3.7/site-packages/miio/device.py", line 10, in <module>
    import construct
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/__init__.py", line 22, in <module>
    from construct.core import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/core.py", line 5, in <module>
    from construct.lib import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/__init__.py", line 1, in <module>
    from construct.lib.containers import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/containers.py", line 1, in <module>
    from construct.lib.py3compat import *
  File "/srv/homeassistant/lib/python3.7/site-packages/construct/lib/py3compat.py", line 14, in <module>
    import ruamel.yaml
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/__init__.py", line 79, in <module>
    from .cyaml import *  # NOQA
  File "/srv/homeassistant/lib/python3.7/site-packages/ruamel/yaml/cyaml.py", line 5, in <module>
    from _ruamel_yaml import CParser, CEmitter  # type: ignore
  File "_ruamel_yaml.pyx", line 63, in init _ruamel_yaml
AttributeError: type object '_ruamel_yaml.Mark' has no attribute '__reduce_cython__'

Additional information: let me know if anything else is required ...

dshokouhi commented 5 years ago

Does it still work if you rollback?

nkolev2 commented 5 years ago

just reverted to 0.97.2 , all seems to work fine ....

nkolev2 commented 5 years ago

after upgrading to 0.98.1 again everything was working ,i guess something went wrong the first time ... closing the ticket.