robovac icon indicating copy to clipboard operation
robovac copied to clipboard

X9 adds correctly but doesn't work

Open OmenBoy opened this issue 2 years ago • 21 comments

It shows up as unavailable immediately. I've added the IP and restarted but nothing works. If the X9 is not supported, are there any plans to add support? Thank you.

OmenBoy avatar Dec 02 '23 18:12 OmenBoy

Same problem here, it identifies it correctly, but seems to have some problem in actually fetching the data from device. Screenshots and logs attached, tell me if there is anything I can do more to investigate. Can setups network proxies, etc, not a hassle. @CodeFoodPixels

2023-12-05 14:52:27.532 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration robovac which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-12-05 14:52:27.535 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration komfovent which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-12-05 14:53:44.984 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, <Device {{REDACTED}} (192.168.2.58:6668)>)
2023-12-05 14:53:45.016 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Received message from {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, None)
2023-12-05 14:53:54.972 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to {{REDACTED}} (192.168.2.58:6668): Message(0xa, {'gwId': '{{REDACTED}}', 'devId': '{{REDACTED}}'}, 47283005, <Device {{REDACTED}} (192.168.2.58:6668)>)
2023-12-05 14:53:54.983 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Received message from {{REDACTED}} (192.168.2.58:6668): Message(0xa, {'dps': {'151': True, '156': True, '158': 'Standard', '159': True, '160': False, '161': 40, '163': 100}}, 47283005, None)
2023-12-05 14:53:54.984 INFO (MainThread) [custom_components.robovac.tuyalocalapi] Received updated state {{REDACTED}} (192.168.2.58:6668): {'151': True, '156': True, '158': 'Standard', '159': True, '160': False, '161': 40, '163': 100}
2023-12-05 14:53:54.988 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, <Device {{REDACTED}} (192.168.2.58:6668)>)
2023-12-05 14:53:54.994 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Received message from {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, None)
2023-12-05 14:54:04.992 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, <Device {{REDACTED}} (192.168.2.58:6668)>)
2023-12-05 14:54:05.006 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Received message from {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, None)
2023-12-05 14:54:14.973 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to {{REDACTED}} (192.168.2.58:6668): Message(0xa, {'gwId': '{{REDACTED}}', 'devId': '{{REDACTED}}'}, 47303006, <Device {{REDACTED}} (192.168.2.58:6668)>)
2023-12-05 14:54:14.995 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Sending to {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, <Device {{REDACTED}} (192.168.2.58:6668)>)
2023-12-05 14:54:15.027 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Received message from {{REDACTED}} (192.168.2.58:6668): Message(0xa, {'dps': {'151': True, '156': True, '158': 'Standard', '159': True, '160': False, '161': 40, '163': 100}}, 47303006, None)
2023-12-05 14:54:15.028 INFO (MainThread) [custom_components.robovac.tuyalocalapi] Received updated state {{REDACTED}} (192.168.2.58:6668): {'151': True, '156': True, '158': 'Standard', '159': True, '160': False, '161': 40, '163': 100}
2023-12-05 14:54:15.032 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Received message from {{REDACTED}} (192.168.2.58:6668): Message(0x9, b'', 0, None)
2023-12-05 14:54:18.185 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Disconnected from {{REDACTED}} (192.168.2.58:6668)
2023-12-05 14:54:18.191 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/robovac/tuyalocalapi.py", line 753, in _async_handle_message
    response_data = await self.reader.readuntil(MAGIC_SUFFIX_BYTES)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/streams.py", line 637, in readuntil
    raise exceptions.IncompleteReadError(chunk, None)
asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of undefined expected bytes
2023-12-05 14:54:24.997 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Disconnected from {{REDACTED}} (192.168.2.58:6668)
image

ProstoSanja avatar Dec 05 '23 13:12 ProstoSanja

same here.

stephanschn avatar Dec 29 '23 15:12 stephanschn

Same here. Only getting the battery status and that is also not working.

htodep avatar Jan 08 '24 08:01 htodep

Same here...

fbricker avatar Feb 06 '24 23:02 fbricker

Same here!

sakbark avatar Mar 16 '24 15:03 sakbark

Same issue with my G32 Pro. However, it seems that the buttons on the vacuum widget still work, so the vacuum can be controlled, but the status is unknown.

This may be due to the vacuum being on a network that does not allow it to talk to the Internet.

infinitytec avatar Mar 17 '24 17:03 infinitytec

Any hope of newer models getting added soon :(

Davewarrington avatar Mar 21 '24 17:03 Davewarrington

As part of the work I'm doing on the better-dps branch, I'm making it so that devices with different commands can be supported. I'd need people to contribute/test the commands for the vacuums though.

CodeFoodPixels avatar Mar 22 '24 00:03 CodeFoodPixels

I’d be happy to help. I have an X9 Pro.

OmenBoy avatar Mar 22 '24 00:03 OmenBoy

I'd also be happy to help with the G32 Pro

infinitytec avatar Mar 22 '24 00:03 infinitytec

Got the new branch installed but unfortunately the X9 Pro is not working yet, so assuming you haven't reached that bit yet as it's pre-release :)

Melmoes avatar May 28 '24 10:05 Melmoes

As above, clean install with the v1.3.0-better-dps.1 version and it doesn't want to play with the X9. If you need any help with testing just let me know.

Thrasher2020 avatar Jun 19 '24 14:06 Thrasher2020

I made a few mods, I can get the status randomly, battery all the time and the suction mode. Can't control it and it also sends data to the Error DPS (but it makes no sense). Here's are the DPS I tried. When you dump them a lot aren't there so this a a mish mash of other posts all put together to not quite end up with a working solution!

commands = { RobovacCommand.START_PAUSE: 151, RobovacCommand.DIRECTION: { "code": 155, "values": ["forward", "back", "left", "right"], }, RobovacCommand.MODE: { "code": 152, "values": ["auto", "SmallRoom", "Spot", "Edge", "Nosweep"], }, RobovacCommand.STATUS: 153, RobovacCommand.RETURN_HOME: 173, RobovacCommand.FAN_SPEED: { "code": 158, "values": ["Pure","Standard","Turbo","Max"], }, RobovacCommand.LOCATE: 160, RobovacCommand.BATTERY: 163, RobovacCommand.ERROR: 177,

Thrasher2020 avatar Jun 27 '24 23:06 Thrasher2020

Can I somehow support this work?

stephanschn avatar Jul 24 '24 11:07 stephanschn

I added basic config for T2320, based on the config of my L60 SES to the forked branch here. https://github.com/CodeFoodPixels/robovac/issues/85#issuecomment-2249935438 for context

Happy to hear if it works and if any of you can support bringing it back into the main branch here

maximoei avatar Jul 30 '24 08:07 maximoei

The T2320.py in the indicated repo is 4 months old?

Thrasher2020 avatar Jul 30 '24 10:07 Thrasher2020

Try again 😊

maximoei avatar Jul 30 '24 11:07 maximoei

Sadly all it does is give the current suction level and battery. Cannot control it and when it's cleaning it doesn't update anything other than the battery, so I guess the X9 is a very different beast under the hood. Anything I can supply to assist with debugging this?

Thrasher2020 avatar Jul 31 '24 12:07 Thrasher2020

If you can set the loglevel to debug, can you share some log messages of the tuya state before, during and after cleaning?

Messages like this, but with more parameters


{'151': True, '156': True, '158': 'Standard', '159': True, '160': False, '161': 40, '163': 100}

maximoei avatar Jul 31 '24 13:07 maximoei

Start :

tuyastatus {'151': True, '156': True, '158': 'Max', '159': True, '160': False, '163': 100, '170': 'BAgFEAE=', '176': 'KgoCCAEaAggBIgIIASoAMgBCBAigmQJKAFIMCgIIARICCAEiAggBWCxqAA=='}

Cleaning :

tuyastatus {'151': True, '156': True, '158': 'Max', '159': True, '160': False, '163': 100, '170': 'BAgFEAE=', '176': 'KgoCCAEaAggBIgIIASoAMgBCBAigmQJKAFIMCgIIARICCAEiAggBWDpqAA==', '152': 'AggG', '177': 'DAjTgaP1kJxCIgBSAA==', '153': 'ChAHQgIQCnICIgA=', '154': 'IgoMCgASABoAIgIIASoAEgAaACIOCgAaACICCAEqADICCAM=', '167': 'GAoAEgkI/IYCEIoEGCwaCQj8hgIQigQYLA==', '168': 'JQojCgIICxICCAsaAggLIgIICyoCCAsyAggIoAGgjau7qor58xc='}

Return :

tuyastatus {'151': True, '156': True, '158': 'Max', '159': True, '160': False, '163': 100, '170': 'BAgFEAE=', '176': 'KgoCCAEaAggBIgIIASoAMgBCBAigmQJKAFIMCgIIARICCAEiAggBWDpqAA==', '152': 'AggG', '177': 'DAjGjtXH+ZxCIgBSAA==', '153': 'CBADGgByAiIA', '154': 'IgoMCgASABoAIgIIASoAEgAaACIOCgAaACICCAEqADICCAM=', '167': 'GAoAEgkI/IYCEIoEGCwaCQj8hgIQigQYLA==', '168': 'JQojCgIICxICCAsaAggLIgIICyoCCAsyAggIoAGgjau7qor58xc=', '173': 'LAokCgwKBggBGgIIChIAGAESBggBEgIIATIMCgIIARIGCAEQARgPEgAqAggj'}

Thrasher2020 avatar Aug 02 '24 11:08 Thrasher2020

The X9 seems to use different parameters than the L60, probably because it does mopping. So hard to determine what is needed here

maximoei avatar Aug 24 '24 12:08 maximoei