ProscenicHome API reverse engineering for M7 pro

Hi,

Unfortunately, there is no proscenicHome plugin on Jeedom, so I will show you how to use the proscenicHome api for the proscenic M7 pro with curl requests.

1. Prerequired

  • Have a proscenicHome account

The host is https://mobile.proscenic.com.de and header content :

Content-Type: application/json;charset=UTF-8
Content-Length: 0
Host: mobile.proscenic.com.de
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.10.0

So your curl request will have this form:

curl -X POST https://mobile.proscenic.com.de/ -H "Content-Type: application/json;charset=UTF-8" -H "Host: mobile.proscenic.com.de" -H "Connection: Keep-Alive" -H "Accept-Encoding: gzip" -H "User-Agent: okhttp/3.10.0" 

2. Login

Login URL is https://mobile.proscenic.com.de/user/login
In order to login you must fill in the JSON body like this :

{
   "password":"3d4e2938bdcba243e5280bf2fc32fa91",
   "countryCode":"{yourCountryCode}", //ex : 33 for France
   "username":"{yourUsername}",
   "appVer":"1.4.3.4-prd",
   "pwd":"{yourPassword}"
}

Curl example :

curl -X POST https://mobile.proscenic.com.de/user/login -H "Content-Type: application/json;charset=UTF-8"-H "Host: mobile.proscenic.com.de" -H "Connection: Keep-Alive" -H "Accept-Encoding: gzip" -H "User-Agent: okhttp/3.10.0" --data "{\"password\":\"3d4e2938bdcba243e5280bf2fc32fa91\",\"countryCode\":\"{yourCountryCode}\", \"username\":\"{yourUsername}\",\"appVer\":\"1.4.3.4-prd\",\"pwd\":\"{yourPassword}\"}"

You will get a response like this :

{
    "code":0,
    "msg":"success",
    "data":
    {
        "token":"{yourToken}",
        "uid":"{yourUid}",
        "equipcount":{nbOfEquipement},
        "nickname":"{yourNickname}",
        "recieveMsg":false,
        "countryCode":"{yourCountryCode}",
        "homeId":{yourHomeId}
    }
}

NB : {yourToken} will be used in some requests

3. Starting the robot

URL : https://mobile.proscenic.com.de/instructions/cmd21005/LSLDSM7PRO20101046

Parameters :

  • cleanMode : sweepOnly
  • username : {yourUsername}

NB : {yourToken} is required in the header

Curl example :

curl -X POST https://mobile.proscenic.com.de/instructions/cmd21005/LSLDSM7PRO20101046?cleanMode=sweepOnly&username={yourUserName} -H "token: {yourToken}" -H "Content-Type: application/json;charset=UTF-8" -H "Host: mobile.proscenic.com.de" -H "Connection: Keep-Alive" -H "Accept-Encoding: gzip" -H "User-Agent: okhttp/3.10.0"

4. Robot power mode

URL : https://mobile.proscenic.com.de/instructions/LSLDSM7PRO20101046/21022

Parameters :

  • username : {yourUserNamer}
  • setMode : quiet|auto|strong

Curl example :

curl -X POST -d "{yourUsername}&mode=pause" "https://mobile.proscenic.com.de/instructions/LSLDSM7PRO20101046/21017" -H "Content-Type: application/x-www-form-urlencoded" -H "Host: mobile.proscenic.com.de" -H "Connection: Keep-Alive" -H "Accept-Encoding: gzip" -H "User-Agent: okhttp/3.10.0"

6. Return to base

URL : https://mobile.proscenic.com.de/instructions/LSLDSM7PRO20101046/21012

Parameters :

  • Username : {yourUsername}
  • Charge : start

Curl example :

curl -X POST -d "username={yourUsername}&charge=start" "https://mobile.proscenic.com.de/instructions/LSLDSM7PRO20101046/21012" -H "Content-Type: application/x-www-form-urlencoded" -H "Host: mobile.proscenic.com.de" 

7. Depth total mode

URL : https://mobile.proscenic.com.de/instructions/cmd21005_2/LSLDSM7PRO20101046

Parameters :

  • Username: {yourUsername}
  • mode: depthTotalClean

NB : {yourToken} is required in the header

Curl example:

curl -X POST "https://mobile.proscenic.com.de/instructions/cmd21005_2/LSLDSM7PRO20101046?username={yourUsername}&mode=depthTotalClean" -H "token: {yourToken}" -H "Content-Type: application/json;charset=UTF-8" -H "Host: mobile.proscenic.com.de" -H "Connection: Keep-Alive" -H "Accept-Encoding: gzip" -H "User-Agent: okhttp/3.10.0"
6 « J'aime »

+1 attente du plugin

Hello @JeedomRaloute,
Have you find any time to work on this plugin ?
I have a M7 Pro at home and can do test if it needed.
I wish you a very happy end of year celebrations.

1 « J'aime »