Hi,
I’m thinking to buy a Proscenic 811GB robot vacuum cleaner. Can anyone tell e whether this will be controllable via hass.io?
Regards,
Dave
Hi,
I’m thinking to buy a Proscenic 811GB robot vacuum cleaner. Can anyone tell e whether this will be controllable via hass.io?
Regards,
Dave
I have actually ordered the Proscenic 811GB and it should arrive sometime this week. I’m still new with hass.io but i will try my best and give you an update.
ok so it arrived today and i googled a bit, it is possible to controll it with http or udp packages
udp:
here
and here
and here
for http you have to get a bit more creative but you can do more with it. I used Charles Proxy to analyze the html traffic of the smartphone app and was able to create a curl command to output every detail you can find in the app (like battery, firmware, status).
hope this helped you a little
After a long google-ing i found python script for controlling some basic functionality …
https://github.com/markomannux/pyproscenic/blob/master/proscenic/proscenic.py
I hope some of the gurus here to create a “plugin” for it, just like for the Xiaomi robot one, because Proscenic is even smarter and it will soon flood the market. Especially with a price of 199$ for US in AliExpress (for the 790T wich is their best model for now).
I ordered one 790T, but it is still in transit status …
Why don’t you share the links (and all of your progress)? I think this could help the developers to introduce an official platform for Proscenic, which provides more controls and information …
i just wrote some little bash scripts so far and implemented them in node-red for now
but sure, i will share what i’ve got so far
like i mentioned you have to use some tool like chales Proxy to get the cookie for the curl command
curl -H 'User-Agent: blapp' -H 'Accept-Language: en' -H 'Accept: application/json' -H 'IsLogin: 1' -H 'Cookie: <youre cookie string here>' -H 'Host: bl-app-eu.robotbona.com' --data "nonce_str=<youre data string here>" --compressed 'http://bl-app-eu.robotbona.com/baole-web/index/getMyDefaultRobotInfo.do'
so this will get us the json with all the current information about the little robot
the json looks something like this (i removed some of the data for obvious reasons)
{
"data": {
"robot": {
"authCode": "<hidden>",
"battery": "100",
"cameraUid": "<hidden>",
"deviceId": "<hidden>",
"deviceIp": "",
"devicePort": "",
"firmwareVer": "{\"esp32\":\"1.0.36\",\"mcu\":\"2.4.139(500)\"}",
"funDefine": "",
"map": "0",
"param": "",
"robotId": "<hidden>",
"robotImg": "http://baole-release.robotbona.com/7c030ac59f5e4b258725982a2616d9f8.png",
"robotModel": "811GB",
"robotName": "proscenic robotic 811GB",
"updateMode": "",
"updateModule": "",
"updatePro": "",
"workState": "6"
},
"update": {
"isNeedUpdate": "0"
},
"workRecords": [
{
"clearArea": "0",
"clearId": "<hidden>",
"clearSTime": "<hidden>",
"clearTime": <hidden>
},
{
"clearArea": "0",
"clearId": "<hidden>",
"clearSTime": "<hidden>",
"clearTime": <hidden>
},
{
"clearArea": "0",
"clearId": "<hidden>",
"clearSTime": "<hidden>",
"clearTime": <hidden>
},
{
"clearArea": "0",
"clearId": "<hidden>",
"clearSTime": "<hidden>",
"clearTime": <hidden>
}
]
},
"msg": "ok",
"result": "0",
"version": "1.0.0"
}
clear time is in secounds and clearSTime is the start time with date (yyyy-mm-dd hh:mm:ss)
i still havn’t figured out all modes, but so far i know the following: 0 = does nothing, 1 = working, 5 = charging
what is interesting is the fact that its based on a esp32/nodemcu and could in theory be flashed with custom firmware.
i periodically let the bash script store the json file in a ramdisk and from there i have several other scripts i can run (monitoring battery, current mode, how long the last clean was,…). I also use a telegram bot to start, stop and get the battery lvl of the robot because you can only use the app on one device at a time and we are multiple ppl in this house. My next step will be to put everythin in a single python script which is easy to use.
I will post if i have found other things i can do with it.
Try this one:
Hello,
Posting to follow the topic. I am trying to use the same kind of protocol for my 790T.
First, thanks for the bl-app-eu.robotbona.com url, I was only able to find the IP of the Proscenic server (47.91.67.181).
Regarding Json data, I was able to find it using a sniffer on the app. It seemes to be the same synthax for both 811gb and 790t:
variable cmd = 0
And for the mopping rate:
variable seq = 0
objet value :
For now, I am trying to execute the Json command to start (basically) the robot, but only face failures:
synthax should be something like:
type=command¶m=control&authCode="xxx"&deviceIp="192.168.1.X"&devicePort="1234"&targetId="yyyyy"&targetType="1"&type=seq¶m=value&transitCmd="100"
I guess the cookie you are talking about is the first request I saw, sending the information to the robot containing the appKey, token, userId etc, right?
Hello guys,
After a long time i find this integration. But i can’t find the Local_Key. i have also 790t.