VeSync integration appears to do nothing/fails

Hi,

I know I’ll get berated as I’ve posted something similar very recently but I’ve spent hours trying to get it to work and all to no avail.

I have now begun a completely fresh and new install of HassOS on a RaspPi3b+. All the standard way, everything functions perfectly and everything appears to work as intended, as indicated in any ‘official’ instructions … EXCEPT …

The VeSync integration does not appear to do anything. It displays in the integration page but seems to make no other changes to my install … ok maybe it makes changes in areas I can’t regularly access but that just makes it harder for me to troubleshoot. And no ‘work-around’ that I’ve google is working. Most of them are old or have, apparently, been integrated into HA …

As well as below, I seem to get some error about email failing but I have quadruple checked that my log is correct and that the app works.

Logger: homeassistant.config_entries
Source: components/vesync/common.py:29
First occurred: 10:09:38 AM (1 occurrences)
Last logged: 10:09:38 AM

Error setting up entry ******@gmail.com for vesync
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 239, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File “/usr/src/homeassistant/homeassistant/components/vesync/ init .py”, line 79, in async_setup_entry
device_dict = await async_process_devices(hass, manager)
File “/usr/src/homeassistant/homeassistant/components/vesync/common.py”, line 29, in async_process_devices
if not switch.is_dimmable():
File “/usr/local/lib/python3.8/site-packages/pyvesync/vesyncswitch.py”, line 29, in is_dimmable
if ‘dimmable’ in feature_dict.get(self.device_type):
TypeError: argument of type ‘NoneType’ is not iterable

As an added info share … a programmer friend of mine believes the error logs hint towards a dimmer state being the issue. Either the VeSync integration is looking for a dimmer switch where one does not exist or one of my switches is being classed as a dimmer when it is not.

I believe I read somewhere about an update to the vesync integration that was about dimmers … maybe they are linked?

Is there a way to downgrade an integration update like you can the Home Assitant version?

Through experimenting with up-grading and down-grading my HA version, I can confirm that up to HA update 0.116.4 everything works fine, for me. My switches and outlets exist and are functional.

HA version 0.117.1 and beyond, my switches and outlets are still visible as entities but are designated as unusable (I forget the exact verbiage … something like ‘recovered’ or recoverable’ … ultimately nothing I can do with them does anything).

On a recent HA version, one of the last few, my switches and outlets then totally disappeared. None of them are detected and/or visible as entities in HA.

None of the custom components fixes (all of which appear to be quite old) work for me. Currently going to sit on 0.116.4 until something changes or I can figure out how to make them work in the current version(s) of HA as custom components.

If you have a VeSync enetiy issue, I would suggest downgrading to 0.116.4.

I know this issue is a month old so not sure if you still have the issue. I was encountering the same error and found out it was due to me having a couple of the 3-way switches. I haven’t looked into the issue that deeply but my guess is when it sees the switch, it’s looking to see if it has the feature of ‘is_dimmable’ and it’s not assigned. If you know how to edit that file (vesyncswitch.py), you can add it to the feature_dict like it is below (the ESWL03) and that seems to solve the issue.

feature_dict = {
    'ESWL01': [],
    'ESWL03': [],
    'ESWD16': ['dimmable']
}

Thank you! I do indeed have at least one 3-way switch.

I don’t know inherently how to do what you suggest but I have some basic enough ideas that I might be able to find out how to do it.

You are suggesting that I edit the vesyncscwitch.py python file in the core integrations of HA correct? I do not have it as a custom component. My current fix has been to down-grade HA until it worked again and stay there but I’ll look into seeing if I can get this to work.

What is the best/easiest program in HA to find and edit this file? Or do I need to get root access some way?

Again, thank you for the possible solution.

Yes, it’s the vesyncscwitch.py file that’s part of the core that needs to be edited. I run HA via docker so I’m not entirely sure how it’s setup the way you have it but I would assume as long as you had access to the terminal or ssh, you should be able to navigate to /usr/local/lib/python3.8/site-packages/pyvesync/ and edit the file with nano or vi.

I run HassIO on a Raspberry Pi.

I’ve had issues with trying to understand/use terminal and/or SSH to get to the folder you suggest but I’ll give it a try.

Thanks again.

Alternatively, if you wanted to make a copy of your vesyncswitch.py available to me so that I can install it as a custom component, that would also be an amenable solution … and maybe easier than me trying to access root directories on my current HassOS install (information is sketchy at best on how to do this or if it’s even possible).

Cheers,

D.

Hope this helps. These are all the core pyvesync files from my setup
https://file.io/7FEJMglExHBY

Thank you. I’ll give it a go and let you know.

Cheers,

D.

Looks like I’m going to switch to a Home Assistant Supervised install rather than HassOS. Seems like the only way I’m going to be able to get my devices supported in the up-to-date Home Assistant core.

Thanks for your help anyway … the best lead, and most likely the actual issue, I’ve had for months. Just a shame it seemingly isn’t getting fixed any time soon.

Ok, an update … it seems that installing HA Supervisor does not help. It does give me, seemingly far more access to my files and folders but I cannot find any instance of vesync or pyvesync or anything in the terminal … it doesn’t seem to exist or I simply, still do not have access to it still even with a Supervisor install of HA.