kevinvincent / ha-wyzesense

A Home Assistant Component to interface with the WYZE Sense hub and sensor system
368 stars 98 forks source link

Latest Hassio - Wyzesense not working #155

Closed mhendu closed 4 years ago

mhendu commented 4 years ago

After some time I decided to upgrade Hassio (running on Ubuntu / Docker), and also the Wyzesense component (from version 0.6). I have a motion sensor and two door sensors, one of which no longer functions after being left outside to trigger when the gate on my fence opened (thought it would be an interesting test, but unfortunately a failure). On installing version 0.8 and restarting the devices showed as unavailable, which I expected since the upgrade suggests that users must ‘retrigger’ the devices to have them report properly. I went and triggered both good sensors, but no luck. Uninstalled Wyzesense, reinstalled it, restarted, triggered sensors, still not working. Tried reverting to version 0.7, then triggering, still no luck. Reverted back to 0.6, triggered, again, no luck. Uninstalled, restarted, reinstalled 0.8, restarted, triggered sensor, will not work. I also don't see any Wyze Services listed.

What else should I try to get the sensors working again?

mhendu commented 4 years ago

Also, I see this in the logs:

Error while setting up wyzesense platform for binary_sensor Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 178, in _async_setup_platform await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT) File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for return fut.result() File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run result = self.fn(*self.args, **self.kwargs) File "/config/custom_components/wyzesense/binary_sensor.py", line 78, in setup_platform _LOGGER.debug("Attempting to open connection to hub at " + config[CONF_DEVICE]) TypeError: can only concatenate str (not "NoneType") to str

mhendu commented 4 years ago

Problem solved (temporarily). I had the integration set to automatically identify the bridge, which was working before I upgraded, but appears to no longer be functioning. I unplugged the controller, plugged it back in, ran dmesg and saw it was on hidraw2, so once I set that in configuration.yaml and rebooted, then retriggered the sensors, they showed up correctly.

That said, fixing the bridge to hidraw2 seems unlikely to stick on reboot based on what I've read, which raises the question, why doesn't auto-detecting the bridge work correctly? Any suggestions?

RoldyBuffalo commented 4 years ago

Known issue, read the docs and close the issue. There are known fixes, highly suggest scrolling down on this (or any) installation guide further then 12 lines.

Example, pulled directly from installation guide.

Advanced Configuration Specify hidraw device You can also optionally specify the hidraw device to use:

binary_sensor:

Troubleshooting Passing dongle hidraw device into Docker: Please follow the steps outlined in this comment Permission denied /dev/hidraw0 Additional Information If you see this error on a Hassio installation please follow Reporting an Issue below. It is most likely an issue with your specific setup. This is known to occur on Hassbian. This occurs when the group homeassistant is denied from accessing hidraw devices. Solution Create / Modify the file /etc/udev/rules.d/99-com.rules on your machine and insert KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0666" Restart your machine TimeoutError: _DoCommand Ensure that you have updated to the latest component code. If you still see this error follow Reporting an Issue below.

RoldyBuffalo commented 4 years ago

Just saying, with checks notes 61 open issue tickets, this one is one of the ones that bugs the hell out of me.

Also, considering the addon version .06 was clear in November, maybe take a glance at the patch notes?

image

image

it includes all the changes the docs I mentioned, appreciate you understanding the frustration. Thanks.

mhendu commented 4 years ago

Thanks, but none of that really explains why in version 0.0.6 setting it to autodetect the port worked, and now it doesn't. Not a particularly helpful response, or a very friendly tone. Instead of being frustrated and insulting, why not assume that I actually tried to troubleshoot and wasn't able to fix it based on existing documentation? I have read the part about fixing the port to /dev/wyzesense but this wasn't necessary before and from the comments I read it seemed that people were having trouble doing this on Hassio via Docker / Ubuntu. I'm also a fairly inexperienced Linux user. Appreciate your understanding.

RoldyBuffalo commented 4 years ago

I mean, you updated 2 versions and expect it to remain exactly the same, things change, it's not as if this component is managed by wyze. this component was created by an enthusiast in college, he no longer has time to work on it so it's up to people that do know how things work to continue updating it. Futhermore, checking any number of already closed/open issue tickets that have had these issues explained again and again, you may have discovered there is nothing, anyone, not even you can do about docker changing your hidraw device. It's a known issue, it's been known since the update TO 0.0.6. Please, consider, that yes you may be inexperienced, but not having researched it, and asking openly, with no effort on your end to discover the information already available to you, makes you seem daft as well. Futhermore, again, I highly suggest you take this time to research any other issues you may be having as there are, again, 60 other open tickets, consider others could, and will have the same issue as you. post on their issue ticket instead of creating a new one.

My suggestion? Update the firmware on your bridge, check for faulty devices in your states menu (they will have zero mac address or 140+rssi) and remove them, and then you should be fine. the suggestions that are given to implement the hidraw port into hassos, and maintain the same port, work across different installs. I at one point needed to specify the device, I did the fix as outlined in the installation guide, and now I'm on auto discovery.

RoldyBuffalo commented 4 years ago

Show me another issue ticket in which people are having issues? or comments rather? You mentioned comments,

Here are some issue tickets that have been closed on the issue at hand:

image hidraw issue

image

kevin, who is no longer on the project, explaining the frustration with hidraw, this is on issue 91, he mentioned the fix outlined in issue 66

your issue number? 155, and here we are having the same discussion :)

mhendu commented 4 years ago

Perhaps you missed it in my earlier response, but as I said, I did look through tickets (particularly issue #66) before posting - it wasn't obvious to me at first that this was a device discovery issue (none of the documentation mentions that the auto function doesn't work anymore, just some scattered references in various issues), and once I figured that out, I thought it would be helpful to indicate why it wasn't working. Issue #66 seems to indicate that on configurations like mine (using Hassio Supervisor on Ubuntu) there is not a noted fix (something about the abstraction layer).