CodeFoodPixels / robovac

Add a Eufy RoboVac easily to Home Assistant
Other
110 stars 26 forks source link

Can add account fine, Cannot add the vacuum #14

Closed jennoian closed 9 months ago

jennoian commented 10 months ago

Hi,

i can add the account fine, i then configure and select the device, it still asked for an IP address. When i put in the correct IP in (or even the wrong one) it says success but no entities appear.

jennoian commented 10 months ago

looking at the logs it says then T2272 (G40+) is not supported. it used to work previously though. i am happy to help with coding if required.

jennoian commented 10 months ago

OK i fixed the issue, i added the T2272 to the supported list in the G section of robovac.py.

works as it should!

IamTheLoki commented 10 months ago

Hello, my Eufy Robovac is in the support list. But it still not shown after I add the IP. Got this in my Logfiles:

2023-08-25 01:24:21.007 ERROR (MainThread) [homeassistant.components.vacuum] Error while setting up robovac platform for vacuum
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/robovac/vacuum.py", line 109, in async_setup_entry
entity = RoboVacEntity(item)
^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/robovac/vacuum.py", line 250, in __init__
self._attr_access_token = item[CONF_ACCESS_TOKEN]
~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 'access_token'
jennoian commented 10 months ago

Hello, my Eufy Robovac is in the support list. But it still not shown after I add the IP. Got this in my Logfiles:

2023-08-25 01:24:21.007 ERROR (MainThread) [homeassistant.components.vacuum] Error while setting up robovac platform for vacuum
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/robovac/vacuum.py", line 109, in async_setup_entry
entity = RoboVacEntity(item)
^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/robovac/vacuum.py", line 250, in __init__
self._attr_access_token = item[CONF_ACCESS_TOKEN]
~~~~^^^^^^^^^^^^^^^^^^^
KeyError: 'access_token'

looks like it cannot get your access token, make sure HA is up to date. delete all other robovac integrations. make sure you using the correct repo, the modified one.

what is the model of your robovac?

Ian

CodeFoodPixels commented 10 months ago

Yeah, what @jennoian said sounds right. If none of that works, remove the integration and re-add. It should grab your key

jennoian commented 10 months ago

Yeah, what @jennoian said sounds right. If none of that works, remove the integration and re-add. It should grab your key

mate are you happy to add the T2272 to the supported list in the G section of robovac.py? it works perfectly an all tested.

Separately i have been playing with some of the code, trying to get the images made from the cleaning cycle, not got it jet and ran out of time. Any ideas?

CodeFoodPixels commented 10 months ago

mate are you happy to add the T2272 to the supported list in the G section of robovac.py? it works perfectly an all tested. It should be in main already, I just need to create a release.

Separately i have been playing with some of the code, trying to get the images made from the cleaning cycle, not got it jet and ran out of time. Any ideas?

I mentioned it in #15, but I've been trying to understand the decompiled app code. I have a little bit of understanding, but I don't have a vacuum with mapping to poke around. If I get some time over the weekend, I might have a poke at some stuff that someone can have a try with

jennoian commented 10 months ago

Welcome to give you my login details so you can have a poke around?

jennoian commented 10 months ago

It seems to be the IP address, i physically turned off the cleaner, started it back up, ran a IP scan on the network and found the MAC address. You can find the MAC in the app but the the IP. Once i found right IP i then set it to static on the router.

Ian

CodeFoodPixels commented 10 months ago

Welcome to give you my login details so you can have a poke around?

I think I'd need a local device, I can try and write some things up for you to give a try though

It seems to be the IP address, i physically turned off the cleaner, started it back up, ran a IP scan on the network and found the MAC address. You can find the MAC in the app but the the IP. Once i found right IP i then set it to static on the router.

Ian

Yeah, at the minute the IP changing will make things fall over. I've got autodiscovery working in main though, which will update the IP address when it changes.

DerBaer1986 commented 10 months ago

Hi, i have some Problems too.

I can add the Account, but not the Vacuum.

Logfile:

1.

Logger: custom_components.robovac.tuyalocalapi Source: custom_components/robovac/tuyalocalapi.py:748 Integration: Eufy Robovac (documentation, issues) First occurred: 24. August 2023 um 22:09:34 (2 occurrences) Last logged: 08:11:39

Incomplete read from: bf5440d07d270b8c21zaae (192.168.178.38:6668) : 0 bytes read on a total of undefined expected bytes

2.

Logger: homeassistant.components.vacuum Source: custom_components/robovac/tuyalocalapi.py:678 Integration: Staubsauger (documentation, issues) First occurred: 08:10:18 (1 occurrences) Last logged: 08:10:18

Error while setting up robovac platform for vacuum Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform await asyncio.shield(task) File "/config/custom_components/robovac/vacuum.py", line 110, in async_setup_entry await entity.vacuum.async_connect() File "/config/custom_components/robovac/tuyalocalapi.py", line 678, in async_connect sock.connect((self.host, self.port)) ConnectionRefusedError: [Errno 111] Connection refused

I tried to remove and add the Integration again. I am using the Beta.

jennoian commented 10 months ago

Welcome to give you my login details so you can have a poke around?

I think I'd need a local device, I can try and write some things up for you to give a try though

It seems to be the IP address, i physically turned off the cleaner, started it back up, ran a IP scan on the network and found the MAC address. You can find the MAC in the app but the the IP. Once i found right IP i then set it to static on the router. Ian

Yeah, at the minute the IP changing will make things fall over. I've got autodiscovery working in main though, which will update the IP address when it changes.

Yer no issue, there could be a couple of ways. maybe Directly message me? ian@ijen-it.com

CodeFoodPixels commented 10 months ago

@DerBaer1986 Please give the latest beta a try

Nazze commented 10 months ago

Hi! I had the same problem. I updated to beta 2, but I don't see the "configure" button anymore to add IP addresses etc.

grafik

PS: I removed the Email-Address from the screenshot (so it is there actually).

DerBaer1986 commented 10 months ago

@DerBaer1986 Please give the latest beta a try

Yeah i tried, but its the same.

CodeFoodPixels commented 10 months ago

Sorry, I realised there was a bug in beta 2, please try beta 3

Nazze commented 10 months ago

beta 3 doesn't work for me..

CodeFoodPixels commented 10 months ago

Note that I've intentionally removed the configure button, as the integration now gets the IP from the broadcasts that the vacuum sends out.

Have you tried deleting and re-adding the entry?

Nazze commented 10 months ago

Ah, okay. Deleted and re-added the entry. But still no device or entity. But if you are looking for broadcast... I have a very restrictive network configuration with separate VLANs etc. So it could be that the HA server does not receive the broadcasts. Maybe @DerBaer1986 should give it a try, while I am checking my network configuration.

DerBaer1986 commented 10 months ago

After update Vacuum appears but Not available.

Error:

Logger: homeassistant.components.vacuum Source: custom_components/robovac/vacuum.py:323 Integration: Staubsauger (documentation, issues) First occurred: 17:46:29 (2 occurrences) Last logged: 17:47:39

robovac: Error on device update! Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 576, in _async_add_entity await entity.async_device_update(warning=False) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 938, in async_device_update await self.async_update() File "/config/custom_components/robovac/vacuum.py", line 323, in async_update self.tuyastatus.get(TUYA_CODES["{}_CONSUMABLES".format(robovac_series)])


File "/usr/local/lib/python3.11/enum.py", line 789, in __getitem__
return cls._member_map_[name]
~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'L_CONSUMABLES'
TheBobbu commented 10 months ago

Hi folks! I just got this set up with the beta3 version, and I'm getting the same issue of the entity being created, but not being available. Seems I'm getting a different error in the logs, though, so I thought I'd throw it here in case it helps, or in case it's something different:

failed to set up discovery Traceback (most recent call last): File "/config/custom_components/robovac/init.py", line 57, in async_setup await tuyalocaldiscovery.start() File "/config/custom_components/robovac/tuyalocaldiscovery.py", line 29, in start self._listeners = await asyncio.gather(listener, encrypted_listener) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1386, in create_datagram_endpoint raise exceptions[0] File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1370, in create_datagram_endpoint sock.bind(local_address) OSError: [Errno 98] Address in use

My uneducated concern is that it might be struggling because I have the LocalTuya integration installed separately, and perhaps it's clashing?

MaartenCo commented 10 months ago

Hi git the same problem and found this in the log: custom_components.robovac.robovac.ModelNotSupportedException: Model T2194 is not supported

any chance to add support for this model? Or can i dd it myself to the robovac.py?

CodeFoodPixels commented 10 months ago

@Nazze @DerBaer1986 @TheBobbu Please give beta 4 a try

@MaartenCo This is available in the beta versions if you're willing to give that a try

TheBobbu commented 10 months ago

Thanks so much for working on this, @CodeFoodPixels! Picking up and supporting this is making the final part of my smartphone setup work locally, and it's so awesome.

I've updated to beta4 and I got this error for a few minutes:

This error originated from a custom integration. Logger: custom_components.robovac.tuyalocalapi Source: custom_components/robovac/tuyalocalapi.py:696 Integration: Eufy Robovac (documentation, issues) First occurred: 12:19:18 (6 occurrences) Last logged: 12:23:14

Failed to send data to bfa72e04cbbee28a89cos0 (192.168.0.188:6668) Connection to bfa72e04cbbee28a89cos0 (192.168.0.188:6668) failed: [Errno 113] Host is unreachable Connection to bfa72e04cbbee28a89cos0 (192.168.0.188:6668) failed: [Errno 104] Connection reset by peer

Then it connected for a bit! Then it showed the status as "error." Now it keeps swapping between "docked" and "error" states every 1-3 minutes. Same error as above keeps repeating. Seems the connection is weirdly unstable.

TheBobbu commented 10 months ago

Oh, I think the issue I'm now seeing is the same as #21

So it does look like beta4 fixed this issue for me, it just introduced another.

DerBaer1986 commented 10 months ago

Same here.

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.robovac.tuyalocalapi Source: custom_components/robovac/tuyalocalapi.py:696 Integration: Eufy Robovac (documentation, issues) First occurred: 13:59:50 (3 occurrences) Last logged: 14:01:50

Connection to bf5440d07d270b8c21zaae (192.168.178.38:6668) failed: [Errno 32] Broken pipe

When i send start in Error state, the Vacuum Starts cleaning anyway.

Nazze commented 10 months ago

@Nazze @DerBaer1986 @TheBobbu Please give beta 4 a try

@MaartenCo This is available in the beta versions if you're willing to give that a try

Hi! I downloaded the beta4. I like that I can manually add the IP address again, because that was a show stopper.

So the integration knows, that there is a vacuum "Robbi" under that account. But I am still having the same issue after adding the IP address configuration.

`Logger: homeassistant.components.vacuum Source: custom_components/robovac/vacuum.py:254 Integration: Staubsauger (documentation, issues) First occurred: 19:44:53 (3 occurrences) Last logged: 20:40:34 Error while setting up robovac platform for vacuum

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform await asyncio.shield(task) File "/config/custom_components/robovac/vacuum.py", line 114, in async_setup_entry entity = RoboVacEntity(item) ^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/robovac/vacuum.py", line 254, in init self._attr_access_token = item[CONF_ACCESS_TOKEN]


KeyError: 'access_token'`

PS: Deleting the integration and adding and configuring it again leads to the same issue...
If you wan't, I can enable debug logs and provide you with them...
CodeFoodPixels commented 10 months ago

Could you remove the integration, reinstall from main, enable debug logs and then try configuring it please?

Nazze commented 10 months ago

Could you remove the integration, reinstall from main, enable debug logs and then try configuring it please?

Hey! I did the following steps. Enabled debug. Deleted the integration. Went back to Devices&Services. Added the integration. Entered account data. (Debug mode was still enabled as expected). Configured. BUT: I don't see DEBUG entries in the log. Just the same INFO and ERRORs.

`2023-09-08 23:03:50.173 INFO (MainThread) [homeassistant.components.vacuum] Setting up vacuum.robovac 2023-09-08 23:03:50.174 ERROR (MainThread) [homeassistant.components.vacuum] Error while setting up robovac platform for vacuum Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform await asyncio.shield(task) File "/config/custom_components/robovac/vacuum.py", line 114, in async_setup_entry entity = RoboVacEntity(item) ^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/robovac/vacuum.py", line 254, in init self._attr_access_token = item[CONF_ACCESS_TOKEN]


KeyError: 'access_token'
2023-09-08 23:05:52.044 INFO (MainThread) [pyhap.hap_protocol] ('192.168.79.49', 52407): Connection made to Home Assistant Bridge`
CodeFoodPixels commented 10 months ago

What version are you running? Did you redownload in HACS and select main in the drop down?

On Fri, 8 Sept 2023, 22:10 Nazze, @.***> wrote:

Could you remove the integration, reinstall from main, enable debug logs and then try configuring it please?

Hey! I did the following steps. Enabled debug. Deleted the integration. Went back to Devices&Services. Added the integration. Entered account data. (Debug mode was still enabled as expected). Configured. BUT: I don't see DEBUG entries in the log. Just the same INFO and ERRORs.

2023-09-08 23:03:50.173 INFO (MainThread) [homeassistant.components.vacuum] Setting up vacuum.robovac 2023-09-08 23:03:50.174 ERROR (MainThread) [homeassistant.components.vacuum] Error while setting up robovac platform for vacuum Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform await asyncio.shield(task) File "/config/custom_components/robovac/vacuum.py", line 114, in async_setup_entry entity = RoboVacEntity(item) ^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/robovac/vacuum.py", line 254, in init self._attr_access_token = item[CONF_ACCESS_TOKEN] ~~~~^^^^^^^^^^^^^^^^^^^ KeyError: 'access_token' 2023-09-08 23:05:52.044 INFO (MainThread) [pyhap.hap_protocol] ('192.168.79.49', 52407): Connection made to Home Assistant Bridge

— Reply to this email directly, view it on GitHub https://github.com/CodeFoodPixels/robovac/issues/14#issuecomment-1712225843, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVADADXYZHOSVWOBIWTXZOCVHANCNFSM6AAAAAA34TATWU . You are receiving this because you were mentioned.Message ID: @.***>

Nazze commented 10 months ago

What version are you running? Did you redownload in HACS and select main in the drop down?

Retested now with main an Debug Logs on:

_023-09-09 11:29:05.709 INFO (SyncWorker_11) [homeassistant.loader] Loaded version from homeassistant.components.version 2023-09-09 11:29:05.713 INFO (SyncWorker_11) [homeassistant.loader] Loaded tod from homeassistant.components.tod 2023-09-09 11:29:05.739 INFO (SyncWorker_11) [homeassistant.loader] Loaded local_ip from homeassistant.components.local_ip 2023-09-09 11:29:39.587 ERROR (SyncWorker_3) [custom_components.robovac.config_flow] Vacuum Robbi (bfbe5b7eb1edfa97c2m4lx) found on Eufy, but not on Tuya. Vacuum will not be added. 2023-09-09 11:29:39.607 INFO (MainThread) [homeassistant.setup] Setting up robovac 2023-09-09 11:29:39.609 DEBUG (MainThread) [custom_components.robovac.tuyalocaldiscovery] Listening to broadcasts on UDP port 6666 and 6667 2023-09-09 11:29:39.609 INFO (MainThread) [homeassistant.setup] Setup of domain robovac took 0.0 seconds 2023-09-09 11:29:39.660 INFO (MainThread) [homeassistant.components.vacuum] Setting up vacuum.robovac 2023-09-09 11:30:56.187 ERROR (SyncWorker_15) [custom_components.robovac.configflow] Vacuum Robbi (bfbe5b7eb1edfa97c2m4lx) found on Eufy, but not on Tuya. Vacuum will not be added. 2023-09-09 11:30:56.191 INFO (MainThread) [homeassistant.components.vacuum] Setting up vacuum.robovac

CodeFoodPixels commented 10 months ago

Weirdly, your vacuum is in the eufy devices, but not in the Tuya ones, so it can't grab a local key.

Are you able to control your vacuum in the eufy app?

What model is it?

On Sat, 9 Sept 2023, 10:46 Nazze, @.***> wrote:

What version are you running? Did you redownload in HACS and select main in the drop down?

Retested now with main an Debug Logs on:

023-09-09 11:29:05.709 INFO (SyncWorker_11) [homeassistant.loader] Loaded version from homeassistant.components.version 2023-09-09 11:29:05.713 INFO (SyncWorker_11) [homeassistant.loader] Loaded tod from homeassistant.components.tod 2023-09-09 11:29:05.739 INFO (SyncWorker_11) [homeassistant.loader] Loaded local_ip from homeassistant.components.local_ip 2023-09-09 11:29:39.587 ERROR (SyncWorker_3) [custom_components.robovac.config_flow] Vacuum Robbi (bfbe5b7eb1edfa97c2m4lx) found on Eufy, but not on Tuya. Vacuum will not be added. 2023-09-09 11:29:39.607 INFO (MainThread) [homeassistant.setup] Setting up robovac 2023-09-09 11:29:39.609 DEBUG (MainThread) [custom_components.robovac.tuyalocaldiscovery] Listening to broadcasts on UDP port 6666 and 6667 2023-09-09 11:29:39.609 INFO (MainThread) [homeassistant.setup] Setup of domain robovac took 0.0 seconds 2023-09-09 11:29:39.660 INFO (MainThread) [homeassistant.components.vacuum] Setting up vacuum.robovac 2023-09-09 11:30:56.187 ERROR (SyncWorker_15) [custom_components.robovac.config_flow] Vacuum Robbi (bfbe5b7eb1edfa97c2m4lx) found on Eufy, but not on Tuya. Vacuum will not be added. 2023-09-09 11:30:56.191 INFO (MainThread) [homeassistant.components.vacuum] Setting up vacuum.robovac

— Reply to this email directly, view it on GitHub https://github.com/CodeFoodPixels/robovac/issues/14#issuecomment-1712470910, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVBD2XPXMNSR4JMCENDXZQ3F7ANCNFSM6AAAAAA34TATWU . You are receiving this because you were mentioned.Message ID: @.***>

Nazze commented 10 months ago

Yes, works with the app. It is a RoboVac G30 Edge IMG_7916

CodeFoodPixels commented 10 months ago

@Nazze could you run this and give me the output please? Nothing sensitive is logged, so no need to redact.

https://replit.com/@CodeFoodPixels/robovac-auth-test

saxmanio85 commented 10 months ago

Hi,

I just wanted to say thanks you for picking this integration up. I pulled Main last night and I was able to successfully add my RoboVac 30C. I haven't look at logs for errors but it seems to be functioning.

I am currently running:

Running in a Docker container on a Synology NAS.

If there is any testing I can assist with please do let me know.

Nazze commented 10 months ago

@Nazze could you run this and give me the output please? Nothing sensitive is logged, so no need to redact.

https://replit.com/@CodeFoodPixels/robovac-auth-test

Do you want me to run it on the client PC or on the HA server. I am asking, because HA server and PC client are running in different networks.

CodeFoodPixels commented 10 months ago

It doesn't matter, it's only checking the info that the integration gets from the Eufy and Tuya servers during set up

On Tue, 12 Sept 2023, 10:18 Nazze, @.***> wrote:

@Nazze https://github.com/Nazze could you run this and give me the output please? Nothing sensitive is logged, so no need to redact.

@.***/robovac-auth-test

Do you want me to run it on the client PC or on the HA server. I am asking, because HA server and PC client are running in different networks.

— Reply to this email directly, view it on GitHub https://github.com/CodeFoodPixels/robovac/issues/14#issuecomment-1715336586, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVH3YV4ELGU5FJEI4ODX2ASIDANCNFSM6AAAAAA34TATWU . You are receiving this because you were mentioned.Message ID: @.***>

Nazze commented 10 months ago

Done

CodeFoodPixels commented 10 months ago

Have you got the output? You can just copy and paste it here

Nazze commented 10 months ago

Sorry - I thought it will put the logs on your server. You just need the output?

python3 main.py ** Robovac Auth Tester ** Anker/Eufy Username: <<<<>>>>> Password: Logging in to Eufy Success Getting Eufy device info Success Found Eufy devices: Cleaning device: Robbi () Starting Tuya calls Base URL: https://a1.tuyaeu.com Timezone: Europe/Berlin Country code: 44 Region code: EU Getting Tuya devices Getting TUYA session Requesting token Success Base URL: https://a1.tuyaeu.com Country code: 49 Success My Home (163610125) devices: Test script ran successfully 

CodeFoodPixels commented 10 months ago

Well that's really odd. Tuya is reporting that you don't have any devices! I'll have to have a dig some more.

CodeFoodPixels commented 10 months ago

I've done some updates to that script, can you try again and post the output here please? 🤞

Nazze commented 10 months ago

python3 main.py ** Robovac Auth Tester ** Anker/Eufy Username: <<<<<<<<>>>>>>>>>> Password: Logging in to Eufy Success Getting Eufy device info Success Devices Cleaning device: Robbi () Found device in tuya Device has local key! Test script ran successfully 

CodeFoodPixels commented 9 months ago

Awesome! I'd changed it to try and get the device from another tuya api and it seems to have the right data. I'll get some updates done to main

Nazze commented 9 months ago

Nice 😊 🥳. Will update and give you feedback

CodeFoodPixels commented 9 months ago

I've just pushed the updates to main, if you could update it and reconfigure, then hopefully you should have a vacuum!

Nazze commented 9 months ago

Bildschirmfoto 2023-09-12 um 18 57 28

I have a vacuum now, but the entity is shown as unavailable...

CodeFoodPixels commented 9 months ago

You said that you have very restrictive VLANs, it may be that HA hasn't been able to pick up the IP because of this. You may need to manually set it

Nazze commented 9 months ago

Oh - I was 100% sure that I did that. But I am not sure, if I had enabled the "auto discovery" flag. I disabled it (auto-discover), configured the IP again, reloaded the integration and waited a couple of seconds or minutes. Now I can see the state and can control the device. THANKS :-D

TheBobbu commented 9 months ago

I deleted my configuration, switched to main, restarted, and almost everything worked flawlessly. The device came up as unavailable - and I don't have restrictive VLANs. Log says:

This error originated from a custom integration.

Logger: custom_components.robovac Source: custom_components/robovac/tuyalocaldiscovery.py:37 Integration: Eufy Robovac (documentation, issues) First occurred: 12 September 2023 at 18:22:24 (1 occurrences) Last logged: 12 September 2023 at 18:22:24

failed to set up discovery Traceback (most recent call last): File "/config/custom_components/robovac/tuyalocaldiscovery.py", line 34, in start self._listeners = await asyncio.gather(listener, encrypted_listener) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1386, in create_datagram_endpoint raise exceptions[0] File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1370, in create_datagram_endpoint sock.bind(local_address) OSError: [Errno 98] Address in use

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/config/custom_components/robovac/init.py", line 61, in async_setup await tuyalocaldiscovery.start() File "/config/custom_components/robovac/tuyalocaldiscovery.py", line 37, in start raise DiscoveryPortsNotAvailableException( custom_components.robovac.tuyalocaldiscovery.DiscoveryPortsNotAvailableException: Ports 6666 and 6667 are needed for autodiscovery but are unavailable. This may be due to having the localtuya integration installed and it not allowing other integrations to use the same ports. A pull request has been raised to address this: https://github.com/rospogrigio/localtuya/pull/1481

But manually adding the IP fixed this! And I'm not seeing the error state fluctuations any more! So the auto-detect may be a bit wonky when localtuya is installed alongside it, but everything seems to be working otherwise!

Thanks so much, very nice work!