Weback cloud integration: testers and help required

Me again. Spent a little time on this this weekend. I am able to turn the device on from Node Red when we leave the house and turn it off when presence detects someone is back home. This is great!

I did notice that the on/off state does not change when the vacuum is running. My raw_state when cleaning reads ‘SmartClean’ . I noticed in https://github.com/opravdin/weback-unofficial/blob/6f136d1ca337dc05b1b34a10e0251d6a7b40362e/weback_unofficial/vacuum.py that this is not an option. I also see from the WeBack custom component page that you’re doing a

import weback_unofficial.vacuum as wb_vacuum

I think this is the file I need to modify but I don’t know where this is stored on my local system. I know just enough about programming to make this work but I don’t know how this is possible without knowing where this file is stored. Can you provide this information?

Can someone tell me how to get the vacuum to report status on MQTT or is that only for sending commands? I was not able to figure out how to use MQTT at all.

EDIT I submitted a PR for the additional state.

How do I add this Repo? I always get the same error

20-10-23 01:11:18 ERROR (MainThread) [supervisor.store] https://github.com/opravdin/weback-hass is not a valid add-on repository.

I have tried rebooting and still cannot add the repo.

Hi! This repo is already in hacs. You don’t need to add it manually

Thank you for PR! It is also needed to make a little update in webac hass repo, but I do it by myself

My integration is not support any devices other than vacuum cleaners because I don’t have them to reverse engineer protocol :frowning:

what is it called?

Name contains “weback” word, you will find it easilly

Perhaps i am confused. I am new to Hass.io I am searching in the addons section and integrations section and do not see anything labeled “weback”

It is not in home assistant store but in HACS store

I apologies for my noobnesss. I had misunderstood what HACS was. I have since installed HACS and added weback integration to my hass.io. I can confirm that is basic functionality is working. I was even able to log in with my email using +1-email and password

Next i need to figure out how to setup automations for the vacuum

1 Like

Been using this integration with a Neatsvor X500 for a while, works really well for me.

However, one aspect of the X500 device that really annoyed me, even when brand new… on hardwood floors quite often the robot would ‘fire’ larger bits of twigs, dirt, etc straight out the back of the robot. Small bits of dust, dirt, it seemed to pick up no problem. It was just the larger ‘bits’.

Cleaning and replacing the filters, taking the robot apart to make sure the insides were free of dirt, made no difference. This did not happen with a Eufy 30C that I have also have. On carpets, the X500 seemed to be ok.

When comparing the X500 to the Eufy, underneath, just behind the roller towards the back of the robot, the X500 did not have a small strip of rubber pointing down. The Eufy did, protruding down and making more of contact with the floor. This small strip of rubber, stops the roller from firing bits of dirt straight out the back of the robot.

So I super-glued a small strip of ‘D’ shaped, soft rubber draught excluder, to the bottom of the X500, just behind the roller, on the removable casing that holds the roller in place. Now, when it rolls over a large bit of dirt it cannot ‘fire’ it out of the back of the robot. Causing it to go around the roller a few more times, before eventually being sucked up. Floors are now completely spotless at the end of a clean.

I guess the downside, potentially, if a stone gets stuck it could potentially scratch the floor if it gets dragged along. Although having learnt this years ago with a Roomba, I usually perform a quick scout of things that potentially scratch the floor.

Just something random that may, or may not, help another with a similar problem.

I guess this note is not related to theme of this discussion but it’s really helpful! I have same issue: there are couple of large pieces of dirt on my electric scooter after riding on wet dirt area, and these pieces are falling on the floor of my house. I will try to 3d pring missing rubber part with TPU
Thank you!

1 Like

Did you get it?

I only see the on / off switch.

Thats the only entity I find.

I see much more. On and off home base power. Status cleaning or mop.

Hello,
can you please evaluate the possibilities to integrate also air purifier (tandomi)? cloud is the same :wink:
many thanks

I bought myself the Neatsvor X600.
I have just installed your integration and I can confirm it works with the X600!
specifically with model number: x600-20-4e-f6-04-d4-8a

Capture

I tried changing the fan speed, but this had no effect.
start, stop, spot, and “back to base” commands work like a charm

Thanks for your work on this integration it works great. :slight_smile:

Marnix

It looks as though a certificate has expired or broken in aws causing a problem with the integration.

The issue has been logged on GitHub.

1 Like

I am getting the following error, can someone help in tester x-500

Logger: homeassistant.components.vacuum
Source: custom_components/weback/vacuum.py:64
Integration: Vacuum (documentation, issues)
First occurred: 1:02:34 PM (1 occurrences)
Last logged: 1:02:34 PM

weback: Error on device update!

Traceback (most recent call last): File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 699, in urlopen httplib_response = self._make_request( File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 382, in _make_request self._validate_conn(conn) File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 1010, in validate_conn conn.connect() File “/usr/local/lib/python3.8/site-packages/urllib3/connection.py”, line 411, in connect self.sock = ssl_wrap_socket( File "/usr/local/lib/python3.8/site-packages/urllib3/util/ssl.py", line 428, in ssl_wrap_socket ssl_sock = ssl_wrap_socket_impl( File "/usr/local/lib/python3.8/site-packages/urllib3/util/ssl.py", line 472, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) File “/usr/local/lib/python3.8/ssl.py”, line 500, in wrap_socket return self.sslsocket_class._create( File “/usr/local/lib/python3.8/ssl.py”, line 1040, in _create self.do_handshake() File “/usr/local/lib/python3.8/ssl.py”, line 1309, in do_handshake self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1124)

Hi, i´m trying to get my x500 integrated in HA - sadly I get the following Error. Can anybody help please???

Logger: homeassistant.components.vacuum
Source: custom_components/weback/vacuum.py:64
Integration: Vacuum (documentation, issues)
First occurred: 3:09:00 (1 occurrences)
Last logged: 3:09:00

weback: Error on device update!
Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 699, in urlopen
httplib_response = self._make_request(
File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 382, in _make_request
self._validate_conn(conn)
File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 1010, in validate_conn
conn.connect()
File “/usr/local/lib/python3.8/site-packages/urllib3/connection.py”, line 411, in connect
self.sock = ssl_wrap_socket(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/ssl
.py", line 428, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/ssl
.py", line 472, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
File “/usr/local/lib/python3.8/ssl.py”, line 500, in wrap_socket
return self.sslsocket_class._create(
File “/usr/local/lib/python3.8/ssl.py”, line 1040, in _create
self.do_handshake()
File “/usr/local/lib/python3.8/ssl.py”, line 1309, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.8/site-packages/botocore/httpsession.py”, line 254, in send
urllib_response = conn.urlopen(
File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 755, in urlopen
retries = retries.increment(
File “/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py”, line 506, in increment
raise six.reraise(type(error), error, _stacktrace)
File “/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py”, line 734, in reraise
raise value.with_traceback(tb)
File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 699, in urlopen
httplib_response = self._make_request(
File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 382, in _make_request
self._validate_conn(conn)
File “/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py”, line 1010, in validate_conn
conn.connect()
File “/usr/local/lib/python3.8/site-packages/urllib3/connection.py”, line 411, in connect
self.sock = ssl_wrap_socket(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/ssl
.py", line 428, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/ssl
.py", line 472, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
File “/usr/local/lib/python3.8/ssl.py”, line 500, in wrap_socket
return self.sslsocket_class._create(
File “/usr/local/lib/python3.8/ssl.py”, line 1040, in _create
self.do_handshake()
File “/usr/local/lib/python3.8/ssl.py”, line 1309, in do_handshake
self._sslobj.do_handshake()
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 359, in _async_add_entity
await entity.async_device_update(warning=False)
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 466, in async_device_update
await task
File “/usr/local/lib/python3.8/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/weback/vacuum.py”, line 64, in update
self.device.update()
File “/usr/local/lib/python3.8/site-packages/weback_unofficial/client.py”, line 165, in update
shadow = self.client.get_device_shadow(self.name)
File “/usr/local/lib/python3.8/site-packages/weback_unofficial/client.py”, line 102, in get_device_shadow
resp = client.get_thing_shadow(thingName=device_name)
File “/usr/local/lib/python3.8/site-packages/botocore/client.py”, line 357, in _api_call
return self._make_api_call(operation_name, kwargs)
File “/usr/local/lib/python3.8/site-packages/botocore/client.py”, line 647, in _make_api_call
http, parsed_response = self._make_request(
File “/usr/local/lib/python3.8/site-packages/botocore/client.py”, line 667, in _make_request
return self._endpoint.make_request(operation_model, request_dict)
File “/usr/local/lib/python3.8/site-packages/botocore/endpoint.py”, line 102, in make_request
return self._send_request(request_dict, operation_model)
File “/usr/local/lib/python3.8/site-packages/botocore/endpoint.py”, line 136, in _send_request
while self._needs_retry(attempts, operation_model, request_dict,
File “/usr/local/lib/python3.8/site-packages/botocore/endpoint.py”, line 228, in _needs_retry
responses = self._event_emitter.emit(
File “/usr/local/lib/python3.8/site-packages/botocore/hooks.py”, line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File “/usr/local/lib/python3.8/site-packages/botocore/hooks.py”, line 228, in emit
return self._emit(event_name, kwargs)
File “/usr/local/lib/python3.8/site-packages/botocore/hooks.py”, line 211, in _emit
response = handler(**kwargs)
File “/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py”, line 183, in call
if self._checker(attempts, response, caught_exception):
File “/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py”, line 250, in call
should_retry = self._should_retry(attempt_number, response,
File “/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py”, line 277, in _should_retry
return self._checker(attempt_number, response, caught_exception)
File “/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py”, line 316, in call
checker_response = checker(attempt_number, response,
File “/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py”, line 222, in call
return self._check_caught_exception(
File “/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py”, line 359, in _check_caught_exception
raise caught_exception
File “/usr/local/lib/python3.8/site-packages/botocore/endpoint.py”, line 200, in _do_get_response
http_response = self._send(request)
File “/usr/local/lib/python3.8/site-packages/botocore/endpoint.py”, line 244, in _send
return self.http_session.send(request)
File “/usr/local/lib/python3.8/site-packages/botocore/httpsession.py”, line 281, in send
raise SSLError(endpoint_url=request.url, error=e)
botocore.exceptions.SSLError: SSL validation failed for https://data.iot.eu-central-1.amazonaws.com/things/ty-x500-dc-4f-22-6c-05-96/shadow [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)

This is a knowing issue and will be fixed soon.

1 Like