Skip to content

Missing Listener method for current zeroconf library #1101

Closed
@valpackett

Description

@valpackett

Describe the bug
The current version of the zeroconf library requires defining an update_service method (even if empty).
It does not exist, so the discover command crashes.

Version information (please complete the following information):

  • OS: FreeBSD -CURRENT
  • python-miio: 0.5.6

To Reproduce
Steps to reproduce the behavior:

  1. pipx install python-miio
  2. miiocli discover

Console output

INFO:miio.miioprotocol:Sending discovery to <broadcast> with timeout of 5s..
INFO:miio.miioprotocol:Discovery done
INFO:miio.discovery:Discovering devices with mDNS for 5 seconds...
/home/greg/.local/pipx/venvs/python-miio/lib/python3.9/site-packages/zeroconf/_services/browser.py:170: FutureWarning: <miio.discovery.Listener object at 0x1a170efcef70> has no update_service method. Provide one (it can be empty if you don't care about the updates), it'll become mandatory.
  warnings.warn(
WARNING:miio.discovery:Found unsupported device [REDACTED], please report to developers
Exception in thread zeroconf-ServiceBrowser-_miio._udp-107102:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/home/greg/.local/pipx/venvs/python-miio/lib/python3.9/site-packages/zeroconf/_services/browser.py", line 536, in run
    self._fire_service_state_changed_event(event)
  File "/home/greg/.local/pipx/venvs/python-miio/lib/python3.9/site-packages/zeroconf/_services/browser.py", line 423, in _fire_service_state_changed_event
    self._service_state_changed.fire(
  File "/home/greg/.local/pipx/venvs/python-miio/lib/python3.9/site-packages/zeroconf/_services/__init__.py", line 56, in fire
    h(**kwargs)
  File "/home/greg/.local/pipx/venvs/python-miio/lib/python3.9/site-packages/zeroconf/_services/browser.py", line 179, in on_change
    getattr(listener, _ON_CHANGE_DISPATCH[state_change])(zeroconf, service_type, name)
AttributeError: 'Listener' object has no attribute 'update_service'

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions