Proscenic M7 Pro

Thats weird i am from germany aswell :confused: I still get the Could not resolve host: mobile.proscenic.com.de

Will set up the "old"app then and try, although the app kicked me out before and said I should update to the new Proscenic App

SO I cant add the M7 PRO to the old app, I do the setup steps then I get into the device, see the map and everything else, but If I go back, it just says “enter new device” again.
any ideas how to fix this? will there be support for the new app soonish ? @andker

EDIT: Contacted the proscenic support, newer m7 Pro only work with the new app proscenic and not with the proscenic home app

guess i have to write my own stuff or wait for support for the new app :C :sadge:

I have thrown together a python script to generate the secrets.yaml file. This is because when you login from the mobile app the token changes.

import requests
import hashlib
import json

HOST = "mobile.proscenic.com.de"

def writeToFile(userName, token, serialNumber):
    f = open("secrets.yaml", "w")
    f.write("proscenic_username: " + userName + "\n")
    f.write("proscenic_token: " + token + "\n")
    f.write("proscenic_serial: " + serialNumber + "\n")
    f.close()

def getToken(userName, password):    
    headers = {
        'os': 'i',
        'Content-Type': 'application/json',
        'c': '338',
        'lan': 'en',
        'Host': HOST + ":443",
        'User-Agent': 'ProscenicHome/1.7.8 (iPhone; iOS 14.2.1; Scale/3.00)',
        'v': '1.7.8',
    }

    data = {
        "state":"\u6B27\u6D32",
        "countryCode":"49",
        "appVer":"1.7.8",
        "type":"2",
        "os":"IOS",
        "password":hashlib.md5(password.encode('utf-8')).hexdigest(),
        "registrationId":"13165ffa4eb156ac484",
        "language":"EN",
        "username":userName,
        "pwd": password
    }
    
    dataJSON  = json.dumps(data)
    response = requests.post("https://" + HOST + "/user/login", headers=headers, data=dataJSON.encode('utf-8'), verify=False)
    if response.status_code == 200:
        content = response.json()
        data = content['data']
        if data['equipcount'] == 0:
            print("Equipment count is zero. Username or password maybe wrong")
            
        token = data['token']
    
        return token
    
    return "Unable to get token"
    

def getSerialNumber(userName):
    data = {
    "username": userName
    }
    dataJSON  = json.dumps(data)

    response = requests.post("https://" + HOST +"/user/getEquips/" + userName, data=dataJSON.encode('utf-8'))
    if response.status_code == 200:
        content = response.json()
        data = content['data']
        if data['totalElements'] == 0:
            print("Total Elements is zero. Username maybe wrong")
            
        serialNumber = data['content'][0]['sn']
    
        return serialNumber
    
    return "Unable to get serial number"

def main():
    LOGINUSER="Your Username"
    PASSWORD="Your Password"
    # LOGINUSER=input("Username: ")
    # PASSWORD=input("Password: ")
    
    token = getToken(LOGINUSER, PASSWORD)
    serialNumber = getSerialNumber(LOGINUSER)
    
    writeToFile(LOGINUSER, token, serialNumber)


main()
print('done')

Uncomment the two input lines if you want to type your username and password in from the command line.

thx will try it tomorrow, but dont expect it to work cause i have to use the new app :C

still nice if you want to log into the app from time to time

@Kobito If it helps, the command I used to check what server is being used by the app is:

adb logcat | grep mobile.proscenic

That will display all the log messages from the phone and filter them for the Proscenic URL that is being used. This of course requires ADB to be installed: SDK Platform Tools release notes  |  Android Developers

ty alot, but because i am not using the proscenic home but the proscenic app, cause i cant add my m7 pro to the “old” app, there is no need to check the server :frowning:

hello.
I understood the manipulation you are talking about with the scripts. I created the folder as well as the script file in .py but despite the update, when I call the service that runs the script the secret file does not change. I have entered the username and password correctly. Can you do a little tutorial to integrate it? thank you.

Secret for me only changed when I logged in from a different location. I. E. My phone.

At the moment this is no longer working for me and I don’t know why. :pensive:

Sorry, I can’t integrate my M7 PRO, on a MacBook terminal the first answer is this:

                  dquote>

Can someone help me?
A thousand thanks

[email protected]
PASSWORD=very-secure
curl -v -k -X POST -H “os: i” -H “Content-Type: application/json” -H “c: 338” -H “lan: en” -H “Host: mobile.proscenic.com.de:443” -H “User-Agent: ProscenicHome/1.7.8 (iPhone; iOS 14.2.1; Scale/3.00)” -H “v: 1.7.8” -d “{“state”:“欧洲”,“countryCode”:“49”,“appVer”:“1.7.8”,“type”:“2”,“os”:“IOS”,“password”:”$(echo -n $PASSWORD | md5sum)",“registrationId”:“13165ffa4eb156ac484”,“language”:“EN”,“username”:"$LOGINUSER",“pwd”:"$PASSWORD"}" “https://mobile.proscenic.com.de/user/login

[email protected]
curl “https://mobile.proscenic.com.de/user/getEquips/$LOGINUSER” -d “username=$LOGINUSER”

copie e incolla i due comandi così