bmartin5692 / bumper Goto Github PK
View Code? Open in Web Editor NEWA standalone and self-hosted implementation of the central server used by Ecovacs vacuum robots.
License: GNU General Public License v3.0
A standalone and self-hosted implementation of the central server used by Ecovacs vacuum robots.
License: GNU General Public License v3.0
Hello ladies and gentlemen,
english is not my mother tongue, I hope you understand it anyway.
With none of the instructions in www, I managed to make the file system writable on Android 9 Pie (Samsung J6), so I'm not able to put certificates to the system store.
The only thing that helped me was patching the Ecovacs Home app.
I did it in Kali Linux and I don't know if this works in Windows.
Download Ecovacs Home App to PC. E.g. https://addons.mozilla.org/de/firefox/addon/apkgk-downloader/
If not present get a Java JDK >= 8 (bin/jarsigner is needed; e.g. https://openjdk.java.net/ )
Clone https://github.com/levyitay/AddSecurityExceptionAndroid
The script addSecurityExceptions.sh is unusable because there are errors in the file AndroidManifest.xml : Line 19 and line line 26 contains illegal spaces. So I run the commands manually (with the apk in the same dir as apktool.jar).
mkdir ~/.android
keytool -genkey -v -keystore ~/.android/debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
java -jar "apktool.jar" d -f -o /tmp/ecohome "com-eco-global-app1572580800.apk"
cp "network_security_config.xml" /tmp/ecohome/res/xml/.
# do the next line only once!
sed -E "s/(<application.*)(>)/\1 android\:networkSecurityConfig=\"@xml\/network_security_config\" \2 /" /tmp/ecohome/AndroidManifest.xml > /tmp/ecohome/AndroidManifest.xml.new
mv /tmp/ecohome/AndroidManifest.xml.new /tmp/ecohome/AndroidManifest.xml
vim /tmp/ecohome/AndroidManifest.xml
# kill the space in "org.simalliance.openmobileap i.SMARTCARD" (actually two lines 19 and 26)
java -jar "apktool.jar" empty-framework-dir --force /tmp/ecohome
java -jar "apktool.jar" b -o ./ecohome.apk /tmp/ecohome
<pathtoJDK/bin/>jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android -keypass android ./ecohome.apk androiddebugkey
I have to admit that I haven't tried Bumper yet (still to come). I used this procedure for mitmproxy and that's why I came across this project. But I believe that this procedure could also be necessary for the Bumper-CA.
Bumper should check for a passwd file in the data_dir, if it doesn't exist create an empty passwd file.
Describe the bug
I'm able to control my M80 Pro using the Ecovacs Home app but not using sucks (0.9.4). I tried with multiple sucks version, verified DNS redirect, etc. As everything is working from the Android app, I'm expecting sucks to be able to control it too
P.S.: I also tried with your fork of sucks with the same result
P.P.S.: There's no output from bumper when receiving the commands. When commands are sent from the Ecovacs Android App, this message appear (but command is executed by the deebot)
[2020-01-01 08:44:24,447] :: ERROR :: boterror :: Received Error from (192.168.8.104:11426 | [email protected]/atom) -
Thanks for your precious time
To Reproduce
sucks output
sleekxmppfs.basexmpp WARNING fulljid property deprecated. Use boundjid.resource
performing clean command
Traceback (most recent call last):
File "/usr/local/bin/sucks", line 8, in <module>
sys.exit(cli())
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1164, in invoke
return _process_result(rv)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1102, in _process_result
**ctx.params)
File "/usr/local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/sucks/cli.py", line 219, in run
vacbot.run(action.vac_command)
File "/usr/local/lib/python3.6/site-packages/sucks/__init__.py", line 416, in run
self.send_command(action.to_xml())
File "/usr/local/lib/python3.6/site-packages/sucks/__init__.py", line 413, in send_command
self.xmpp.send_command(xml, self._vacuum_address())
File "/usr/local/lib/python3.6/site-packages/sucks/__init__.py", line 482, in send_command
c.send()
File "/usr/local/lib/python3.6/site-packages/sleekxmppfs/stanza/iq.py", line 235, in send
raise IqError(result)
sleekxmppfs.exceptions.IqError: <iq type="error" to="[email protected]/8e8e3189bdcd1e0e0c2a22dba210945b" from="[email protected]/atom" id="b6ca5a49-1b5d-4308-9514-c470fe379d4d-3"><error type="wait" code="404"><recipient-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /></error></iq>
Expected behavior
Deebot should execute the command
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Vacuum (please complete the following information):
Additional context
Add any other context about the problem here.
After the latest PR docker builds are failing.
Looks to be related to version changes in yarl and multidict from the requirements.txt.
Revert to yarl 1.3.0 and multidict 4.5.2
Describe the bug
With the Ecovacs HOME app and a OZMO 950 connected to bumper, I found that the online-status of the robot is displayed as"Offline" when e.g. returning from the robot's "detail view" (i.e. from the screen where you control and observe the robot).
To Reproduce
Expected behavior
The online-status in the robots list should reflect the real status of the bot.
Screenshots
image
Desktop:
Smartphone:
Vacuum:
Add support for STARTTLS to XMPP Server
Hi there,
When running Sucks with Docker, the Container does not seem to start.
It gives the Error exec user process caused "exec format error".
OS: Raspbian 10
System: Raspberry Pi 4 B
I cannot get the Container to start, when running the Command stated in your Readme.
Greetings,
Max
Reported by @DENightOne
When I generate the cert with the using create_certs_linux (alpine and Debian) it generates a cert without the contents of the Bumper_SAN.txt file included....only generates SAN of localhost..127.0.0.0 and machine name and machine IP. When I generated the certs with create_certs_windows it worked fine (meaning contents of Bumper_SAN.txt included...so I just generated the certs on a windows machine and copied them over.
The Ecovacs Home app doesn't have a cache of bot images to display, and is requesting a picture from the API. This isn't currently handled in Bumper, so the picture is missing for bots.
The app requests a picture for the bot being shown with the following:
Method: GET
Path: /api/pim/file/get/{id}
Bumper should ship with a generic placeholder image that can be shown when this is requested.
Describe the bug
Hi, I'm trying to run your docker container on a arm64/aarch64 computer and, when starting, it does output "Creating certificates", but then the docker container die just after.
I tried running it on my pc (amd64) and it seems to be ok
To Reproduce
Steps to reproduce the behavior:
Expected behavior
after "Creating Certificates", the container should generate them and continue running
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.
I want to move towards all components being asyncio. The goal is to get away from threads without impacting performance (or maybe it will get better....). This should make the code easier to work on and reduce the risk of multiple threads interacting with a non-thread safe database at the same time.
Hello I've followed the instructions to use the android app (cert, dns fowarding etc), now when I open the app I get "error sending data (nnn,-9005)" where nnn looks like a random number. I've got the latest app and an Ozmo 930
Is it possible to provide a Docker version of the bumper for a Rasberry PI? Most of the User have for example Octoprint etc. As base OS i would say Rasberian would be good.
I want to have a Bumper Docker Image for the Rasberry PI based on raperian
The advantage of the Rasbery PI would be that you can also run a DNS bind e.g. for the Fritzbox as a DNS server.
Would it even run on a Rasberry PI because of the Pyton?
I would also test the release and give feedback.
From original bumper:
Relates to #22
The XMPP server code needs to be re-worked to function using asyncio. This is required for 1.0 and support of xmpp bots (N79/Ozmo/etc).
Edited after Brians reply.
Hi Brian,
I still try to solve my problems to get bumper run with my OZMO_Slim10.
I'm not clear about the need of the helperbot. It might be useless. In my understanding it is just a kind of logging-help.
If i've understood it right, the Ecovacs-App(or sucks or an MQTT-tool) issues a command to the bot. The command is received by the bumper-MQTT-server, transformed by the helperbot into MQTT, sent to the bumper-MQTT-Server and distributed according to the subscriptions to the bot, the helperbot and to maybe additional MQTT-tools. The bot answers to the bumper-MQTT-Server which distributes the answer according the subscriptions to the helperbot, the App and to maybe additional MQTT-Tools.
The only action the helperbot does, is to report the reception of the command, the response and in case of errors or not answered commands to report these errors. No communication takes place between the bot and the helperbot.
Is that right ? If so, I think it should be documented more clearly, omitted or optionally controlled by a flag. In my case of error debugging it seems more confusing than helping.
Regards Markus
Bumper needs unit tests.
Bumper only supports the "EcoVacs" app, but not the "EcoVacs Home" app.
Investigate API differences to allow Bumper to work with EcoVacs Home as well.
After installing Bumper via git-clone and 'pipenv install' successfully on a Debian Buster virtual machine, I fired it up. Certificates were generated automatically. I created a passwd file inside the bumper subdirectory, since Bumper was complaining that it was missing. After killing and restarting it, I still get two (unrelated?) warnings,
[2019-12-27 00:17:01,149] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('192.168.10.42', 8883)") [2019-12-27 00:17:01,149] :: WARNING :: hbmqtt.client :: Connection failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('192.168.10.42', 8883)"))
but it's running.
It seems my DNS-spoofing for (mq-ww.ecouser.net, portal-ww.ecouser.net, gl-de-openapi.ecovacs.com, msg-ww.ecouser.net, bigdata-china.ecovacs.com and others) seems to be working as intended.
Describe the bug
When trying to connect the Ecovacs HOME V1.3.1 app (Android 8.0.0 and SM-N950F, also tried other devices) I get many errors:
101,-9005
103,-9005
204,-9005
,-9005
016,-9005
003,-9005
020,-9005
207,-9005
The app tries to connect to the HTTPS service on port 443 which hands out the self-signed certificate formerly created. Obviously that certificate is rejected by the app, since the client replies "TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Certificate Unknown)" and ends the connection.
Installing the CA-Certificate manually on the Android client didn't help.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Ecovacs HOME app connects to bumper.
Screenshots
-- unable to paste one --
Desktop (please complete the following information):
Smartphone (please complete the following information):
Vacuum (please complete the following information):
Describe the bug
After a toddler hits the log-out button, I cannot log in.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Login with view of robot
Actual Behavior
[2019-10-14 16:51:35,487] :: INFO :: confserver :: client with devid $HASH attempting login
[2019-10-14 16:51:38,566] :: ERROR :: confserver :: 'did'
Traceback (most recent call last):
File "/root/bumper/bumper/confserver.py", line 492, in _auth_any
bumper.user_add_bot(tmpuser["userid"], bot["did"])
KeyError: 'did'
Desktop (please complete the following information):
Smartphone (please complete the following information):
Vacuum (please complete the following information):
Extra Info
Sucks cannot log in using any username/password combination.
The original Ecovacs service provides multi-floor map and area management through the Ecovacs HOME app for certain robot types (such as the OZMO 950), once "Advanced Mode" is enabled. Using bumper I found out, that I can't save maps, edit areas (part, merge, rename, etc.) and consequently can't send the bot to clean a particular set of predefined areas.
Describe the solution you'd like
It would be great to have that feature just like with the original service.
From original bumper:
Bumper should be able to run as a background daemon/service with logging and automatic restart if it crashes.
Describe the bug
Reported by @KoelnSolar - When the randomid sent with commands to a bot is 6 characters the bot is unresponsive to commands after GetWKVer, but changing to 4 characters everything works.
Unsure where we got 6 characters, but it could have been an oversight originally that didn't cause issues on other bot models.
Tested with 901 without issue, and will update to 4 characters moving forward.
Describe the bug
My new Ozmo 950 is not working with Bumper. I've configured the DNS (verified by pinging addresses) and am running bumper on my server. I see no connection messages in the logs and when running the app on my iPhone I get the error Data submission error. Please try again (207, -1004)
error. The first 3 digit error code (207) keeps changing.
Bumper logs:
[2019-09-09 15:17:42,838] :: INFO :: bumper :: Starting Bumper
[2019-09-09 15:17:42,839] :: INFO :: mqttserver :: Starting MQTT Server at 127.0.1.1:8883
[2019-09-09 15:17:42,890] :: INFO :: xmppserver :: Starting XMPP Server at 127.0.1.1:5223
[2019-09-09 15:17:43,990] :: INFO :: confserver :: Starting ConfServer at 127.0.1.1:443
[2019-09-09 15:17:43,992] :: INFO :: confserver :: Starting ConfServer at 127.0.1.1:8007
Desktop (please complete the following information):
Smartphone (please complete the following information):
Vacuum (please complete the following information):
I think it would be beneficial for confserver, mqtt, and xmpp to log to their own files for use in troubleshooting and separating the noise when debugging. I've also used bumper instead of wireshark and xmppeek recently for capturing bot communication and this would make it a bit easier to see the conversations.
Reported by @DENightOne
Secondly, --debug and โlisten (and I assume โannouce) donโt work at all.... I had to hardcode the BUMPER_LISTEN and DEBUG into the file to get it to work..... once I hardcode the environmental variables it worked fine... (took a brief look at the code and it seems there is no provision for arguments)
Related to #7
The EcoVacs app encrypts the username/password with the public key of EcoVacs when authenticating. Since we don't have the private key to decrypt, there is no way to provide true security and authentication within bumper. Bumper is not able to get the submitted username/e-mail/password of the user connecting.
What can be done:
Going with the idea of option 2:
Each client app (iPhone, Android, Sucks) has a deviceid that is submitted when logging in.
With this new mechanism users will be able to:
When a user connects with a client, bumper will correlate the deviceid to the user account. Then a unique token will be generated similar to how EcoVacs tracks them and that token will be tracked as part of the session. Tokens will be destroyed at logout or after X amount of time.
Bumper will only provide a list of bots that the user has attached to their account.
With this in place, additional layers can be added on top such as IP filtering.
I tried to install Docker on an Ubuntu 18.04 LXC Container running in Proxmox.
I installed docker using this How-To: https://www.digitalocean.com/community/tutorials/so-installieren-und-verwenden-sie-docker-auf-ubuntu-18-04-de
After installing Docker I followed the instructions in https://bumper.readthedocs.io/en/latest/Docker/ but was not able to run a Container with the Docker image.
When entering the followin command as root user:
docker run -it -e "BUMPER_ANNOUNCE_IP=192.168.178.102" -p 443:443 -p 8007:8007 -p 8883:8883 -p 5223:5223 -v /home/user/bumper/data:/bumper/data --name bumper bmartin5692/bumper
I get the following Error message:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"proc\\\" to rootfs \\\"/var/lib/docker/overlay2/6429b386f1931f390cae4bae6e9651defcdbb1e3cbbbdb1062be7756dc2981b7/merged\\\" at \\\"/proc\\\" caused \\\"permission denied\\\"\"": unknown.
Can you please help?
Describe the bug
After i start bumper on my Pi, i get a few Warnings and an Error regarding MQTT functionality, and neither the vacuum nor my mobile are able to connect. A ping from my Laptop shows that the DNS-Forwarding works as expected.
I had a few other issues durings installation, which i was able to solve myself:
cd create_certs
chmod +x create_certs_rpi
cd ..
cd certs
../create_certs/create_certs_rpi
sudo nano bumper/passwd
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Normal startup ;)
Screenshots
pi@DNS-Pi:~/bumper $ pipenv run python3.8 -m bumper
[2019-12-18 01:49:47,872] :: INFO :: bumper :: Starting Bumper
[2019-12-18 01:49:47,875] :: INFO :: mqttserver :: Starting MQTT Server at 127.0.1.1:8883
[2019-12-18 01:49:48,129] :: INFO :: xmppserver :: Starting XMPP Server at 127.0.1.1:5223
[2019-12-18 01:49:48,131] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)")
[2019-12-18 01:49:48,132] :: WARNING :: hbmqtt.client :: Connection failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)"))
[2019-12-18 01:49:49,147] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)")
[2019-12-18 01:49:49,150] :: WARNING :: hbmqtt.client :: Reconnection attempt failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)"))
[2019-12-18 01:49:51,157] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)")
[2019-12-18 01:49:51,160] :: WARNING :: hbmqtt.client :: Reconnection attempt failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)"))
[2019-12-18 01:49:55,168] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)")
[2019-12-18 01:49:55,170] :: WARNING :: hbmqtt.client :: Reconnection attempt failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)"))
[2019-12-18 01:49:55,172] :: ERROR :: hbmqtt.client :: Maximum number of connection attempts reached. Reconnection aborted
Desktop:
Smartphone:
Vacuum:
Describe the bug
No traffic visible on console output using either documentation in README or "python start_bumper.py" when attempting to connect Deebot N79S
To Reproduce
Steps to reproduce the behavior:
Expected behavior
We expected to see output from the console, however nothing beyond the startup messages were printed.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Vacuum (please complete the following information):
This happens when the bot was last on Ecovacs Network. When the app tries to control the bot it gets an errno 103, stating another user is using / registered the bot and it should be reset.
Some bots allow for adding additional users and ACLs, this was discovered while working with the Ozmo930.
Bumper should attempt to add the fuid_ user as an owner/full permissions to bypass this issue so a user doesn't need to fully reset the bot.
Issue-
The fix put in place previously seems to work for Ozmo930 (and possibly others). My Ozmo601 was not providing the same error message causing this add user catch to not engage.
@DENightOne reports the app doesn't work on Android 9 (Pie) possibly due to certificate pinning.
TODO: Setup Android Studio/Emulator and test.
This article may be worth reviewing:
Four Ways to Bypass Android SSL Verification and Certificate Pinning
Describe the bug
When trying to log in to bumper over the Home Assistant Implementation of Ecovacs (using sucks) it tries to connect to /user.do on Port 8000. Since there is no port 8000 in bumper integration fails.
Expected behavior
Since Port 8000 is used - also according to the documentation of sucks - the necessary answer should come through this port.
Vacuum (please complete the following information):
Additional context
Itโs all about Home Assistant connecting to bumper. Bumper works fine since I could connect via iOS-App.
Describe the bug
I've managed to set up everything including certs on iOS. However when logging in to the Ecovacs Home app on my iPhone I don't see my robot. The robot had already been setup before hand and if i turn off the DNS redirects I can see my robot.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Robot is seen in the app to control
Screenshots
https://i.imgur.com/UD6dKXD.png
Desktop (please complete the following information):
Smartphone (please complete the following information):
Vacuum (please complete the following information):
Additional context
Here are the logs from when the iPhone app is launched: https://pastebin.com/AZqSXVjj
When I click on Add a Robot
I get a Request timed out
error. The logs for that portion is: https://pastebin.com/EWGcfxRf
Hallo,
als Endanwender ohne Programmierkenntnisse, habe ich Interesse mit einem freien Raspberry Pi 3b einen wie hier beschriebenen Server fรผr meinen Ozmo 950 aufzubauen. Leider ist mir die hier angegebene Beschreibung nicht hilfreich.
Gibt es irgendwo eine detaillierte Anweisungsbeschreibung (Schritt fรผr Schritt Anleitung) fรผr die Verwendung auf einem Raspberry mit einer Fritzbox?
Ich danke.
So I have a N79 (XMPP) bot that I currently control using SUCKS through Home Assistant. It usually works but internet outages cause persistent failures that require a reboot of the Home Assistant server.
Ideally, bumper could solve connectivity issues by interacting directly with SUCKS and Home Assistant through Home Assistants Add-on functionality.
https://developers.home-assistant.io/docs/en/hassio_addon_tutorial.html
I don't know how to do this.
My understanding is that Add-ons are just docker containers that are run by Hassio, so I should be able to just configure Hassio to run the bumper docker image?
Can you give me any advice here?
Thanks.
Persist the state in a database, probably SQLite.
This will be needed for any eventual auth systems, or settings that are long-term server-side for example nickname. It should track bots, users, and clients.
Describe the bug
Trying to get a new Deebot Ozmo 950 working with bumper and sucks. I'm trying to get bump working with sucks and I'm getting the following error:
sleekxmppfs.basexmpp WARNING fulljid property deprecated. Use boundjid.resource
performing clean command
Traceback (most recent call last):
File ".local/bin/sucks", line 10, in <module>
sys.exit(cli())
File "/home/admin/.local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/admin/.local/lib/python3.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/admin/.local/lib/python3.7/site-packages/click/core.py", line 1164, in invoke
return _process_result(rv)
File "/home/admin/.local/lib/python3.7/site-packages/click/core.py", line 1102, in _process_result
**ctx.params)
File "/home/admin/.local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/admin/.local/lib/python3.7/site-packages/sucks/cli.py", line 219, in run
vacbot.run(action.vac_command)
File "/home/admin/.local/lib/python3.7/site-packages/sucks/__init__.py", line 416, in run
self.send_command(action.to_xml())
File "/home/admin/.local/lib/python3.7/site-packages/sucks/__init__.py", line 413, in send_command
self.xmpp.send_command(xml, self._vacuum_address())
File "/home/admin/.local/lib/python3.7/site-packages/sucks/__init__.py", line 482, in send_command
c.send()
File "/home/admin/.local/lib/python3.7/site-packages/sleekxmppfs/stanza/iq.py", line 235, in send
raise IqError(result)
sleekxmppfs.exceptions.IqError: <iq type="error" to="[email protected]/B32868DB5C8A43D2AB00127753213F16" from="[email protected]/atom" id="B32868DB-5C8A-43D2-AB00-127753213F16-3"><error type="wait" code="404"><recipient-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /></error></iq>
Expected behavior
Sucks works with bumper
Desktop (please complete the following information):
Vacuum (please complete the following information):
Additional context
While this model isn't supported I'm trying to see what all we need to do to get it working with bumper. I can see a new domain in the error above (ecorobot.net
). Maybe we also need to add this to the DNS list?
Firstly thanks for doing this project. I dont like placing all my faith in a cloud server running my deebot.
I have having issues when trying to run the code....I keep getting this error.
Traceback (most recent call last):
File "start_bumper.py", line 4, in
import bumper
File "/usr/src/bumper-dev_broken-XMPP/bumper/init.py", line 3, in
from .confserver import ConfServer
File "/usr/src/bumper-dev_broken-XMPP/bumper/confserver.py", line 11, in
import contextvars
ModuleNotFoundError: No module named 'contextvars'
I am running alpine linux with python 3.6.8
I have tried installing contextvars with the following " pipenv install contextvars" but i still get the same error.
I am not a linux user so I am struggling, any pointers would help.
Thanks
Hi, I am volunteering to assist with testing as I have recently purchased a D600 and am successfully using your fork of the sucks library in Home Assistant at present. Iโll download the server on the weekend and have a play.
Also, jumping the gun a little here (lol) but may I suggest that you add support for running your app in a Docker container? Again would be happy to help there as well.
This looks like a cool project as I am not a fan of cloud based APIs for all my IOT devices and outside of the Deebot I have managed to avoid all of them..
Hi, I try to use the docker environment for bumper.
When I try to run the package i receive following error:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/local/lib/python3.7/runpy.py", line 142, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/usr/local/lib/python3.7/runpy.py", line 109, in _get_module_details
import(pkg_name)
File "/bumper/bumper/init.py", line 3, in
from bumper.confserver import ConfServer
File "/bumper/bumper/confserver.py", line 12, in
from aiohttp import web
ModuleNotFoundError: No module named 'aiohttp'
Thank you for your help
I eventually managed to have the Ecovacs HOME app connect with bumper (thanks for your support see #65), but now I've got a new problem. It seems the OZMO 950 connects to bumper. It even seems to send event messages (e.g. when I pick it up from the floor, or when the dustbin is removed,...) to bumper.
confserver (via HTTPS port 443) reports the bot:
{"bots": [{"class": "yna5xi", "company": "eco-ng", "did": "a1406f11-8347-467e-b427-bd9db848c637", "name": "E0001279619603622747", "nick": "", "resource": "MhP5", "mqtt_connection": true, "xmpp_connection": false}], "clients": [{"userid": "dlzjucy54a7d7d85", "realm": "ecouser", "resource": "GLB82514e95", "mqtt_connection": false, "xmpp_connection": false}, {"userid": "dlzjucy54a7d7d85", "realm": "ecouser", "resource": "GLB6c726759", "mqtt_connection": false, "xmpp_connection": true}], "helperbot": [{"state": "connected"}], "mqtt_server": [{"state": "started"}, {"sessions": [{"count": 3}, {"clients": [[{"client_id": "helper1@bumper/helper1"}, {"state": "connected"}], [{"client_id": "dlzjucy54a7d7d85@ecouser/GLB6c726759"}, {"state": "disconnected"}], [{"client_id": "a1406f11-8347-467e-b427-bd9db848c637@yna5xi/MhP5"}, {"state": "connected"}]]}]}]}
I think this issue is related to #50 .
Describe the bug
After starting the app (respectively supplying login credentials at first start)
Data submission error. Please try again (,)
is reported for just a second or even less. Then comes the screen where it says "You don't have and ECOVACS robots." Refreshing the list returns very quickly (<1s), but doesn't change anything. Hitting "Add a Robot" leads to "The request timed out. Please try again."
To Reproduce
Steps to reproduce the behavior:
Expected behavior
From my understanding robots logged into bumper (how exactly do I determine, a robot is on line?) should appear right away in the app. No errors should appear.
Smartphone:
Vacuum:
The cleaning logs aren't returned for some bots in the EcoVacs Home app. So far this appears to be for newer bots (Ozmo950). A workaround was put in place for at least the D901 by capturing the request and sending a modified command to the bot.
In the case of the Ozmo950 it is uses a new json based protocol which utilizes a new format and headers for all commands sent.
The app makes a request for the following:
Method: POST
Path: /api/lg/log.do?u=tmpuser&av=1.2.1&cv=1.94.28&td=GetCleanLogs&t=i
Body: {'did': 'test_did', 'country': 'US', 'td': 'GetCleanLogs', 'auth': {'token': 'test_token', 'resource': 'app_resource', 'userid': 'tmpuser', 'with': 'users', 'realm': 'ecouser.net'}, 'resource': 'bot_resource'}
The proper command to send to the bot needs to be identified, then the results reviewed to determine if further modification is required for it to be displayed properly in the app.
Describe the bug
After i start bumper on my Linux Debian X86, i get a few Warnings and an Error regarding MQTT functionality, and neither the vacuum nor my mobile are able to connect. A ping from my Laptop shows that the DNS-Forwarding works as expected.
i also tried to start with/without sudo, i also tried with --listen --announce
which was suggested in this isseu ##64
To Reproduce
Steps to reproduce the behavior:
after i start Bumper with sudo pipenv run python -m bumper
sudo pipenv run python -m bumper
[2020-01-06 07:32:02,212] :: INFO :: bumper :: Starting Bumper
[2020-01-06 07:32:02,248] :: INFO :: mqttserver :: Starting MQTT Server at 127.0.1.1:8883
[2020-01-06 07:32:02,252] :: INFO :: xmppserver :: Starting XMPP Server at 127.0.1.1:5223
[2020-01-06 07:32:02,253] :: WARNING :: hbmqtt.client :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)")
[2020-01-06 07:32:02,253] :: WARNING :: hbmqtt.client :: Connection failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)"))
[2020-01-06 07:32:02,254] :: INFO :: hbmqtt.broker :: Listener 'tls1' bind to 127.0.1.1:8883 (max_connections=-1)
[2020-01-06 07:32:03,267] :: INFO :: hbmqtt.broker :: Listener 'tls1': 1 connections acquired
[2020-01-06 07:32:03,267] :: INFO :: hbmqtt.broker :: Connection from 127.0.0.1:37232 on listener 'tls1'
[2020-01-06 07:32:03,268] :: INFO :: mqttserver :: Bumper Authentication Success - Helperbot: helperbot@bumper/helperbot
Desktop (please complete the following information):
Vacuum (please complete the following information):
sudo pipenv run python -m bumper --debug
[2020-01-06 07:49:16,231] :: INFO :: bumper :: init :: start :: 194 :: Starting Bumper
[2020-01-06 07:49:16,233] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 61 :: Loading plugins for namespace hbmqtt.broker.plugins
[2020-01-06 07:49:16,233] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin bumper = bumper.mqttserver:BumperMQTTServer_Plugin
[2020-01-06 07:49:16,233] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin bumper = bumper.mqttserver:BumperMQTTServer_Plugin
[2020-01-06 07:49:16,233] :: DEBUG :: hbmqtt.broker.plugins.bumper :: mqttserver :: _read_password_file :: 318 :: Reading user database from /home/b0f1b0/Downloads/git/bumper/data/passwd
[2020-01-06 07:49:16,233] :: DEBUG :: hbmqtt.broker.plugins.bumper :: mqttserver :: _read_password_file :: 326 :: 0 user(s) read from file /home/b0f1b0/Downloads/git/bumper/data/passwd
[2020-01-06 07:49:16,234] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin bumper ready
[2020-01-06 07:49:16,238] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin auth_anonymous = hbmqtt.plugins.authentication:AnonymousAuthPlugin
[2020-01-06 07:49:16,269] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin auth_anonymous = hbmqtt.plugins.authentication:AnonymousAuthPlugin
[2020-01-06 07:49:16,269] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin auth_anonymous ready
[2020-01-06 07:49:16,270] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin auth_file = hbmqtt.plugins.authentication:FileAuthPlugin
[2020-01-06 07:49:16,270] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin auth_file = hbmqtt.plugins.authentication:FileAuthPlugin
[2020-01-06 07:49:16,271] :: DEBUG :: hbmqtt.broker.plugins.auth_file :: authentication :: _read_password_file :: 63 :: Reading user database from /home/b0f1b0/Downloads/git/bumper/data/passwd
[2020-01-06 07:49:16,271] :: DEBUG :: hbmqtt.broker.plugins.auth_file :: authentication :: _read_password_file :: 71 :: 0 user(s) read from file /home/b0f1b0/Downloads/git/bumper/data/passwd
[2020-01-06 07:49:16,271] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin auth_file ready
[2020-01-06 07:49:16,271] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin broker_sys = hbmqtt.plugins.sys.broker:BrokerSysPlugin
[2020-01-06 07:49:16,273] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin broker_sys = hbmqtt.plugins.sys.broker:BrokerSysPlugin
[2020-01-06 07:49:16,273] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin broker_sys ready
[2020-01-06 07:49:16,273] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-01-06 07:49:16,274] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-01-06 07:49:16,275] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin packet_logger_plugin ready
[2020-01-06 07:49:16,275] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin topic_taboo = hbmqtt.plugins.topic_checking:TopicTabooPlugin
[2020-01-06 07:49:16,275] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin topic_taboo = hbmqtt.plugins.topic_checking:TopicTabooPlugin
[2020-01-06 07:49:16,276] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin topic_taboo ready
[2020-01-06 07:49:16,282] :: INFO :: mqttserver :: mqttserver :: broker_coro :: 152 :: Starting MQTT Server at 127.0.1.1:8883
[2020-01-06 07:49:16,283] :: DEBUG :: hbmqtt.broker :: broker :: start :: 218 :: Broker starting
[2020-01-06 07:49:16,285] :: DEBUG :: hbmqtt.broker :: broker :: start :: 231 :: Listener configuration 'default' is not bound
[2020-01-06 07:49:16,290] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugins :: 61 :: Loading plugins for namespace hbmqtt.client.plugins
[2020-01-06 07:49:16,290] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugin :: 69 :: Loading plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-01-06 07:49:16,291] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-01-06 07:49:16,292] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugins :: 65 :: Plugin packet_logger_plugin ready
[2020-01-06 07:49:16,292] :: DEBUG :: hbmqtt.client :: client :: connect :: 140 :: Connect to: mqtts://127.0.1.1:8883/
[2020-01-06 07:49:16,298] :: INFO :: xmppserver :: xmppserver :: start_async_server :: 30 :: Starting XMPP Server at 127.0.1.1:5223
[2020-01-06 07:49:16,300] :: WARNING :: hbmqtt.client :: client :: _connect_coro :: 426 :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)")
[2020-01-06 07:49:16,300] :: WARNING :: hbmqtt.client :: client :: connect :: 145 :: Connection failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('127.0.1.1', 8883)"))
[2020-01-06 07:49:16,301] :: DEBUG :: hbmqtt.client :: client :: reconnect :: 193 :: Reconnecting with session parameters: Session(clientId=helperbot@bumper/helperbot, state=disconnected)
[2020-01-06 07:49:16,301] :: INFO :: hbmqtt.broker :: broker :: start :: 285 :: Listener 'tls1' bind to 127.0.1.1:8883 (max_connections=-1)
[2020-01-06 07:49:16,302] :: DEBUG :: hbmqtt.broker :: broker :: start :: 293 :: Broker started
[2020-01-06 07:49:16,302] :: DEBUG :: hbmqtt.broker :: broker :: retain_message :: 602 :: Retaining message on topic $SYS/broker/version
[2020-01-06 07:49:16,303] :: DEBUG :: hbmqtt.broker.plugins.broker_sys :: broker :: on_broker_post_start :: 75 :: $SYS disabled
[2020-01-06 07:49:17,302] :: DEBUG :: hbmqtt.client :: client :: reconnect :: 200 :: Reconnect attempt 1 ...
[2020-01-06 07:49:17,327] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> ConnectPacket(ts=2020-01-06 07:49:17.322015, fixed=MQTTFixedHeader(length=38, flags=0x0), variable=ConnectVariableHeader(proto_name=MQTT, proto_level=4, flags=0x2, keepalive=9), payload=ConnectVariableHeader(client_id=helperbot@bumper/helperbot, will_topic=None, will_message=None, username=None, password=None))
[2020-01-06 07:49:17,327] :: INFO :: hbmqtt.broker :: broker :: acquire_connection :: 90 :: Listener 'tls1': 1 connections acquired
[2020-01-06 07:49:17,327] :: INFO :: hbmqtt.broker :: broker :: client_connected :: 354 :: Connection from 127.0.0.1:37420 on listener 'tls1'
[2020-01-06 07:49:17,330] :: DEBUG :: hbmqtt.broker :: broker :: delete_session :: 783 :: Delete session : session helperbot@bumper/helperbot doesn't exist
[2020-01-06 07:49:17,330] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 389 :: Keep-alive timeout=11
[2020-01-06 07:49:17,332] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 36 :: <-in-- ConnectPacket(ts=2020-01-06 07:49:17.328265, fixed=MQTTFixedHeader(length=38, flags=0x0), variable=ConnectVariableHeader(proto_name=MQTT, proto_level=4, flags=0x2, keepalive=9), payload=ConnectVariableHeader(client_id=helperbot@bumper/helperbot, will_topic=None, will_message=None, username=None, password=None))
[2020-01-06 07:49:17,333] :: INFO :: mqttserver :: mqttserver :: authenticate :: 267 :: Bumper Authentication Success - Helperbot: helperbot@bumper/helperbot
[2020-01-06 07:49:17,333] :: DEBUG :: hbmqtt.broker :: broker :: authenticate :: 560 :: 'bumper' plugin result: True
[2020-01-06 07:49:17,335] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 413 :: helperbot@bumper/helperbot Start messages handling
[2020-01-06 07:49:17,336] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> ConnackPacket(ts=2020-01-06 07:49:17.334237, fixed=MQTTFixedHeader(length=2, flags=0x0), variable=ConnackVariableHeader(session_parent=0x0, return_code=0x0), payload=None)
[2020-01-06 07:49:17,337] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 357 :: helperbot@bumper/helperbot Starting reader coro
[2020-01-06 07:49:17,339] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 111 :: Handler tasks started
[2020-01-06 07:49:17,340] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 150 :: Begin messages delivery retries
[2020-01-06 07:49:17,340] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 158 :: End messages delivery retries
[2020-01-06 07:49:17,340] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 113 :: Handler ready
[2020-01-06 07:49:17,340] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 415 :: Retained messages queue size: 0
[2020-01-06 07:49:17,340] :: DEBUG :: hbmqtt.broker :: broker :: publish_session_retained_messages :: 741 :: Publishing 0 messages retained for session (client id=helperbot@bumper/helperbot)
[2020-01-06 07:49:17,344] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: helperbot@bumper/helperbot <-in-- ConnackPacket(ts=2020-01-06 07:49:17.339020, fixed=MQTTFixedHeader(length=2, flags=0x0), variable=ConnackVariableHeader(session_parent=0x0, return_code=0x0), payload=None)
[2020-01-06 07:49:17,344] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 357 :: helperbot@bumper/helperbot Starting reader coro
[2020-01-06 07:49:17,345] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: mqtt_deliver_next_message :: 459 :: 0 message(s) available for delivery
[2020-01-06 07:49:17,346] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 111 :: Handler tasks started
[2020-01-06 07:49:17,346] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 150 :: Begin messages delivery retries
[2020-01-06 07:49:17,346] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 158 :: End messages delivery retries
[2020-01-06 07:49:17,346] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 113 :: Handler ready
[2020-01-06 07:49:17,346] :: DEBUG :: hbmqtt.client :: client :: connect_coro :: 415 :: connected to 127.0.1.1:8883
[2020-01-06 07:49:17,347] :: DEBUG :: hbmqtt.client :: client :: handle_connection_close :: 440 :: Watch broker disconnection
[2020-01-06 07:49:17,347] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> SubscribePacket(ts=2020-01-06 07:49:17.347125, fixed=MQTTFixedHeader(length=77, flags=0x2), variable=PacketIdVariableHeader(packet_id=1), payload=SubscribePayload(topics=[('iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+', 0), ('iot/p2p/+', 0), ('iot/atr/+', 0)]))
[2020-01-06 07:49:17,349] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: helperbot@bumper/helperbot <-in-- SubscribePacket(ts=2020-01-06 07:49:17.348581, fixed=MQTTFixedHeader(length=77, flags=0x2), variable=PacketIdVariableHeader(packet_id=1), payload=SubscribePayload(topics=[('iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+', 0), ('iot/p2p/+', 0), ('iot/atr/+', 0)]))
[2020-01-06 07:49:17,350] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 465 :: helperbot@bumper/helperbot handling subscription
[2020-01-06 07:49:17,352] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-01-06 07:49:17,352] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-01-06 07:49:17,352] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-01-06 07:49:17,352] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-01-06 07:49:17,352] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-01-06 07:49:17,352] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-01-06 07:49:17,354] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-01-06 07:49:17,354] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-01-06 07:49:17,354] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-01-06 07:49:17,355] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-01-06 07:49:17,355] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-01-06 07:49:17,355] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-01-06 07:49:17,356] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-01-06 07:49:17,357] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-01-06 07:49:17,357] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-01-06 07:49:17,357] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-01-06 07:49:17,357] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-01-06 07:49:17,357] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-01-06 07:49:17,358] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on 'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+' from (client id=helperbot@bumper/helperbot)
[2020-01-06 07:49:17,358] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+
[2020-01-06 07:49:17,359] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on 'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+' from (client id=helperbot@bumper/helperbot)
[2020-01-06 07:49:17,359] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on 'iot/p2p/+' from (client id=helperbot@bumper/helperbot)
[2020-01-06 07:49:17,359] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version iot/p2p/+
[2020-01-06 07:49:17,359] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on 'iot/p2p/+' from (client id=helperbot@bumper/helperbot)
[2020-01-06 07:49:17,359] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on 'iot/atr/+' from (client id=helperbot@bumper/helperbot)
[2020-01-06 07:49:17,359] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version iot/atr/+
[2020-01-06 07:49:17,359] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on 'iot/atr/+' from (client id=helperbot@bumper/helperbot)
[2020-01-06 07:49:17,360] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 481 :: {'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/p2p/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/atr/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)]}
[2020-01-06 07:49:17,360] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> SubackPacket(ts=2020-01-06 07:49:17.357647, fixed=MQTTFixedHeader(length=5, flags=0x0), variable=PacketIdVariableHeader(packet_id=1), payload=SubackPayload(return_codes=[0, 0, 0]))
[2020-01-06 07:49:17,362] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: helperbot@bumper/helperbot <-in-- SubackPacket(ts=2020-01-06 07:49:17.361396, fixed=MQTTFixedHeader(length=5, flags=0x0), variable=PacketIdVariableHeader(packet_id=1), payload=SubackPayload(return_codes=[0, 0, 0]))
[2020-01-06 07:49:17,403] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (portal_api_appsvr)
[2020-01-06 07:49:17,404] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (portal_api_dimr)
[2020-01-06 07:49:17,404] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (portal_api_iot)
[2020-01-06 07:49:17,404] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (portal_api_lg)
[2020-01-06 07:49:17,404] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (portal_api_neng)
[2020-01-06 07:49:17,404] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (portal_api_pim)
[2020-01-06 07:49:17,405] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (portal_api_users)
[2020-01-06 07:49:17,405] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v1_global_auth)
[2020-01-06 07:49:17,405] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v1_private_ad)
[2020-01-06 07:49:17,409] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v1_private_campaign)
[2020-01-06 07:49:17,411] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v1_private_common)
[2020-01-06 07:49:17,414] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v1_private_message)
[2020-01-06 07:49:17,416] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v1_private_shop)
[2020-01-06 07:49:17,417] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v1_private_user)
[2020-01-06 07:49:17,421] :: DEBUG :: root :: confserver :: confserver_app :: 94 :: Adding confserver sub_api (v2_private_user)
<PlainResource 'base' >
<DynamicResource 'remove-bot' /bot/remove/{did}>
<DynamicResource 'remove-client' /client/remove/{resource}>
<DynamicResource 'restart-service' /restart{service}>
<PlainResource /lookup.do>
<PrefixedSubAppResource /v1 -> <Application 0x7fc8d0dbeb00>>
<PrefixedSubAppResource /v2 -> <Application 0x7fc8d0da9630>>
<PrefixedSubAppResource /api -> <Application 0x7fc8d0da99b0>>
My bumper is setup on headless raspianOs. I have two problems.
root@raspberrypi:/opt/bumper-master# pipenv run python -m bumper --listen 192.168.178.42 --announce 192.168.178.42 --debug
[2020-06-14 11:19:38,976] :: INFO :: bumper :: __init__ :: start :: 194 :: Starting Bumper
[2020-06-14 11:19:38,982] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 61 :: Loading plugins for namespace hbmqtt.broker.plugins
[2020-06-14 11:19:38,983] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin bumper = bumper.mqttserver:BumperMQTTServer_Plugin
[2020-06-14 11:19:38,984] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin bumper = bumper.mqttserver:BumperMQTTServer_Plugin
[2020-06-14 11:19:38,985] :: DEBUG :: hbmqtt.broker.plugins.bumper :: mqttserver :: _read_password_file :: 318 :: Reading user database from /opt/bumper-master/data/passwd
[2020-06-14 11:19:38,985] :: DEBUG :: hbmqtt.broker.plugins.bumper :: mqttserver :: _read_password_file :: 326 :: 0 user(s) read from file /opt/bumper-master/data/passwd
[2020-06-14 11:19:38,986] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin bumper ready
[2020-06-14 11:19:39,003] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin auth_anonymous = hbmqtt.plugins.authentication:AnonymousAuthPlugin
[2020-06-14 11:19:39,105] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin auth_anonymous = hbmqtt.plugins.authentication:AnonymousAuthPlugin
[2020-06-14 11:19:39,106] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin auth_anonymous ready
[2020-06-14 11:19:39,110] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin auth_file = hbmqtt.plugins.authentication:FileAuthPlugin
[2020-06-14 11:19:39,112] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin auth_file = hbmqtt.plugins.authentication:FileAuthPlugin
[2020-06-14 11:19:39,114] :: DEBUG :: hbmqtt.broker.plugins.auth_file :: authentication :: _read_password_file :: 63 :: Reading user database from /opt/bumper-master/data/passwd
[2020-06-14 11:19:39,114] :: DEBUG :: hbmqtt.broker.plugins.auth_file :: authentication :: _read_password_file :: 71 :: 0 user(s) read from file /opt/bumper-master/data/passwd
[2020-06-14 11:19:39,115] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin auth_file ready
[2020-06-14 11:19:39,115] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin broker_sys = hbmqtt.plugins.sys.broker:BrokerSysPlugin
[2020-06-14 11:19:39,121] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin broker_sys = hbmqtt.plugins.sys.broker:BrokerSysPlugin
[2020-06-14 11:19:39,121] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin broker_sys ready
[2020-06-14 11:19:39,122] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-06-14 11:19:39,126] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-06-14 11:19:39,126] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin packet_logger_plugin ready
[2020-06-14 11:19:39,127] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 69 :: Loading plugin topic_taboo = hbmqtt.plugins.topic_checking:TopicTabooPlugin
[2020-06-14 11:19:39,131] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin topic_taboo = hbmqtt.plugins.topic_checking:TopicTabooPlugin
[2020-06-14 11:19:39,132] :: DEBUG :: hbmqtt.broker.plugins :: manager :: _load_plugins :: 65 :: Plugin topic_taboo ready
[2020-06-14 11:19:39,151] :: INFO :: mqttserver :: mqttserver :: broker_coro :: 152 :: Starting MQTT Server at 192.168.178.42:8883
[2020-06-14 11:19:39,152] :: DEBUG :: hbmqtt.broker :: broker :: start :: 218 :: Broker starting
[2020-06-14 11:19:39,156] :: DEBUG :: hbmqtt.broker :: broker :: start :: 231 :: Listener configuration 'default' is not bound
[2020-06-14 11:19:39,167] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugins :: 61 :: Loading plugins for namespace hbmqtt.client.plugins
[2020-06-14 11:19:39,168] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugin :: 69 :: Loading plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-06-14 11:19:39,173] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugin :: 71 :: Initializing plugin packet_logger_plugin = hbmqtt.plugins.logging:PacketLoggerPlugin
[2020-06-14 11:19:39,174] :: DEBUG :: hbmqtt.client.plugins :: manager :: _load_plugins :: 65 :: Plugin packet_logger_plugin ready
[2020-06-14 11:19:39,176] :: DEBUG :: hbmqtt.client :: client :: connect :: 140 :: Connect to: mqtts://192.168.178.42:8883/
[2020-06-14 11:19:39,186] :: INFO :: xmppserver :: xmppserver :: start_async_server :: 30 :: Starting XMPP Server at 192.168.178.42:5223
[2020-06-14 11:19:39,194] :: WARNING :: hbmqtt.client :: client :: _connect_coro :: 426 :: MQTT connection failed: ConnectionRefusedError(111, "Connect call failed ('192.168.178.42', 8883)")
[2020-06-14 11:19:39,195] :: WARNING :: hbmqtt.client :: client :: connect :: 145 :: Connection failed: ConnectException(ConnectionRefusedError(111, "Connect call failed ('192.168.178.42', 8883)"))
[2020-06-14 11:19:39,196] :: DEBUG :: hbmqtt.client :: client :: reconnect :: 193 :: Reconnecting with session parameters: Session(clientId=helperbot@bumper/helperbot, state=disconnected)
[2020-06-14 11:19:39,200] :: INFO :: hbmqtt.broker :: broker :: start :: 285 :: Listener 'tls1' bind to 192.168.178.42:8883 (max_connections=-1)
[2020-06-14 11:19:39,203] :: DEBUG :: hbmqtt.broker :: broker :: start :: 293 :: Broker started
[2020-06-14 11:19:39,205] :: DEBUG :: hbmqtt.broker :: broker :: retain_message :: 602 :: Retaining message on topic $SYS/broker/version
[2020-06-14 11:19:39,206] :: DEBUG :: hbmqtt.broker.plugins.broker_sys :: broker :: on_broker_post_start :: 75 :: $SYS disabled
[2020-06-14 11:19:40,199] :: DEBUG :: hbmqtt.client :: client :: reconnect :: 200 :: Reconnect attempt 1 ...
[2020-06-14 11:19:40,289] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> ConnectPacket(ts=2020-06-14 11:19:40.279795, fixed=MQTTFixedHeader(length=38, flags=0x0), variable=ConnectVariableHeader(proto_name=MQTT, proto_level=4, flags=0x2, keepalive=9), payload=ConnectVariableHeader(client_id=helperbot@bumper/helperbot, will_topic=None, will_message=None, username=None, password=None))
[2020-06-14 11:19:40,290] :: INFO :: hbmqtt.broker :: broker :: acquire_connection :: 90 :: Listener 'tls1': 1 connections acquired
[2020-06-14 11:19:40,290] :: INFO :: hbmqtt.broker :: broker :: client_connected :: 354 :: Connection from 192.168.178.42:58186 on listener 'tls1'
[2020-06-14 11:19:40,298] :: DEBUG :: hbmqtt.broker :: broker :: delete_session :: 783 :: Delete session : session helperbot@bumper/helperbot doesn't exist
[2020-06-14 11:19:40,299] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 389 :: Keep-alive timeout=11
[2020-06-14 11:19:40,304] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 36 :: <-in-- ConnectPacket(ts=2020-06-14 11:19:40.292077, fixed=MQTTFixedHeader(length=38, flags=0x0), variable=ConnectVariableHeader(proto_name=MQTT, proto_level=4, flags=0x2, keepalive=9), payload=ConnectVariableHeader(client_id=helperbot@bumper/helperbot, will_topic=None, will_message=None, username=None, password=None))
[2020-06-14 11:19:40,306] :: INFO :: mqttserver :: mqttserver :: authenticate :: 267 :: Bumper Authentication Success - Helperbot: helperbot@bumper/helperbot
[2020-06-14 11:19:40,307] :: DEBUG :: hbmqtt.broker :: broker :: authenticate :: 560 :: 'bumper' plugin result: True
[2020-06-14 11:19:40,313] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 413 :: helperbot@bumper/helperbot Start messages handling
[2020-06-14 11:19:40,317] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> ConnackPacket(ts=2020-06-14 11:19:40.309340, fixed=MQTTFixedHeader(length=2, flags=0x0), variable=ConnackVariableHeader(session_parent=0x0, return_code=0x0), payload=None)
[2020-06-14 11:19:40,323] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 357 :: helperbot@bumper/helperbot Starting reader coro
[2020-06-14 11:19:40,333] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 111 :: Handler tasks started
[2020-06-14 11:19:40,334] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 150 :: Begin messages delivery retries
[2020-06-14 11:19:40,334] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 158 :: End messages delivery retries
[2020-06-14 11:19:40,335] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 113 :: Handler ready
[2020-06-14 11:19:40,336] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 415 :: Retained messages queue size: 0
[2020-06-14 11:19:40,337] :: DEBUG :: hbmqtt.broker :: broker :: publish_session_retained_messages :: 741 :: Publishing 0 messages retained for session (client id=helperbot@bumper/helperbot)
[2020-06-14 11:19:40,348] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: helperbot@bumper/helperbot <-in-- ConnackPacket(ts=2020-06-14 11:19:40.328957, fixed=MQTTFixedHeader(length=2, flags=0x0), variable=ConnackVariableHeader(session_parent=0x0, return_code=0x0), payload=None)
[2020-06-14 11:19:40,350] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 357 :: helperbot@bumper/helperbot Starting reader coro
[2020-06-14 11:19:40,354] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: mqtt_deliver_next_message :: 459 :: 0 message(s) available for delivery
[2020-06-14 11:19:40,357] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 111 :: Handler tasks started
[2020-06-14 11:19:40,358] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 150 :: Begin messages delivery retries
[2020-06-14 11:19:40,358] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 158 :: End messages delivery retries
[2020-06-14 11:19:40,359] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 113 :: Handler ready
[2020-06-14 11:19:40,360] :: DEBUG :: hbmqtt.client :: client :: _connect_coro :: 415 :: connected to 192.168.178.42:8883
[2020-06-14 11:19:40,365] :: DEBUG :: hbmqtt.client :: client :: handle_connection_close :: 440 :: Watch broker disconnection
[2020-06-14 11:19:40,366] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> SubscribePacket(ts=2020-06-14 11:19:40.362878, fixed=MQTTFixedHeader(length=77, flags=0x2), variable=PacketIdVariableHeader(packet_id=1), payload=SubscribePayload(topics=[('iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+', 0), ('iot/p2p/+', 0), ('iot/atr/+', 0)]))
[2020-06-14 11:19:40,374] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: helperbot@bumper/helperbot <-in-- SubscribePacket(ts=2020-06-14 11:19:40.369880, fixed=MQTTFixedHeader(length=77, flags=0x2), variable=PacketIdVariableHeader(packet_id=1), payload=SubscribePayload(topics=[('iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+', 0), ('iot/p2p/+', 0), ('iot/atr/+', 0)]))
[2020-06-14 11:19:40,378] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 465 :: helperbot@bumper/helperbot handling subscription
[2020-06-14 11:19:40,388] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-06-14 11:19:40,389] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-06-14 11:19:40,389] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-06-14 11:19:40,390] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-06-14 11:19:40,390] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-06-14 11:19:40,391] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-06-14 11:19:40,401] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-06-14 11:19:40,402] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-06-14 11:19:40,402] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-06-14 11:19:40,403] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-06-14 11:19:40,403] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-06-14 11:19:40,404] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-06-14 11:19:40,420] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (portal_api_appsvr)
[2020-06-14 11:19:40,421] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (portal_api_dimr)
[2020-06-14 11:19:40,421] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (portal_api_iot)
[2020-06-14 11:19:40,422] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (portal_api_lg)
[2020-06-14 11:19:40,422] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (portal_api_neng)
[2020-06-14 11:19:40,423] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (portal_api_pim)
[2020-06-14 11:19:40,425] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (portal_api_users)
[2020-06-14 11:19:40,426] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (upload_global)
[2020-06-14 11:19:40,429] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v1_global_auth)
[2020-06-14 11:19:40,429] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v1_private_ad)
[2020-06-14 11:19:40,438] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v1_private_campaign)
[2020-06-14 11:19:40,442] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v1_private_common)
[2020-06-14 11:19:40,458] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v1_private_message)
[2020-06-14 11:19:40,466] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v1_private_shop)
[2020-06-14 11:19:40,470] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v1_private_user)
[2020-06-14 11:19:40,500] :: DEBUG :: root :: confserver :: confserver_app :: 96 :: Adding confserver sub_api (v2_private_user)
[2020-06-14 11:19:40,634] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-06-14 11:19:40,635] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-06-14 11:19:40,635] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-06-14 11:19:40,635] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-06-14 11:19:40,636] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-06-14 11:19:40,636] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-06-14 11:19:40,640] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on 'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+' from (client id=helperbot@bumper/helperbot)
[2020-06-14 11:19:40,641] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+
[2020-06-14 11:19:40,644] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on 'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+' from (client id=helperbot@bumper/helperbot)
[2020-06-14 11:19:40,645] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on 'iot/p2p/+' from (client id=helperbot@bumper/helperbot)
[2020-06-14 11:19:40,645] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version iot/p2p/+
[2020-06-14 11:19:40,647] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on 'iot/p2p/+' from (client id=helperbot@bumper/helperbot)
[2020-06-14 11:19:40,647] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on 'iot/atr/+' from (client id=helperbot@bumper/helperbot)
[2020-06-14 11:19:40,648] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version iot/atr/+
[2020-06-14 11:19:40,649] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on 'iot/atr/+' from (client id=helperbot@bumper/helperbot)
[2020-06-14 11:19:40,651] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 481 :: {'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/p2p/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/atr/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)]}
[2020-06-14 11:19:40,663] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: helperbot@bumper/helperbot -out-> SubackPacket(ts=2020-06-14 11:19:40.637978, fixed=MQTTFixedHeader(length=5, flags=0x0), variable=PacketIdVariableHeader(packet_id=1), payload=SubackPayload(return_codes=[0, 0, 0]))
[2020-06-14 11:19:40,675] :: DEBUG :: hbmqtt.client.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: helperbot@bumper/helperbot <-in-- SubackPacket(ts=2020-06-14 11:19:40.671467, fixed=MQTTFixedHeader(length=5, flags=0x0), variable=PacketIdVariableHeader(packet_id=1), payload=SubackPayload(return_codes=[0, 0, 0]))
[2020-06-14 11:19:41,922] :: INFO :: hbmqtt.broker :: broker :: acquire_connection :: 90 :: Listener 'tls1': 2 connections acquired
[2020-06-14 11:19:41,923] :: INFO :: hbmqtt.broker :: broker :: client_connected :: 354 :: Connection from 192.168.178.66:55714 on listener 'tls1'
[2020-06-14 11:19:41,936] :: DEBUG :: hbmqtt.broker :: broker :: delete_session :: 783 :: Delete session : session fhemuser@bumper/GLBbe7d18eG9 doesn't exist
[2020-06-14 11:19:41,937] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 389 :: Keep-alive timeout=32
[2020-06-14 11:19:41,945] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 36 :: <-in-- ConnectPacket(ts=2020-06-14 11:19:41.929157, fixed=MQTTFixedHeader(length=70, flags=0x0), variable=ConnectVariableHeader(proto_name=MQTT, proto_level=4, flags=0xc2, keepalive=30), payload=ConnectVariableHeader(client_id=fhemuser@bumper/GLBbe7d18eG9, will_topic=None, will_message=None, [email protected], password=123456))
[2020-06-14 11:19:41,948] :: DEBUG :: bumper :: db :: check_authcode :: 212 :: Checking for authcode: 123456
[2020-06-14 11:19:41,956] :: INFO :: mqttserver :: mqttserver :: authenticate :: 278 :: Bumper Authentication Success - Client - Username: [email protected] - ClientID: fhemuser@bumper/GLBbe7d18eG9
[2020-06-14 11:19:41,959] :: DEBUG :: hbmqtt.broker :: broker :: authenticate :: 560 :: 'bumper' plugin result: True
[2020-06-14 11:19:41,969] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 413 :: fhemuser@bumper/GLBbe7d18eG9 Start messages handling
[2020-06-14 11:19:41,977] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: fhemuser@bumper/GLBbe7d18eG9 -out-> ConnackPacket(ts=2020-06-14 11:19:41.961692, fixed=MQTTFixedHeader(length=2, flags=0x0), variable=ConnackVariableHeader(session_parent=0x0, return_code=0x0), payload=None)
[2020-06-14 11:19:41,993] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 357 :: fhemuser@bumper/GLBbe7d18eG9 Starting reader coro
[2020-06-14 11:19:41,998] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 111 :: Handler tasks started
[2020-06-14 11:19:41,999] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 150 :: Begin messages delivery retries
[2020-06-14 11:19:41,999] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 158 :: End messages delivery retries
[2020-06-14 11:19:42,000] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 113 :: Handler ready
[2020-06-14 11:19:42,001] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 415 :: Retained messages queue size: 0
[2020-06-14 11:19:42,002] :: DEBUG :: hbmqtt.broker :: broker :: publish_session_retained_messages :: 741 :: Publishing 0 messages retained for session (client id=fhemuser@bumper/GLBbe7d18eG9)
[2020-06-14 11:19:42,012] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: mqtt_deliver_next_message :: 459 :: 0 message(s) available for delivery
[2020-06-14 11:19:42,014] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: fhemuser@bumper/GLBbe7d18eG9 <-in-- SubscribePacket(ts=2020-06-14 11:19:42.007436, fixed=MQTTFixedHeader(length=6, flags=0x2), variable=PacketIdVariableHeader(packet_id=60), payload=SubscribePayload(topics=[('#', 0)]))
[2020-06-14 11:19:42,018] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 465 :: fhemuser@bumper/GLBbe7d18eG9 handling subscription
[2020-06-14 11:19:42,028] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-06-14 11:19:42,029] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-06-14 11:19:42,029] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-06-14 11:19:42,030] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-06-14 11:19:42,030] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-06-14 11:19:42,031] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-06-14 11:19:42,034] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on '#' from (client id=fhemuser@bumper/GLBbe7d18eG9)
[2020-06-14 11:19:42,035] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version #
[2020-06-14 11:19:42,036] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 762 :: $SYS/broker/version and # match
[2020-06-14 11:19:42,039] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: fhemuser@bumper/GLBbe7d18eG9 -out-> SubackPacket(ts=2020-06-14 11:19:42.031974, fixed=MQTTFixedHeader(length=3, flags=0x0), variable=PacketIdVariableHeader(packet_id=60), payload=SubackPayload(return_codes=[0]))
[2020-06-14 11:19:42,044] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: fhemuser@bumper/GLBbe7d18eG9 -out-> PublishPacket(ts=2020-06-14 11:19:42.040898, fixed=MQTTFixedHeader(length=41, flags=0x1), variable=PublishVariableHeader(topic=$SYS/broker/version, packet_id=None), payload=PublishPayload(data="b'HBMQTT version 0.9.5'"))
[2020-06-14 11:19:42,046] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on '#' from (client id=fhemuser@bumper/GLBbe7d18eG9)
[2020-06-14 11:19:42,048] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 481 :: {'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/p2p/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/atr/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], '#': [(Session(clientId=fhemuser@bumper/GLBbe7d18eG9, state=connected), 0)]}
[2020-06-14 11:19:43,282] :: INFO :: hbmqtt.broker :: broker :: acquire_connection :: 90 :: Listener 'tls1': 3 connections acquired
[2020-06-14 11:19:43,283] :: INFO :: hbmqtt.broker :: broker :: client_connected :: 354 :: Connection from 192.168.178.24:51565 on listener 'tls1'
[2020-06-14 11:19:43,301] :: DEBUG :: hbmqtt.broker :: broker :: delete_session :: 783 :: Delete session : session bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth doesn't exist
[2020-06-14 11:19:43,302] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 389 :: Keep-alive timeout=62
[2020-06-14 11:19:43,308] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 36 :: <-in-- ConnectPacket(ts=2020-06-14 11:19:43.292320, fixed=MQTTFixedHeader(length=92, flags=0x0), variable=ConnectVariableHeader(proto_name=MQTT, proto_level=4, flags=0xc2, keepalive=60), payload=ConnectVariableHeader(client_id=bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth, will_topic=None, will_message=None, username=E03312796B09HCBJ0091, password=XGmD4NFb))
[2020-06-14 11:19:43,314] :: INFO :: mqttserver :: mqttserver :: authenticate :: 257 :: Bumper Authentication Success - Bot - SN: E03312796B09HCBJ0091 - DID: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963 - Class: yna5xi
[2020-06-14 11:19:43,317] :: DEBUG :: hbmqtt.broker :: broker :: authenticate :: 560 :: 'bumper' plugin result: True
[2020-06-14 11:19:43,327] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 413 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth Start messages handling
[2020-06-14 11:19:43,335] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth -out-> ConnackPacket(ts=2020-06-14 11:19:43.319557, fixed=MQTTFixedHeader(length=2, flags=0x0), variable=ConnackVariableHeader(session_parent=0x0, return_code=0x0), payload=None)
[2020-06-14 11:19:43,354] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 357 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth Starting reader coro
[2020-06-14 11:19:43,363] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 111 :: Handler tasks started
[2020-06-14 11:19:43,364] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 150 :: Begin messages delivery retries
[2020-06-14 11:19:43,365] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _retry_deliveries :: 158 :: End messages delivery retries
[2020-06-14 11:19:43,366] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: start :: 113 :: Handler ready
[2020-06-14 11:19:43,368] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 415 :: Retained messages queue size: 0
[2020-06-14 11:19:43,369] :: DEBUG :: hbmqtt.broker :: broker :: publish_session_retained_messages :: 741 :: Publishing 0 messages retained for session (client id=bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth)
[2020-06-14 11:19:43,380] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: mqtt_deliver_next_message :: 459 :: 0 message(s) available for delivery
[2020-06-14 11:19:43,392] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_received :: 34 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth <-in-- SubscribePacket(ts=2020-06-14 11:19:43.387025, fixed=MQTTFixedHeader(length=75, flags=0x2), variable=PacketIdVariableHeader(packet_id=96), payload=SubscribePayload(topics=[('iot/p2p/+/+/+/+/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/+/+/+', 0)]))
[2020-06-14 11:19:43,396] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 465 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth handling subscription
[2020-06-14 11:19:43,406] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'bumper' plugin result: None
[2020-06-14 11:19:43,407] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_anonymous' plugin result: None
[2020-06-14 11:19:43,408] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'auth_file' plugin result: None
[2020-06-14 11:19:43,408] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'broker_sys' plugin result: None
[2020-06-14 11:19:43,408] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'packet_logger_plugin' plugin result: None
[2020-06-14 11:19:43,409] :: DEBUG :: hbmqtt.broker :: broker :: topic_filtering :: 595 :: 'topic_taboo' plugin result: True
[2020-06-14 11:19:43,413] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 756 :: Begin broadcasting messages retained due to subscription on 'iot/p2p/+/+/+/+/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/+/+/+' from (client id=bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth)
[2020-06-14 11:19:43,414] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 760 :: matching : $SYS/broker/version iot/p2p/+/+/+/+/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/+/+/+
[2020-06-14 11:19:43,417] :: DEBUG :: hbmqtt.broker :: broker :: publish_retained_messages_for_subscription :: 770 :: End broadcasting messages retained due to subscription on 'iot/p2p/+/+/+/+/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/+/+/+' from (client id=bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth)
[2020-06-14 11:19:43,419] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 481 :: {'iot/p2p/+/+/+/+/helperbot/bumper/helperbot/+/+/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/p2p/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], 'iot/atr/+': [(Session(clientId=helperbot@bumper/helperbot, state=connected), 0)], '#': [(Session(clientId=fhemuser@bumper/GLBbe7d18eG9, state=connected), 0)], 'iot/p2p/+/+/+/+/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/+/+/+': [(Session(clientId=bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth, state=connected), 0)]}
[2020-06-14 11:19:43,421] :: DEBUG :: hbmqtt.broker.plugins.packet_logger_plugin :: logging :: on_mqtt_packet_sent :: 44 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth -out-> SubackPacket(ts=2020-06-14 11:19:43.410384, fixed=MQTTFixedHeader(length=3, flags=0x0), variable=PacketIdVariableHeader(packet_id=96), payload=SubackPayload(return_codes=[0]))
^C[2020-06-14 11:19:44,093] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 423 :: Task cancelled, reader loop ending
[2020-06-14 11:19:44,094] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: broker_handler :: handle_disconnect :: 57 :: Client disconnecting
[2020-06-14 11:19:44,095] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 437 :: fhemuser@bumper/GLBbe7d18eG9 Reader coro stopped
[2020-06-14 11:19:44,096] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 133 :: Stopping 0 puback waiters
[2020-06-14 11:19:44,097] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 134 :: Stopping 0 pucomp waiters
[2020-06-14 11:19:44,098] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 135 :: Stopping 0 purec waiters
[2020-06-14 11:19:44,099] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 136 :: Stopping 0 purel waiters
[2020-06-14 11:19:44,100] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: stop :: 121 :: waiting for tasks to be stopped
[2020-06-14 11:19:44,107] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 500 :: Client loop cancelled
[2020-06-14 11:19:44,108] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 507 :: helperbot@bumper/helperbot Client disconnected
[2020-06-14 11:19:44,109] :: INFO :: hbmqtt.broker :: broker :: release_connection :: 101 :: Listener 'tls1': 2 connections acquired
[2020-06-14 11:19:44,111] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 423 :: Task cancelled, reader loop ending
[2020-06-14 11:19:44,113] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: client_handler :: handle_connection_closed :: 170 :: Broker closed connection
[2020-06-14 11:19:44,114] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 437 :: helperbot@bumper/helperbot Reader coro stopped
[2020-06-14 11:19:44,115] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 133 :: Stopping 0 puback waiters
[2020-06-14 11:19:44,116] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 134 :: Stopping 0 pucomp waiters
[2020-06-14 11:19:44,117] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 135 :: Stopping 0 purec waiters
[2020-06-14 11:19:44,118] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 136 :: Stopping 0 purel waiters
[2020-06-14 11:19:44,119] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: stop :: 121 :: waiting for tasks to be stopped
[2020-06-14 11:19:44,127] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: mqtt_deliver_next_message :: 465 :: Delivering message None
[2020-06-14 11:19:44,133] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 500 :: Client loop cancelled
[2020-06-14 11:19:44,134] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 507 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth Client disconnected
[2020-06-14 11:19:44,135] :: INFO :: hbmqtt.broker :: broker :: release_connection :: 101 :: Listener 'tls1': 1 connections acquired
[2020-06-14 11:19:44,138] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: mqtt_deliver_next_message :: 465 :: Delivering message None
[2020-06-14 11:19:44,145] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: mqtt_deliver_next_message :: 465 :: Delivering message None
[2020-06-14 11:19:44,152] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 423 :: Task cancelled, reader loop ending
[2020-06-14 11:19:44,153] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: broker_handler :: handle_disconnect :: 57 :: Client disconnecting
[2020-06-14 11:19:44,154] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 437 :: bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth Reader coro stopped
[2020-06-14 11:19:44,155] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 133 :: Stopping 0 puback waiters
[2020-06-14 11:19:44,156] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 134 :: Stopping 0 pucomp waiters
[2020-06-14 11:19:44,157] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 135 :: Stopping 0 purec waiters
[2020-06-14 11:19:44,158] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 136 :: Stopping 0 purel waiters
[2020-06-14 11:19:44,160] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: stop :: 121 :: waiting for tasks to be stopped
[2020-06-14 11:19:44,165] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 500 :: Client loop cancelled
[2020-06-14 11:19:44,166] :: DEBUG :: hbmqtt.broker :: broker :: client_connected :: 507 :: fhemuser@bumper/GLBbe7d18eG9 Client disconnected
[2020-06-14 11:19:44,167] :: INFO :: hbmqtt.broker :: broker :: release_connection :: 101 :: Listener 'tls1': 0 connections acquired
[2020-06-14 11:19:44,173] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 423 :: Task cancelled, reader loop ending
[2020-06-14 11:19:44,174] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: broker_handler :: handle_disconnect :: 57 :: Client disconnecting
[2020-06-14 11:19:44,175] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _reader_loop :: 437 :: helperbot@bumper/helperbot Reader coro stopped
[2020-06-14 11:19:44,176] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 133 :: Stopping 0 puback waiters
[2020-06-14 11:19:44,177] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 134 :: Stopping 0 pucomp waiters
[2020-06-14 11:19:44,178] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 135 :: Stopping 0 purec waiters
[2020-06-14 11:19:44,179] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: _stop_waiters :: 136 :: Stopping 0 purel waiters
[2020-06-14 11:19:44,181] :: DEBUG :: hbmqtt.mqtt.protocol.handler :: handler :: stop :: 121 :: waiting for tasks to be stopped
[2020-06-14 11:19:44,199] :: INFO :: bumper :: __init__ :: main :: 368 :: Keyboard Interrupt!
[2020-06-14 11:19:44,201] :: INFO :: bumper :: __init__ :: shutdown :: 239 :: Shutting down
[2020-06-14 11:19:44,202] :: ERROR :: confserver :: confserver :: stop_server :: 174 :: 'NoneType' object has no attribute 'shutdown'
Traceback (most recent call last):
File "/opt/bumper-master/bumper/confserver.py", line 171, in stop_server
await self.runner.shutdown()
AttributeError: 'NoneType' object has no attribute 'shutdown'
[2020-06-14 11:19:44,203] :: ERROR :: confserver :: confserver :: stop_server :: 174 :: 'NoneType' object has no attribute 'shutdown'
Traceback (most recent call last):
File "/opt/bumper-master/bumper/confserver.py", line 171, in stop_server
await self.runner.shutdown()
AttributeError: 'NoneType' object has no attribute 'shutdown'
[2020-06-14 11:19:44,204] :: DEBUG :: hbmqtt.broker :: broker :: shutdown :: 328 :: Broker closing
[2020-06-14 11:19:44,205] :: INFO :: hbmqtt.broker :: broker :: shutdown :: 329 :: Broker closed
[2020-06-14 11:19:44,206] :: INFO :: bumper :: __init__ :: shutdown :: 265 :: Shutdown complete
root@raspberrypi:/opt/bumper-master#
Ping and Portscan
root@raspberrypi:~# nc -zv 192.168.178.42 8883
Connection to 192.168.178.42 8883 port [tcp/*] succeeded!
root@raspberrypi:~# nc -zv 192.168.178.42 5223
Connection to 192.168.178.42 5223 port [tcp/*] succeeded!
root@raspberrypi:~# nc -zv 192.168.178.42 443
Connection to 192.168.178.42 443 port [tcp/https] succeeded!
root@raspberrypi:~# ping ecouser.net
PING ecouser.net (192.168.178.42) 56(84) bytes of data.
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=1 ttl=64 time=0.102 ms
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=2 ttl=64 time=0.089 ms
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=3 ttl=64 time=0.059 ms
^C
--- ecouser.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 46ms
rtt min/avg/max/mdev = 0.059/0.083/0.102/0.019 ms
root@raspberrypi:~# ping ecovacs.com
PING ecovacs.com (192.168.178.42) 56(84) bytes of data.
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=1 ttl=64 time=0.099 ms
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=2 ttl=64 time=0.121 ms
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=3 ttl=64 time=0.129 ms
^C
--- ecovacs.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 68ms
rtt min/avg/max/mdev = 0.099/0.116/0.129/0.015 ms
root@raspberrypi:~# ping ecovacs.net
PING ecovacs.net (192.168.178.42) 56(84) bytes of data.
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=1 ttl=64 time=0.141 ms
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=2 ttl=64 time=0.084 ms
64 bytes from raspberrypi.fritz.box (192.168.178.42): icmp_seq=3 ttl=64 time=0.060 ms
^C
--- ecovacs.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 52ms
rtt min/avg/max/mdev = 0.060/0.095/0.141/0.033 ms
root@raspberrypi:~#
root@raspberrypi:/opt/bumper-master# cat /etc/systemd/system/bumper.service
[Unit]
Description=Bumper
After=network.target
[Service]
User=user
Restart=always
Type=simple
WorkingDirectory=/opt/bumper-master
ExecStart=/usr/local/bin/pipenv run python -m bumper --listen 192.168.178.42 --announce 192.168.178.42
[Install]
WantedBy=multi-user.target
root@raspberrypi:/opt/bumper-master#
Catch errors sent by bots over either MQTT or XMPP to log out to debug.
Example from MQTT:
iot/atr/errors/<DID>/<CLASS>/<RESOURCE>/x
<ctl ts='1551538248617' td='errors' old='' new='110'/>
This would make it easier to debug bot-level issues in relation to bumper.
To address #73 multiarch build support needs to be configured for DockerHub to generate the images properly.
See https://github.com/ckulka/docker-multi-arch-example for reference
Manually via Docker Desktop example - https://docs.docker.com/docker-for-mac/multi-arch/
When the Android version of the Ecovacs Home app attempts to load the map for the bot it hard crashes.
The last command sent is a GetCleanStatistics command, which appears to fail due to timeout.
Bumper currently ships with CA certs and keys.
Preferably these certs would instead be provided by the user or generated at first run.
Requirements:
First of all, thank you for keeping this project alive.
Do all of the features from the Ecovacs app work with bumper? For example, zone-cleaning, no-go lines, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.