Open nworb-cire opened 11 months ago
+1 to this. Experiencing the same and would love support for this vacuum.
here's the error:
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
I have been doing a bit of sleuthing tonight. I have an incomplete grasp of what is going on, but wanted to record my current progress.
Here is a sample state dict from my vacuum:
{'151': True,
'153': 'BhADGgIIAQ==',
'156': True,
'158': 'Standard',
'159': True,
'160': False,
'161': 80,
'163': 100,
'164': 'MggGEAYaACIqCgYIh7SKqwYSBAgBEAEaCggBEgIYDhoCCH8qDhoMEgoKAggBEgAaACIA',
'167': 'HQoFCOwnEDQSCQjUtgYQiAwYNhoJCNS2BhCIDBg2',
'168': 'IgogCgIIHhICCB4aAggeKgIIHjoDCJgGoAHVgeSNj4fuzgE=',
'169': '[redacted]',
'173': 'EAoKMggKAggBEgIQARICCAE=',
'176': 'EgoAGgIIAVIKCgASABoAIgIIAQ==',
'177': 'DAjgo9Gn24LuzgFSAA==',
'178': 'DQjDztmP24LuzgESAU4=',
'179': 'DhIMIgoIHRABGOvax6wG'}
It appears that most or all of the key codes do not match what is defined in vacuum.py.
On first glance, I cannot find anything related to error codes. Setting this line to always be False
allows me to see my vacuum in home assistant, although commands sent from HA to the vacuum appear to have no effect. I suspect there is a similar mapping mismatch on the receiving end. I will post an update when I next have some time to look into this.
I am also seeing this issue (L50 without SES). Please let me know if I can assist in testing for a fix, and thank you for sharing your experience and expertise with us all!!
@CodeFoodPixels are there any plans to add support for additional vacuums? I see there hasn't been a release on this project in 4 months
The main issue with adding more vacuums is that it doesn't seem as straightforward as just adding a new number with some of them. It's difficult for me to add a new vacuum when I can't test it. Happy for folks to contribute.
On Sat, 17 Feb 2024, 22:30 bmh54321, @.***> wrote:
@CodeFoodPixels https://github.com/CodeFoodPixels are there any plans to add support for additional vacuums? I see there hasn't been a release on this project in 4 months
— Reply to this email directly, view it on GitHub https://github.com/CodeFoodPixels/robovac/issues/42#issuecomment-1950455639, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVHSAIJX4FU3WUAOSJLYUEVOZAVCNFSM6AAAAAA7YSLRCSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJQGQ2TKNRTHE . You are receiving this because you were mentioned.Message ID: @.***>
@CodeFoodPixels is there any way people with little coding experience can help contribute for integration of other models? I have an l35 Hybrid and with a little instruction would be happy to provide any log data or anything that might be helpful
I would love to be able to change the voice volume of this thing with home assistant!
I have been doing a bit of sleuthing tonight. I have an incomplete grasp of what is going on, but wanted to record my current progress.
Here is a sample state dict from my vacuum:
{'151': True, '153': 'BhADGgIIAQ==', '156': True, '158': 'Standard', '159': True, '160': False, '161': 80, '163': 100, '164': 'MggGEAYaACIqCgYIh7SKqwYSBAgBEAEaCggBEgIYDhoCCH8qDhoMEgoKAggBEgAaACIA', '167': 'HQoFCOwnEDQSCQjUtgYQiAwYNhoJCNS2BhCIDBg2', '168': 'IgogCgIIHhICCB4aAggeKgIIHjoDCJgGoAHVgeSNj4fuzgE=', '169': '[redacted]', '173': 'EAoKMggKAggBEgIQARICCAE=', '176': 'EgoAGgIIAVIKCgASABoAIgIIAQ==', '177': 'DAjgo9Gn24LuzgFSAA==', '178': 'DQjDztmP24LuzgESAU4=', '179': 'DhIMIgoIHRABGOvax6wG'}
It appears that most or all of the key codes do not match what is defined in vacuum.py.
* I have 163 for battery level instead of 104. * I have 158 for fan speed instead of 102. * 161 is the speaker volume. * 162 appears to be the voice language. * 156 is auto return cleaning instead of 135. * 157, 164 and 173 appear to be related to various settings. * 169 contains the model number, firmware version, MAC address, serial number, and some other information which I am unable to decode at this time.
On first glance, I cannot find anything related to error codes. Setting this line to always be
False
allows me to see my vacuum in home assistant, although commands sent from HA to the vacuum appear to have no effect. I suspect there is a similar mapping mismatch on the receiving end. I will post an update when I next have some time to look into this.
Hi nworb. I am looking into this same issue except for the L60. Would you mind sharing how you found out these codes? The only thing I can think if is trial and error, but that does not really seem feasible as well. My current theory is that the data is encrypted. Would be best if it can be decrypted but otherwise a static map can me made maybe. Also, I think 179 is the status (cleaning), as for me it had 4 values when I ran the robot (cleaning, positioning, returning to base, charging).
I've started work on L60, which might also work for L50 https://github.com/CodeFoodPixels/robovac/issues/85#issuecomment-2249935438
I added the config for T2275 (L50), based on the L60 to the forked branch here: https://github.com/maximoei/robovac/tree/L60-support
Happy to hear if it works and if any of you can support bringing it back into the main branch here
I am seeing similar issues to what is described in #40. When my device is discovered, it only shows the
sensor.robovac_battery
entity with unavailable status. When I add the model number (T2275) to the L-series list in robovac.py, avacuum.robovac
entity appears, also with unavailable status.Let me know if there is anything I can do to help with this; I am happy to provide any diagnostic information you need. Here is the manual, if it helps. Thanks for your work!