Hello everyone,
if you are interested I found a way to find the localkey of the Proscenic M8 Pro: I anticipate that to do this you will have to use an android emulator, adb in root mode, Frida and custom integration localtuya. The operations to be performed are not completely easy but not impossible either. I ask the moderators if I can share a step-by-step guide or do I risk breaking the rules by putting them in a condition to delete my post?
if this is a tuya device, localtuya will probably help you to find localkey as long as you create a tuya iot account.
localtuya wants in input the localkey and the proscenic device does not allow registration on tuya cloud
Try these terminal commands:
-1: Token
[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”
-2:ID
[email protected]
curl “https://mobile.proscenic.com.de/user/getEquips/$LOGINUSER” -d “username=$LOGINUSER”
were you able to integrate it with home assistant? I found the key, but with the integration it doesn’t work…
@ millenniumy2k
I found the key and thanks to the component (tuya-smart-device) of NodeRED I was able to command via HA and thus also voice assistants the Proscenic. I was also able to get it to clean a certain area.
I try it for first and not work for Proscenic M8Pro
Hi @sparkgap-code ,
the localkey, after you register the device in tuya (not in proscenic), is easily visibile in Tuya IoT platform.
After that may I ask you to explain me how to control from HA and clean a specific area.
Thanks
Hi,
Can you get a similar map in tuya as in proscenic App?
Greetings
no sorry, only commands for now
How did you find the local key? Could you please provide me instructions? I can’t get it.
I figured out how to do this! All you really need are Bluestacks and Frida. Though I have mentioned adb
, it’s not really a requirement. I just happened to use it. I used version 16.0.19 of Frida because that was the latest version. Any version after that should work, I believe.
Steps below - if anyone is looking for this.
Install Bluestacks
Enable root
Install Proscenic M8 Pro app
Install termux and run below commands
On Termux Terminal
- Needed for later to avoid error messages
Download from Github, Frida Core Devkit and save it to /data/local/tmp/
Then, run the following command.
export FRIDA_CORE_DEVKIT=/data/local/tmp/frida-core/
- Just make sure everything is up to date
pkg upgrage
- Install Python3
package install python
- Run necessary updates
pip install --upgrade pip
pip install --upgrade pip setuptools wheel
- Install frida-tools client on Bluestacks
pip install frida-tools
- Download frida-server from github latest
- Make sure the architecture/release matches.
- I used android_x86_64 for Bluestacks
- Extract it and rename to frida-server
- Using ADB push it to /data/local/tmp
On your Windows machine command line
adb push ./frida-server /data/local/tmp/
Login to Bluestacks shell
adb shell
- Become root
su
- Make it executable
chmod 755 /data/local/tmp/frida-server
- use below command to run frida-server in the background
/data/local/tmp/frida-server &
You may have to hit CTRL + C to exit (and that’s OK, server will continue to run).
On Bluestacks UI
- Run the Proscenic app and login with your credentials
Open termux
- Run the following command to become the superuser/root
su
- Run the following command to get the PID of the Proscenic app
ps -ef | grep robot
- Quit root
exit
frida-trace -H 127.0.0.1:27042 --decorate -j '*!*encodeString*' -p <PID from the above command> -o <a folder location to save frida_trace outputs to a local file>
The -H is to connect to the frida-server running on local Bluestacks machine.
The -j is to trace all methods called encodeString in any class in the PID
Go back to the Proscenic app and pull down the main/first screen/page to refresh your device list.
Check/search for localkey in the frida-trace output file.
This would work with any app using Tuya and localkey to connect to Tuya. Just make sure to get the PID of the app that you are attempting to trace and give that PID to frida-trace.