Skip to content

Eufy Robovac 11c Status [Errno 9] Bad file descriptor #7

@gsdevme

Description

@gsdevme

Hi,

I've been trying to debug why the Home Assistant component isn't working for the status call. The following code snippet works and the robot starts to do its cleaning

from robovac import Robovac, get_local_code

my_robovac = Robovac('xxx', 'xxx')

my_robovac.start_auto_clean()

However when I attempt to call my_robovac.get_status() the python execution always crashes and a bad file descriptor error seems to happen. I'm not that familiar with python but it would suggest the library is having some issue when trying to read data from the socket, it can send the data without any issue though.

from robovac import Robovac, get_local_code

my_robovac = Robovac('xxx', 'xxx')

my_robovac.get_status()
ERROR:root:[Errno 32] Broken pipe
Traceback (most recent call last):
  File "/home/gavin/.local/lib/python3.8/site-packages/robovac/robovac.py", line 325, in _send_packet
    self.s.send(encrypted_packet_data)
BrokenPipeError: [Errno 32] Broken pipe
Traceback (most recent call last):
  File "/home/gavin/.local/lib/python3.8/site-packages/robovac/robovac.py", line 325, in _send_packet
    self.s.send(encrypted_packet_data)
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./test.py", line 6, in <module>
    my_robovac.get_status()
  File "/home/gavin/.local/lib/python3.8/site-packages/robovac/robovac.py", line 166, in get_status
    message = self._build_get_device_status_user_data_message()
  File "/home/gavin/.local/lib/python3.8/site-packages/robovac/robovac.py", line 293, in _build_get_device_status_user_data_message
    magic_number = self._get_magic_number()
  File "/home/gavin/.local/lib/python3.8/site-packages/robovac/robovac.py", line 309, in _get_magic_number
    pong = self._send_packet(ping, True)
  File "/home/gavin/.local/lib/python3.8/site-packages/robovac/robovac.py", line 329, in _send_packet
    self.connect()
  File "/home/gavin/.local/lib/python3.8/site-packages/robovac/robovac.py", line 155, in connect
    self.s.connect((self.ip, self.port))
OSError: [Errno 9] Bad file descriptor

I wondered if anyone had similar issues around this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions