Custom Integration: Linksys Velop

was set to 30…have changed now to 60…will monitor again and let you know :+1:t2:

How are things with the entities today?

I did set mine to 60 as well.
But other than that, I also changed my local password to a more complex one.
I also did a reboot
but seems like it is still not stable.
it is still showing unavailable as soon as speedtest is kicked off for me
but only down for about 1 min or so then back to online again.

I’m going to need full debug logs then, I think. Preferably when there’s a steady state of entities being unavailable and also when a speedtest is started.

I’d be shooting in the dark otherwise because I’m not seeing an issue here.

1 Like

busy couple of days…sorry for lateness in response.
so have removed the two components, reinstalled your one, set timeout to 60, rebooted and waited…

Unfortunately same story…every so often the scan times out and devices go unavailable for a few seconds (and then return fine) - debug log below, but not sure anything of value in there?
I’m using the Velop in Bridge Mode so not running speedtest or the like…they just sit there as access points

Let me know what you think and if you need anything else…

||Line   90: 2022-06-10 18:44:01 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> entered|
|---|---|
||Line   91: 2022-06-10 18:44:01 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> preparing memory storage|
||Line   92: 2022-06-10 18:44:01 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up Mesh for the coordinator|
||Line   93: 2022-06-10 18:44:01 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up the coordinator|
||Line  117: 2022-06-10 18:44:12 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 11.003 seconds (success: False)|
||Line 1024: 2022-06-10 18:47:22 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> entered|
||Line 1025: 2022-06-10 18:47:22 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> preparing memory storage|
||Line 1026: 2022-06-10 18:47:22 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up Mesh for the coordinator|
||Line 1027: 2022-06-10 18:47:22 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up the coordinator|
||Line 1053: 2022-06-10 18:47:35 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 12.857 seconds (success: False)|
||Line 1057: 2022-06-10 18:47:47 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> entered|
||Line 1058: 2022-06-10 18:47:47 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> preparing memory storage|
||Line 1059: 2022-06-10 18:47:47 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up Mesh for the coordinator|
||Line 1060: 2022-06-10 18:47:47 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up the coordinator|
||Line 1072: 2022-06-10 18:48:01 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 13.499 seconds (success: False)|
||Line 1104: 2022-06-10 18:48:23 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> entered|
||Line 1105: 2022-06-10 18:48:23 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> preparing memory storage|
||Line 1106: 2022-06-10 18:48:23 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up Mesh for the coordinator|
||Line 1107: 2022-06-10 18:48:23 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up the coordinator|
||Line 1295: 2022-06-10 18:48:37 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 13.823 seconds (success: True)|
||Line 1296: 2022-06-10 18:48:37 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> setting up platforms: ['binary_sensor', 'button', 'device_tracker', 'select', 'sensor', 'switch', 'update']|
||Line 1297: 2022-06-10 18:48:37 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> registering services|
||Line 1298: 2022-06-10 18:48:37 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> listening for config changes|
||Line 1299: 2022-06-10 18:48:37 DEBUG (MainThread) [custom_components.linksys_velop] async_setup_entry (SERIAL_PARENT_UNIT) --> exited|
||Line 1300: 2022-06-10 18:48:40 DEBUG (MainThread) [custom_components.linksys_velop] LinksysVelopMeshBinarySensor --> entity_cleanup (SERIAL_PARENT_UNIT) --> entered|
||Line 1301: 2022-06-10 18:48:40 DEBUG (MainThread) [custom_components.linksys_velop] LinksysVelopMeshBinarySensor --> entity_cleanup (SERIAL_PARENT_UNIT) --> exited|
||Line 1302: 2022-06-10 18:48:40 DEBUG (MainThread) [custom_components.linksys_velop] LinksysVelopNodeSensor --> entity_cleanup (SERIAL_PARENT_UNIT) --> entered|
||Line 1303: 2022-06-10 18:48:40 DEBUG (MainThread) [custom_components.linksys_velop] LinksysVelopNodeSensor --> entity_cleanup (SERIAL_PARENT_UNIT) --> exited|
||Line 1343: 2022-06-10 18:49:49 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 9.371 seconds (success: True)|
||Line 1382: 2022-06-10 18:50:57 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 8.738 seconds (success: True)|
||Line 1415: 2022-06-10 18:52:07 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 10.617 seconds (success: True)|
||Line 1449: 2022-06-10 18:53:21 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 14.636 seconds (success: True)|
||Line 1486: 2022-06-10 18:54:31 ERROR (MainThread) [custom_components.linksys_velop] Error fetching linksys_velop (SERIAL_PARENT_UNIT) data: Timeout Error|
||Line 1487: 2022-06-10 18:54:31 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 10.772 seconds (success: False)|
	Line 1529: 2022-06-10 18:55:39 INFO (MainThread) [custom_components.linksys_velop] Fetching linksys_velop (SERIAL_PARENT_UNIT) data recovered
	Line 1530: 2022-06-10 18:55:39 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 8.790 seconds (success: True)
	Line 1559: 2022-06-10 18:56:47 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 8.768 seconds (success: True)
	Line 1599: 2022-06-10 18:57:55 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 8.885 seconds (success: True)
	Line 1628: 2022-06-10 18:59:04 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 9.435 seconds (success: True)
	Line 1662: 2022-06-10 19:00:14 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 10.592 seconds (success: True)
	Line 1695: 2022-06-10 19:01:24 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 10.288 seconds (success: True)
	Line 1731: 2022-06-10 19:02:32 DEBUG (MainThread) [custom_components.linksys_velop] Finished fetching linksys_velop (SERIAL_PARENT_UNIT) data in 8.808 seconds (success: True)

Hi, no problem. Had a quick look and your timings seem rather slow. The data coordinator for my mesh finishes it’s cycle in about 2 seconds.

Could you turn on logging for pyvelop as well - I think that’s in the README as well.

It’ll have some details in it they you may want to keep private so feel free to either PM them to me or redact them if it makes sense to.

I’ll use that to see if there’s anything I can do to speed things up. There’s a setting for changing the request timeout - have a look at the Advanced Options in the README. Have a play with that if you want after grabbing a log including pyvelop. That way we can test in parallel.

1 Like

right…have logs with pyvelp debug enabled too…
your profile is private here so can’t PM you…is all I need to redact the hashed password and (maybe) the IP address? If that’s it I can post up here…

Cheers, definitely the hashed password. Private IP addresses should be fine - nobody can reach those. There could be come serial numbers as well.

I’ve just updated profile, can you PM the file now? If not, I’ll have to look tomorrow.

That’s gone over to you via PM now…let me know what you think.

I’ll wait to hear back before playing with the Advanced Options in core.config_entries but out of curiosity what would you recommend upping api_request_timeout to (it’s currently at 10)?

2022.6.1b0 is out: -

  • Add unique id to device sensors (carried forward from 2022.5.3b0)
  • Allow request timeout to be configured in the UI
  • Raise a warning when a timeout occurs in polling
  • More debug logging in the polling function

Breaking Change

The format of the devices attribute for the offline sensor is now an object containing properties rather than a list of names. This may affect any automations/scripts/templates that you may have written.


2022.6.1 is now out and available in HACS

2 Likes

2022.6.1 now includes the ability to change the request timeout for the mesh. It will also raise a warning in the logs so you can see if a timeout has been raised. You should be able to use that to raise the timeout to allow results to be processed. Just ensure that the request timeout is lower than the scan interval otherwise you’ll probably end up in a world of pain.

There are also more messages in the debug logs to help diagnose the issue. So, if you’re still seeing a problem enabled debug logging and feel free to PM me the logs.

Hopefully you should all spot a Linksys icon/logo being used soon. I’ve successfully had them merged into the brands repository now.

2 Likes

2022.6.2b0 is out: -

  • change default scan interval for newly configured instances
  • ensure label for api_request_timeout is available when configuring new instance
  • update node name if it has changed on the mesh
  • use the device_registry_entry function to get the mesh
  • Device tracker tweaks
  • log warning and stop polling missing tracker
  • log warning and stop polling missing tracker on startup
  • better manage unknown speedtest results in card 2
  • update action buttons in card 3

2022.6.2b1 is out: -

  • tidy up handling removal of device trackers
  • fix attribute error on unignore of integration

2022.6.2b2 is out: -

  • ensure offline device trackers selected are added in an enabled state

2022.6.2 is now available in HACS.

Notes

There shouldn’t be any breaking changes in this release but device trackers have had some more love. If you’ve removed the device being tracked from the mesh, but not from HASS, this will be found, a warning listed in the logs and the tracker ID removed from being polled. This causes the entitiy to become unavailable but I didn’t want to just remove it and make things completely seemless - it would probably create complaints about entities being removed without knowledge. The existence of these devices is carried out on both startup and the device_tracker scan interval.

1 Like

I think I am going to ask a dumb question here, I managed to install the custom component through HACS, and I think the next step after restarting HA I should find and add the new integration in settings by clicking on +add integration button but I couldn’t find it in the list.

If the integration can it will discover your primary node and it should be visible on the Integrations tab in the Devices & Services page. If you don’t see it there, then either SSDP isn’t enabled or the primary node hasn’t broadcast itself yet.

If you want to manually add the mesh then you can do so by clicking the + Add Integration button. You should be able to find it as per the following screenshot.

image

I have seen it when this doesn’t appear, in those cases a forced refresh of the browser normally makes the integration available.

2 Likes

Thanks bro, the forced refresh helped

now I have done setting it up, I need to automate that whenever my car is connected to the wifi the garage door opens. In the configuration menu I found it in the presence list and checked it. But I couldn’t find it in the entity list to automate it.
Please help how to do it?

Did you do this to the release that happened today? Was your car on the Wi-Fi when you selected it as a device tracker?

HASS will create a device tracker as a disabled entity if it can’t be tied back to a device correctly. This happened when the device was offline when selected for this integration (fixed in latest release).

So, you should be able to see it as a disabled entity against the integration. If you enable it, next time it comes online the entity will be tied back correctly l, but you may need to reload the integration/restart core to get it to show against Mesh properly.

1 Like

Thanks, bro, I found it in the disabled devices.

Hi All,

Linksys velop router is now insisting on a new 10 digit password. How do I edit the credentials in Homeassistant without deleteing the devices and re-installing? thanks