Proscenic 790T Integration

Trying 192.168.178.59...
telnet: Unable to connect to remote host: Connection refused
admin@ubuntu_1604:~$ nc -z -v 192.168.178.59 1-65000 2>&1 | grep succeeded
admin@ubuntu_1604:~$ ping 192.168.178.59
PING 192.168.178.59 (192.168.178.59) 56(84) bytes of data.
64 bytes from 192.168.178.59: icmp_seq=1 ttl=254 time=6.02 ms
64 bytes from 192.168.178.59: icmp_seq=2 ttl=254 time=6.34 ms
64 bytes from 192.168.178.59: icmp_seq=3 ttl=254 time=4.65 ms
64 bytes from 192.168.178.59: icmp_seq=4 ttl=254 time=4.59 ms
64 bytes from 192.168.178.59: icmp_seq=5 ttl=254 time=12.7 ms
64 bytes from 192.168.178.59: icmp_seq=6 ttl=254 time=3.93 ms
64 bytes from 192.168.178.59: icmp_seq=7 ttl=254 time=4.30 ms
^C
--- 192.168.178.59 ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6008ms
rtt min/avg/max/mdev = 3.931/6.087/12.750/2.842 ms
admin@ubuntu_1604:~$ nc -z -v 192.168.178.59 1-65000 2>&1 | grep succeeded
admin@ubuntu_1604:~$ 

So I can ping it but port scan shows nothing open. After singing I started cleaning with the app and ran a second port scan but still nothing.

Hum it’s a strange issue. Maybe that your vacuum have a security and not mine, or you have a network issue.
Can you try to see if your vacuum have an udp port open?

I’m trying to reproduce the issue. I have the issue if I turn off the vacuum (using the left side red power offer button), or when the vacuum is just turn on (using the left side red power offer button) without click on the tactile power on button on the top of the vacuum.
If It’s not your case, maybe that your vacuum is on a power save mode, I will try to let my vacuum power on a long time to see if I can reproduce the issue.

Can you try to sart the cleaning using the proscenic app, and stop the cleaning using home assistant to see if it’s work?

Hi, I tried that but still no joy. Mine is always on though. Docked an charging when not cleaning or getting stuck in hard to reach places.

Today a scheduled clean started and the normally off state changed to cleaning with a periodic off state. Still no HA control. I get the turn it on message every time i try. I guess for some reason mine wont talk to HA but teh cloud will.

Hello,

i found this integration at HACS. The installation was easy, but i have problems with the configuration.

I used the app “http catcher” because packet catcher isn’t available for iOS.
The text/json returned by http catcher looks different and i can’t find all required information…

I get the authCode and the deviceID.
The token and the userID are missing…
I also get a robotID. Is this the token?

Is there any possibility to get all required information with an iOS device?

Firmware
esp32: V1.0.36
mcu: V999.9.9(000)

{
  "msg": "ok",
  "result": "0",
  "data": {
    "deviceType": "1",
    "deviceIp": "",
    "openVoice": "2",
    "authCode": "XXXXXXXX",
    "workMode": "0",
    "extParam": "",
    "hadNoReadError": "0",
    "update": {
      "updateNames": "",
      "isNeedUpdate": "0"
    },
    "isSetMaterialTime": "0",
    "battery": "91",
    "deviceId": "XXXXXXXXXX",
    "deviceName": "Proscenic 790T",
    "shareNum": "0",
    "robot": {
      "robotFileId": "XXXXXXX.png",
      "robotModel": "790T",
      "robotName": "proscenic robotic 790T",
      "createTime": "1517281915",
      "robotType": "1",
      "control": {
        "fanIsPause": "0",
        "directionIsPause": "0",
        "workIsPause": "0"
      },
      "robotId": "XXXXXXXXXX",
      "modules": {
        "voice": "1",
        "suportRecharge": "1",
        "suportBattery": "1",
        "suportViewState": "1",
        "vmId": "",
        "suportVoice": "1",
        "suportCtrl": "1",
        "suportOrder": "1",
        "clearModel": [{
          "clearName": "Auto",
          "clearSign": "clearModel_3",
          "eclearName": "Auto"
        }, {
          "clearName": "Bereich",
          "clearSign": "clearModel_6",
          "eclearName": "Area"
        }, {
          "clearName": "Rand",
          "clearSign": "clearModel_4",
          "eclearName": "Border"
        }],
        "network": {
          "softAp": "SA_NORMAL",
          "noiseLink": "0",
          "softApWiFiSSID": "Proscenic_"
        },
        "inModel": "BL828WN",
        "vision": "0",
        "radar": "0",
        "fan": "0",
        "attraction": "0",
        "suportErrorRecord": "1",
        "voicePacket": "0",
        "camera": "CA_NULL",
        "map": "100",
        "waterTank": "0"
      },
      "robotImg": "https://baole-release.robotbona.com/XXXXXXX.png",
      "soft": {
        "updateNames": "",
        "isNeedUpdate": "0"
      }
    },
    "firmwareVer": "{}",
    "updateMode": "",
    "updatePro": "",
    "workState": "5",
    "isShare": 0,
    "devicePort": "",
    "updateModule": ""
  },
  "version": "1.0.0"
}

Hi, i don’t have an iPhone. I Can not test how to get informations using iOS. But i will test if i can found data on http resquests… There are no other paquet capture app on iOS? In fact used protocol is not http.

@Engineer i will look how the app work on 4g mode and if i can send command to vacuum without have his IP.

Hi, I can start/stop my vacuum using proscenic server.
Can you try on your side. I have a specific branch to test this feature.
Can you try to run this commands:

git clone [email protected]:deblockt/hass-proscenic-790T-vacuum.git
git checkout fix/vacuum_start
# fill test.py file with your configuration data line 8-14
python test.py

after run test.py you can type start/stop.

If it’s work, I will update the hass integration. If not can you send me a pcap export of your application when you start/stop your vacuum using pacquet captrure?

Thanks

Hi yes, sorry been too busy to try but will do so tomorrow and report back.

Hi, this failed. Permission denied. Access rights or repository doesn’t exist.

Hi, you can use https://github.com/deblockt/hass-proscenic-790T-vacuum.git instead of [email protected]:deblockt/hass-proscenic-790T-vacuum.git

git clone https://github.com/deblockt/hass-proscenic-790T-vacuum.git
git checkout fix/vacuum_start
# fill test.py file with your configuration data line 8-14
python test.py

Still no joy

Camera map don’t work anymore by me. Is that a bug? It don’t worked anymore after some last Home assistant updates…

Hi Engineer, sorry I had a copy/paste issue.
This script work:

git clone https://github.com/deblockt/hass-proscenic-790T-vacuum.git
cd hass-proscenic-790T-vacuum
git checkout fix/vacuum_start
# fill test.py file with your configuration data line 8-14
python test.py

Don’t forget to open the test.py file and fiill the data line 8-14 with your connection infomrations.
And the script is started you will see >>> now you can entre start/stop the command take 4-5 seconds to be executed.

Thanks for the try

Hi, Thanks to use the integration :slight_smile:
Do you have some logs about the integration, you can set the log level to debug to have more information about the issue.
The default directory used to save the map is /tmp/proscenic_vacuum_map.svg maybe that your home assistant can not write it.
If you don’t see any error, can you verify if the file /tmp/proscenic_vacuum_map.svg exists when your vacuum is cleaning ?
If the file exists, maybe that your camera entiry is missconfigured

Hello, I’ve got a 790T so I’m happy to see this integration

BUT :slight_smile:

I don’t have an androïd phone so I don’t have a clue ho to get the packet info from my iPhone or from a Windows 10 PC. I’ve tried Netsh trace but no success.

Any idea ? :slight_smile:

Hi, Sorry but i don’t have an iphone. I had looked, but I didn’t see anything to sniff packets on ios.
I don’t have solution for iphone owner for now :s

1 Like

So I found an app, called HTTP Catcher, on iOS, but I only get those information:

  "result": "0",
  "msg": "ok",
  "data": [{
    "deviceType": "1",
    "deviceIp": "XXX.XXX.XXX.XXX",
    "authCode": "XXXXXXXX",
    "suportBattery": "1",
    "robotName": "proscenic robotic 790T",
    "isBind": "1",
    "robotVers": "{\"wifi\":\"1.0.41\",\"mcu\":\"1.8.2614(828)\"}",
    "robotId": "-----------------------------------",
    "battery": "99",
    "deviceId": "------------------------",
    "deviceName": "Robot",
    "shareNum": 0,
    "inModel": "BL828WN",
    "robotModel": "790T",
    "workState": "5",
    "devicePort": "8888",
    "lastOnlineTime": "",
    "robotImg": "https://baole-release.robotbona.com/766b3985f71c4902957a89bc4cefb65d.png"
  }],
  "page": {
    "cuPage": 1,
    "count": 1,
    "pageSize": 10
  }
}```

I'm missing the userID and the token.

Can this integration officially be added to the Home Assistant as the Custom configuration no more secure is? Are there any plan for this?