GithubHelp home page GithubHelp logo

proscenic-m7-pro's People

Contributors

andker87 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

proscenic-m7-pro's Issues

Get Token (patch)

on curl command, replace pwd by password or you'll get password empty error code -1

TOKEN=$(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\",\"password\":\"$PASSWORD\"}" "https://mobile.proscenic.com.de/user/login")

Anyone that got other info etc like this working?

Already obtained (just need to report them here)
generic infos (name, model, serial number and others)
firmware informations
avaibility
last message(s) (cleaning completed, tank emptying in progress and others)
zone cleaning function (based on automatic partition)
multi-zone cleaning function (based on user defined zones)
Y shaped mopping function
set Silent (on/off)
set Equipment light (on/off)
auto dust collection (enable/disable)
set volume

Broken with latest Home Assistant?

I have the Token, SN etc. and it's pasted into secrets and the

homeassistant:
  packages: !include_dir_named packages

is also done. But when restarting Home Assistant there is no vacuum entity.

I am fairly new to Home Assistant but I believe that there were some breaking changes on how to create templates? I am not sure, if anyone knows would be great.

curl "https://mobile.proscenic.com.de/user/getEquips/$LOGINUSER" -d "username=$LOGINUSER"

Bonjour, J'ai un souci lorsque je tape la commande citée en objet ( en remplaçant LOGINUSER par le même LOGINUSER que l'étape précédente) cela me sort :

{"code":0,"msg":"OK","data":{"content":[],"pageable":{"sort":{"sorted":false,"unsorted":true,"empty":true},"pageNumber":0,"pageSize":20,"offset":0,"paged":true,"unpaged":false},"totalElements":0,"last":true,"totalPages":0,"first":true,"sort

du coup je suis bloqué ici :(

Si quelqu'un peux m'aider je suis preneur.

Merci beaucoup

Bad Request

I tried to login with the supplied curl but I receive a Bad Request as a response so I decided to try to intercept the login request from the app myself. But I'm unable to get passed the certificate verification with Fiddler. It seems it only accept his own. Any ideas?

{"timestamp":"2021-06-30T16:32:12.339+08:00","status":400,"error":"Bad Request","message":"","path":"/user/login"}

Collect dust doesnt work

Hi,

I have the dust collector, normally i just let the vacuum does it by itself via the app, but now i triede it with the command, it does nothing...

The URLs for the APIs have changed. The following should work.

curl -v -k -X POST -H "os: i" -H "Content-Type: application/json" -H "c: 338" -H "lan: en" -H "Host: mobile.proscenic.tw" -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.tw/user/login"

The SN number can be gotten from:
curl "https://mobile.proscenic.tw/user/getEquips/$LOGINUSER" -d "username=$LOGINUSER"

The rest_commands.yaml needs to be changed to ->

rest_command:
  proscenic_clean:
    url: "https://mobile.proscenic.tw/instructions/cmd21005/{{ serial }}?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'cleanMode=sweepOnly&mode=smartAreaClean'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_deep_cleaning:
    url: "https://mobile.proscenic.tw/instructions/cmd21005_2/{{ serial }}?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'mode=depthTotalClean'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_collect_dust:
    url: "https://mobile.proscenic.tw/instructions/cmd/{{ serial }}?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: '{"dInfo":{"ts": "1675216377168","userId":"{{ username }}"},"data":{"cmd":"startDustCenter","value":0},"infoType":21024};'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_pause:
    url: "https://mobile.proscenic.tw/instructions/{{ serial }}/21017?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'mode=pause'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_continue:
    url: "https://mobile.proscenic.tw/instructions/{{ serial }}/21017?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'pauseOrContinue=continue'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_charge:
    url: "https://mobile.proscenic.tw/instructions/{{ serial }}/21012?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'charge=start'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_powermode_standard:
    url: "https://mobile.proscenic.tw/instructions/{{ serial }}/21022?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'setMode=auto'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_powermode_powerful:
    url: "https://mobile.proscenic.tw/instructions/{{ serial }}/21022?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'setMode=strong'
    content_type: 'application/x-www-form-urlencoded'

  proscenic_powermode_quiet:
    url: "https://mobile.proscenic.tw/instructions/{{ serial }}/21022?username={{ username }}"
    method: POST
    headers:
      host: "mobile.proscenic.com.de:443"
      token: "{{ token }}"
    payload: 'setMode=quiet'
    content_type: 'application/x-www-form-urlencoded'

Typing Error in Rest_Commands

To use the deep cleaning script, you have to change the rest_command: proscenic_deep_cleaning to proscenic_deep_clean, so the script can find the command. (Typing Error i guess)

Wrong Payload for Deep Cleaning Command

The rest_command for deep cleaning is working, but only starts normal cleaning process. To start a deep cleaning, the payload must be changed to 'mode=depthTotalClean', not 'cleanMode=depthTotalClean'

Screenshot 2021-07-07 162755

Amazing work. Could you update the repo with the functions you havent reported?

Hi @andker87,

thank you so much for your amazing work!

I'd love to use the M7 from homeassistant to use the multi-zone cleaning function. In the readme you mention that you have already managed to extract this function and just need to upload them here:

"
Already obtained (just need to report them here)

generic infos (name, model, serial number and others)
firmware informations
avaibility
last message(s) (cleaning completed, tank emptying in progress and others)
zone cleaning function (based on automatic partition)
multi-zone cleaning function (based on user defined zones)
Y shaped mopping function
set Silent (on/off)
set Equipment light (on/off)
auto dust collection (enable/disable)
set volume

"
It would be amazing if you could add this functionality!

Cheers,

Felix

Compatibility

Can this work also with version M8 of the same vacuum ?

Proscenic M6 Pro

Hi, i would like to add support for the proscenic M6 pro.
Since i tryed simply using you M7pro-Scripts and they didn't work, i would like to see if i can redo, what you did for the M7 pro.
Could you help me with that?

Proscenic M8

Is there any way to control the Proscenic M8 as well?

`getEquips` URL not working

I am able to get the access token and equipment count as 1 but when I send the getEquips rest it returns empty content and hence I am unable to get the SN
PLease help.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.