bumper
bumper copied to clipboard
X1 Support
Hello!
Considering getting the current flagship, an Deebot X1 Omni. Is that a bad idea? How well would it be supported? I fear that many of the recent features, lke dust/water-emptying base would be unsupported.
I wouldn't mind helping out to implement them, assuming there's any hope at all to get this to work.
Thanks!
Little bit late but also the new features should be supported if they run on the vacuum itself. In other words if the command is executed directly on the robot it should work.
@haarp Did you manage to get it to work? I've just finished setting up internal DNS server, and am reading the documents to build this and run it on this same server before getting the X1 Omni out of the box. I'm hoping it'll work fine if I just get the latest app on my phone but not update the robot's firmware. If it never connects to the original servers, and still works, no problem.
@Dan87-home: Unfortunately I can't answer this. I ultimately went with a Roborock S7 + Valetudo instead.
I have an X1 Omni, and I plan to get this running at my house. I will update as I go.
I have an X1 Omni, and I plan to get this running at my house. I will update as I go.
Did you ever get it working?
Unfortunately, I did not. I think I sort of got it working but relented due to the extra functionality we needed to do with the mapping. So, I guess some Chinese server now has our house map and sound/video recordings ripe for the Chinese Government to source at their discretion and under their legislation which will be a rubber stamp. I sincerely hope that the economic benefits of trade outweigh the cost and benefits of war. I’m pretty sure it’s blindingly expensive to justify any military action against where I live.
From: noneabove1182 @.> Sent: Wednesday, April 26, 2023 11:41:20 AM To: bmartin5692/bumper @.> Cc: Dan87 @.>; Mention @.> Subject: Re: [bmartin5692/bumper] X1 Support (Issue #132)
I have an X1 Omni, and I plan to get this running at my house. I will update as I go.
Did you ever get it working?
— Reply to this email directly, view it on GitHubhttps://github.com/bmartin5692/bumper/issues/132#issuecomment-1522639991, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWOLEDBTMA3LFQ5THIWS2UTXDB4MBANCNFSM5WVTZFDQ. You are receiving this because you were mentioned.Message ID: @.***>
Hi I also have a Deebot X1 Omni and would be very interested to get this working on it. Has there been any progress made? Thanks!
Hi I also have a Deebot X1 Omni and would be very interested to get this working on it. Has there been any progress made? Thanks!
I got one Deebot U2 Pro and two X1 Omni here with me, I have no problem onboarding U2 Pro to Bumper but nothing works for X1 Omni. I hope I have the skill to implement it tho.
Update - Just found this fork MWladislav/bumper do support T10 and I tried it and it can operate X1 Omni too, however with this fork my U2 Pro stopped working with bumper. I hope this is not much to ask but is there any chance we can combine both into one? Or any suggestion how I can run two bumpers in one network?
Hi I also have a Deebot X1 Omni and would be very interested to get this working on it. Has there been any progress made? Thanks!
I got one Deebot U2 Pro and two X1 Omni here with me, I have no problem onboarding U2 Pro to Bumper but nothing works for X1 Omni. I hope I have the skill to implement it tho.
Update - Just found this fork MWladislav/bumper do support T10 and I tried it and it can operate X1 Omni too, however with this fork my U2 Pro stopped working with bumper. I hope this is not much to ask but is there any chance we can combine both into one? Or any suggestion how I can run two bumpers in one network?
Figured out to have two adguards configured for DNS and two separate bumpers one for U2 Pro and one for X1 Omni.
U2 Pro - bmartin5692/bumper X1 Omni - mvladislav/bumper:sha-8f8cccf (somehow the latest devlop build from mvladislav stopped working with X1 Omni)
That is so awsome thank you! I will try it myself
Hi I also have a Deebot X1 Omni and would be very interested to get this working on it. Has there been any progress made? Thanks!
I got one Deebot U2 Pro and two X1 Omni here with me, I have no problem onboarding U2 Pro to Bumper but nothing works for X1 Omni. I hope I have the skill to implement it tho. Update - Just found this fork MWladislav/bumper do support T10 and I tried it and it can operate X1 Omni too, however with this fork my U2 Pro stopped working with bumper. I hope this is not much to ask but is there any chance we can combine both into one? Or any suggestion how I can run two bumpers in one network?
Figured out to have two adguards configured for DNS and two separate bumpers one for U2 Pro and one for X1 Omni.
U2 Pro - bmartin5692/bumper X1 Omni - mvladislav/bumper:sha-8f8cccf (somehow the latest devlop build from mvladislav stopped working with X1 Omni)
Thank you that is so awsome! I will also try it.
So I tryed it but it seem to doesn't work. Here is what I did. (Using debian 11 vm on Proxmox 7.4.3)
Install docker via apt (https://docs.docker.com/engine/install/debian/)
then: (start directory is /root)
docker pull ghcr.io/mvladislav/bumper:sha-8f8cccf
nano .env
BUMPER_LISTEN=0.0.0.0
TZ=Europe/Vienna
NETWORK_MODE=overlay
BUMPER_ANNOUNCE_IP=10.0.0.111
mkdir /bumper/data
mkdir /bumper/certs/
cd /bumper/certs/
wget https://raw.githubusercontent.com/MVladislav/bumper/dev/scripts/create_cert.sh
chmod +x ./create_cert.sh
./create_cert.sh
(That gets me the certs the docker container needs)
ls
bumper.crt bumper.key ca.crt ca.key create_cert.sh
cd /root
And at the end:
docker run --name bumper --env-file ./.env -p 443:443 -p 8007:8007 -p 8883:8883 -p 5223:5223 -v /home/user/bumper/data:/bumper/data -v /bumper/certs:/bumper/certs ghcr.io/mvladislav/bumper:sha-8f8cccf
The docker container starts and thats its log:
root@Bumper-Server-Docker:~# docker run --name bumper --env-file ./.env -p 443:443 -p 8007:8007 -p 8883:8883 -p 5223:5223 -v /home/user/bumper/data:/bumper/data -v /bumper/certs:/bumper/certs
ghcr.io/mvladislav/bumper:sha-8f8cccf
[2024-02-19 13:55:15] - Starting Bumpers...
[2024-02-19 13:55:16] - Starting MQTT Server at 0.0.0.0:8883
[2024-02-19 13:55:16] - Finished processing state new exit callbacks.
[2024-02-19 13:55:16] - Finished processing state starting enter callbacks.
[2024-02-19 13:55:16] - Starting XMPP Server at 0.0.0.0:5223
[2024-02-19 13:55:16] - Finished processing state starting exit callbacks.
[2024-02-19 13:55:16] - Finished processing state started enter callbacks.
[2024-02-19 13:55:16] - Staring Helper Bot...
[2024-02-19 13:55:16] - [CONNECTION MADE]
[2024-02-19 13:55:16] - Bumper Authentication Success :: Helperbot :: helperbot@bumper/helperbot
[2024-02-19 13:55:16] - Finished processing state new exit callbacks.
[2024-02-19 13:55:16] - Finished processing state connected enter callbacks.
[2024-02-19 13:55:16] - [SEND SUB] 1 [b'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+', b'iot/atr/+/+/+/+/+']
[2024-02-19 13:55:16] - Bumper started successfully
[2024-02-19 13:55:16] - Starting WebServer
[2024-02-19 13:55:16] - Starting WebServer Server at 0.0.0.0:443
[2024-02-19 13:55:16] - Starting WebServer Server at 0.0.0.0:8007
[2024-02-19 13:55:16] - [SUBACK] 1 (0, 0)
Looks good to me. Now the problem. When I start the X1 omni (it is already configured to connect to my wifi) I get this error:
[2024-02-19 13:56:13] - Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 332, in data_received
messages, upgraded, tail = self._request_parser.feed_data(data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
Invalid method encountered:
b'\x10\\'
^
And this error repeats every say 5 to 10 seconds if the robot is turned on. Am I doing something wrong? Thanks for the awsome work done here and thanks for your time reading this!
So I tryed it but it seem to doesn't work. Here is what I did. (Using debian 11 vm on Proxmox 7.4.3)
Install docker via apt (https://docs.docker.com/engine/install/debian/)
then: (start directory is /root)
docker pull ghcr.io/mvladislav/bumper:sha-8f8cccf
nano .env
BUMPER_LISTEN=0.0.0.0 TZ=Europe/Vienna NETWORK_MODE=overlay BUMPER_ANNOUNCE_IP=10.0.0.111
mkdir /bumper/data
mkdir /bumper/certs/
cd /bumper/certs/
wget https://raw.githubusercontent.com/MVladislav/bumper/dev/scripts/create_cert.sh
chmod +x ./create_cert.sh
./create_cert.sh
(That gets me the certs the docker container needs)
ls
bumper.crt bumper.key ca.crt ca.key create_cert.sh
cd /root
And at the end:
docker run --name bumper --env-file ./.env -p 443:443 -p 8007:8007 -p 8883:8883 -p 5223:5223 -v /home/user/bumper/data:/bumper/data -v /bumper/certs:/bumper/certs ghcr.io/mvladislav/bumper:sha-8f8cccf
The docker container starts and thats its log:
root@Bumper-Server-Docker:~# docker run --name bumper --env-file ./.env -p 443:443 -p 8007:8007 -p 8883:8883 -p 5223:5223 -v /home/user/bumper/data:/bumper/data -v /bumper/certs:/bumper/certs ghcr.io/mvladislav/bumper:sha-8f8cccf [2024-02-19 13:55:15] - Starting Bumpers... [2024-02-19 13:55:16] - Starting MQTT Server at 0.0.0.0:8883 [2024-02-19 13:55:16] - Finished processing state new exit callbacks. [2024-02-19 13:55:16] - Finished processing state starting enter callbacks. [2024-02-19 13:55:16] - Starting XMPP Server at 0.0.0.0:5223 [2024-02-19 13:55:16] - Finished processing state starting exit callbacks. [2024-02-19 13:55:16] - Finished processing state started enter callbacks. [2024-02-19 13:55:16] - Staring Helper Bot... [2024-02-19 13:55:16] - [CONNECTION MADE] [2024-02-19 13:55:16] - Bumper Authentication Success :: Helperbot :: helperbot@bumper/helperbot [2024-02-19 13:55:16] - Finished processing state new exit callbacks. [2024-02-19 13:55:16] - Finished processing state connected enter callbacks. [2024-02-19 13:55:16] - [SEND SUB] 1 [b'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+', b'iot/atr/+/+/+/+/+'] [2024-02-19 13:55:16] - Bumper started successfully [2024-02-19 13:55:16] - Starting WebServer [2024-02-19 13:55:16] - Starting WebServer Server at 0.0.0.0:443 [2024-02-19 13:55:16] - Starting WebServer Server at 0.0.0.0:8007 [2024-02-19 13:55:16] - [SUBACK] 1 (0, 0)
Looks good to me. Now the problem. When I start the X1 omni (it is already configured to connect to my wifi) I get this error:
[2024-02-19 13:56:13] - Error handling request Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 332, in data_received messages, upgraded, tail = self._request_parser.feed_data(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data aiohttp.http_exceptions.BadStatusLine: 400, message: Invalid method encountered: b'\x10\\' ^
And this error repeats every say 5 to 10 seconds if the robot is turned on. Am I doing something wrong? Thanks for the awsome work done here and thanks for your time reading this!
I am no expert when it comes to any of these but I can share with you my docker-compose file, and I also make sure:-
- adguard dns which got all required domain names redirected to bumper IP.
- copy certs to certs folder.
- copy nginx.conf to nginx folder which I downloaded from https://github.com/MVladislav/bumper/tree/dev/configs/nginx
- restart X1.
P.S. By the way develop build is working with X1 too.
version: "3.6"
networks: bumper: internal: true
services: nginx: depends_on: - bumper image: nginx:alpine networks: default: bumper: ports: - 443:443 - 5223:5223 - 8007:8007 - 8883:8883 restart: unless-stopped volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - ./nginx/:/etc/nginx:ro # See config file below
bumper: image: ghcr.io/mvladislav/bumper:develop restart: unless-stopped networks: bumper:
environment:
PUID: 1000
PGID: 1000
TZ: Europe/London
BUMPER_ANNOUNCE_IP: X.X.X.X # Insert your IP
BUMPER_LISTEN: 0.0.0.0
BUMPER_DEBUG: "true"
LOG_TO_STDOUT: "true"
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- ./config:/bumper/data
- ./certs:/bumper/certs
You are a hero. It works as you send it. I only used chat gpt to format the docker-compose.yaml. Here is it formated:
version: "3.6"
networks:
bumper:
internal: true
services:
nginx:
depends_on:
- bumper
image: nginx:alpine
networks:
default:
bumper:
ports:
- 443:443
- 5223:5223
- 8007:8007
- 8883:8883
restart: unless-stopped
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- ./nginx/:/etc/nginx:ro # See config file below
bumper:
image: ghcr.io/mvladislav/bumper:develop
restart: unless-stopped
networks:
bumper:
environment:
PUID: 1000
PGID: 1000
TZ: Europe/London
BUMPER_ANNOUNCE_IP: X.X.X.X # Insert your IP
BUMPER_LISTEN: 0.0.0.0
BUMPER_DEBUG: "true"
LOG_TO_STDOUT: "true"
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
- ./config:/bumper/data
- ./certs:/bumper/certs
Thank you so much!
Now I'll ty to add it to Homeassistant
I added it to Homeassistant via the Official Ecovacs integration. Everything works fine but the map is only updated after the robot finished cleaning. Is that normal? Would there be a way to change that (to look were the robot is). Its not very Important but I think it would be cool. Best regards and thanks for the help! You guys (and girls) are awsome!