snicker / zwift_hass

Zwift Sensor Integration for HomeAssistant
52 stars 13 forks source link

Bug: Sensor can no longer be created #39

Closed dndhm closed 1 year ago

dndhm commented 1 year ago

I get the following output in logs when starting HA after the latest HA updates:

Could not create Zwift sensor named 'Zwift'!
Traceback (most recent call last):
  File "/config/custom_components/zwift/sensor.py", line 124, in async_setup_platform
    await zwift_data._connect()
  File "/config/custom_components/zwift/sensor.py", line 341, in _connect
    from zwift import Client as ZwiftClient
  File "/usr/local/lib/python3.10/site-packages/zwift/__init__.py", line 4, in <module>
    from .client import Client
  File "/usr/local/lib/python3.10/site-packages/zwift/client.py", line 5, in <module>
    from .world import World
  File "/usr/local/lib/python3.10/site-packages/zwift/world.py", line 2, in <module>
    from . import zwift_messages_pb2
  File "/usr/local/lib/python3.10/site-packages/zwift/zwift_messages_pb2.py", line 35, in <module>
    _descriptor.FieldDescriptor(
  File "/usr/local/lib/python3.10/site-packages/google/protobuf/descriptor.py", line 561, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

My sensor code is:

- platform: zwift
  username: USERNAME
  password: PASSWORD
snicker commented 1 year ago

please see #37 and update to v3.3.1 in HACS @dndhm

snicker commented 1 year ago

fixed in 3.3.2 (https://github.com/snicker/zwift_hass/releases/tag/v3.3.2)