Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DEEBOT T10 PLUS :: p95mgv #340

Closed
wants to merge 25 commits into from
Closed

Conversation

MVladislav
Copy link
Contributor

@MVladislav MVladislav commented Nov 8, 2023

DEEBOT T10 PLUS :: p95mgv


Note:

  • I created a python script extension for mitmproxy to generate a structure of how it looks below in section Settings.
    • If this is something helpfull you can find it here.
  • I have prepared also update for "Deebot-4-Home-Assistant" if this will be merged

Updates in code

  • Added/Updated clean log v2
  • added api for app/dln/api/log/clean_result/list
  • possible this will not fully work with office api, as the request send by POST and should be a GET, i tested it with the offline bumper version
Ecovacs Home App Home Assistant
clean_log_v2 clean_log_v2_home clean_log_v2_home_2
  • Added Voice Assistant State
  • getVoiceAssistantState
  • setVoiceAssistantState
Ecovacs Home App Home Assistant
setVoiceAssistantState setVoiceAssistantState_home
  • Added Efficiency
  • getEfficiency
  • setEfficiency
Ecovacs Home App Home Assistant
setEfficiency setEfficiency_home
  • Added Automatic Update
  • getOta
  • setOta
Ecovacs Home App Home Assistant
setOta setOta_home
  • Added Scrubbing Intensity
  • getSweepVibration
  • setSweepVibration
Ecovacs Home App Home Assistant
setSweepVibration
  • Added Mopping Pad Cleaning Reminder
  • getDusterRemind
  • setDusterRemind
Ecovacs Home App Home Assistant
setDusterRemind
  • Added Auto-Empty
  • getAutoEmpty
  • setAutoEmpty
  • done in two steps
    • a switch button to turn general on or off
    • a select to choose an option (which will auto turn on)
Ecovacs Home App Home Assistant
setAutoEmpty setAutoEmpty_home
  • Extend LifeSpan with Unit Care
  • inside getLifeSpan and resetLifeSpan command
Ecovacs Home App Home Assistant
getLifeSpan getLifeSpan_home getLifeSpan_home2

MQTT Communication

Commands overview

List of all commands from below
  • setVoiceAssistantState
  • getVoice
  • setVolume
  • setEfficiency
  • setOta
  • setTimeZone
  • getLifeSpan
  • playSound
  • setBreakPoint
  • setCarpertPressure
  • setTrueDetect
  • setAutoEmpty
  • setDusterRemind
  • setSweepVibration
  • setBlock
  • GetWKVer
  • getOta
  • getLiveLaunchPwdState
  • getCleanInfo_V2
  • getNextSched
  • getCachedMapInfo
  • getPos
  • getAudioCallState
  • getMapSet
  • getMajorMap
  • appping
  • getError
  • getMapTrace
  • getMapSet_V2
  • getMapInfo_V2
  • getMapInfo
  • getPos_V2
  • setMapSet_V2
  • setCleanCount
  • setSpeed
  • setWaterInfo
  • setCleanPreference
  • clean_V2
  • charge
  • getInfo
    • getAutoEmpty
    • getBattery
    • getBlock
    • getBreakPoint
    • getBreakPointStatus
    • getCarpertPressure
    • getChargeState
    • getCleanCount
    • getCleanPreference
    • getDusterRemind
    • getEfficiency
    • getError
    • getRecognization
    • getSleep
    • getSpeed
    • getStationInfo
    • getStationState
    • getStats
    • getSweepMode
    • getSweepVibration
    • getTrueDetect
    • getVoice
    • getVoiceAssistantState
    • getVolume
    • getWaterInfo
Commands implemented
  • charge
  • getCachedMapInfo
  • getError
  • getLifeSpan
  • getMajorMap
  • getMapSet
  • getMapTrace
  • getPos
  • playSound
  • setBreakPoint
  • setCarpertPressure
  • setCleanCount
  • setCleanPreference
  • setSpeed
  • setTrueDetect
  • setVolume
  • setWaterInfo
  • command getInfo is not implemented, but some of the commands inside of the request
    • getBattery
    • getBreakPoint
    • getCarpertPressure
    • getChargeState
    • getCleanCount
    • getCleanPreference
    • getSleep
    • getSpeed
    • getStats
    • getTrueDetect
    • getVolume
    • getWaterInfo
    • getError
Commands not implemented
  • getOta
  • setOta
  • setVoiceAssistantState
  • getVoice
  • setEfficiency
  • setSweepVibration
  • setDusterRemind
  • setAutoEmpty
  • setTimeZone
  • setBlock
  • GetWKVer
  • getLiveLaunchPwdState
  • getCleanInfo_V2
  • getNextSched
  • getAudioCallState
  • appping
  • getPos_V2
  • getMapSet_V2
  • setMapSet_V2
  • getMapInfo_V2
  • getMapInfo
  • clean_V2
  • getInfo
    • getVoiceAssistantState
    • getEfficiency
    • getSweepVibration
    • getDusterRemind
    • getAutoEmpty
    • getVoice
    • getStationInfo
    • getStationState
    • getBlock
    • getBreakPointStatus
    • getRecognization
    • getSweepMode

Aditionals

not in command list below triggerd, but manually tested over home assistant deebot_custom_command.

getMultiMapState:
event_type: deebot_custom_command
data:
  name: getMultiMapState
  response:
    header:
      pri: 1
      tzm: 60
      ts: "1699225021438"
      ver: 0.0.1
      fwVer: 1.7.2
      hwVer: 0.1.1
      wkVer: 0.1.54
    body:
      data:
        enable: 1
      code: 0
      msg: ok
origin: LOCAL
time_fired: "2023-11-05T22:57:10.150859+00:00"
context:
  id: ...
  parent_id: null
  user_id: null

Settings

setVoiceAssistantState

setVoiceAssistantState

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setVoiceAssistantState",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "bdTaskID": "1699209895385391"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209895385",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "aCeu",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209894428",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setVoiceAssistantState",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 0,
          "bdTaskID": "1699209901392827"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209901392",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "YmDJ",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209900456",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
getVoice

getVoice

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getVoice",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {},
    "channel": "google_play"
  },
  "response": {
    "id": "gcoh",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209938016",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "type": "DE",
          "vid": "default",
          "enable": 1,
          "languages": "ZH,EN,BD",
          "downloads": [
            {
              "status": "idle",
              "progress": 0,
              "vid": "",
              "type": ""
            }
          ]
        }
      }
    },
    "payloadType": "j"
  }
}
setVolume

setVolume

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setVolume",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "volume": 4,
          "total": 10,
          "bdTaskID": "1699209961580517"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209961580",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "twEd",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209960610",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setVolume",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "volume": 2,
          "total": 10,
          "bdTaskID": "1699209963980403"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209963980",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "zHuJ",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209963020",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setVolume",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "volume": 0,
          "total": 10,
          "bdTaskID": "1699209968696143"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209968696",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "EBvY",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209967737",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setEfficiency

setEfficiency

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setEfficiency",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "efficiency": 0,
          "bdTaskID": "1699209871050384"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209871050",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "ygpB",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209870123",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setEfficiency",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "efficiency": 1,
          "bdTaskID": "1699209872987219"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209872987",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "qSed",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699210073975",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setOta

setOta

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setOta",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "autoSwitch": 0,
          "bdTaskID": "1699210050675335"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699210050675",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "NhKy",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699210049780",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setOta",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "autoSwitch": 1,
          "bdTaskID": "1699210052163135"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699210052163",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "ftsl",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699210051184",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setTimeZone

setTimeZone

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setTimeZone",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "tzm": 120,
          "bdTaskID": "1699210102304739"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699210102304",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "srVK",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699210101387",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setTimeZone",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "tzm": 60,
          "bdTaskID": "1699210104403147"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699210104403",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "sPEu",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 120,
        "ts": "1699210103496",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
getLifeSpan

getLifeSpan

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getLifeSpan",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": ["sideBrush", "brush", "heap", "unitCare"]
      },
      "header": {
        "pri": 2,
        "ts": "1699210010038",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "CNeI",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699210171516",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": [
          {
            "type": "sideBrush",
            "left": 7434,
            "total": 9000
          },
          {
            "type": "brush",
            "left": 16465,
            "total": 18000
          },
          {
            "type": "heap",
            "left": 5657,
            "total": 7200
          },
          {
            "type": "unitCare",
            "left": 265,
            "total": 1800
          }
        ]
      }
    },
    "payloadType": "j"
  }
}
playSound (Find My BEEBOT)

playSound

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "playSound",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "count": 1,
          "sid": 30,
          "bdTaskID": "1699210193166920"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699210193165",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "FfsG",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699210192208",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}

Smart Clean

setBreakPoint

setBreakPoint

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setBreakPoint",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 0,
          "bdTaskID": "1699209676995515"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209676995",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "GqEh",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209676549",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setBreakPoint",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "bdTaskID": "1699209678398828"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209678398",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "VxOL",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209678860",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setCarpertPressure

setCarpertPressure

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setCarpertPressure",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 0,
          "bdTaskID": "1699209680711382"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209680711",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "OslK",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209679767",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setCarpertPressure",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "bdTaskID": "1699209681728236"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209681728",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "pRhw",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209680772",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setTrueDetect

setTrueDetect

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setTrueDetect",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 0,
          "bdTaskID": "1699209682623712"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209682622",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "BtnV",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209681676",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setTrueDetect",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "bdTaskID": "1699209683782613"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209683782",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "JGdh",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209682881",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setAutoEmpty

setAutoEmpty

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setAutoEmpty",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "frequency": "25",
          "bdTaskID": "1699209687217485"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209687216",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "jUVo",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209686296",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setAutoEmpty",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "frequency": "15",
          "bdTaskID": "1699209687898728"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209687897",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "QvNh",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209686996",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setAutoEmpty",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "frequency": "10",
          "bdTaskID": "1699209688693533"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209688693",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "cMal",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209687800",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setAutoEmpty",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 0,
          "frequency": "10",
          "bdTaskID": "1699209689547607"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209689547",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "DFRG",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209691529",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setAutoEmpty",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "frequency": "auto",
          "bdTaskID": "1699209693321188"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209693321",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "zmWg",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209692431",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setDusterRemind

setDusterRemind

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setDusterRemind",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "period": 30,
          "enable": 1,
          "bdTaskID": "1699209696267759"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209696267",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "gBOs",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209695343",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setDusterRemind",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "period": 45,
          "enable": 1,
          "bdTaskID": "1699209697190463"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209697190",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "TIAp",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209696563",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setDusterRemind",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "period": 15,
          "enable": 1,
          "bdTaskID": "1699209698074432"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209698074",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "wVWT",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209698053",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setDusterRemind",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "period": 30,
          "enable": 0,
          "bdTaskID": "1699209699980245"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209699980",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "EVvl",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209699058",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setSweepVibration

setSweepVibration

{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setSweepVibration",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "frequency": 0,
          "bdTaskID": "1699209701253411"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209701252",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "prBg",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209700263",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setSweepVibration",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "frequency": 2,
          "bdTaskID": "1699209701940658"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209701940",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "QkDX",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209700966",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setSweepVibration",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "frequency": 1,
          "bdTaskID": "1699209702842751"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209702841",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "Cone",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209701870",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}

Refs

@MVladislav
Copy link
Contributor Author

Additional other commands

i was limited to add all into one comment

Others 1

setBlock
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setBlock",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 0,
          "start": "22:0",
          "end": "7:0",
          "bdTaskID": "1699209844137678"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209844137",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "epCW",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209843423",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setBlock",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "ecouser.net",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "start": "22:0",
          "end": "7:0",
          "bdTaskID": "1699209845385653"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699209845385",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "WIjf",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699209844396",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}

Others 2

GetWKVer
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "GetWKVer",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "td": "GetWKVer"
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "ret": "ok",
      "ver": "0.25.16"
    },
    "payloadType": "j"
  }
}
getOta
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getOta",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216142967",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216135446",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "status": "idle",
          "result": 0,
          "isForce": 0,
          "progress": 0,
          "supportAuto": 1,
          "autoSwitch": 1,
          "ver": "1.7.2"
        }
      }
    },
    "payloadType": "j"
  }
}
getLiveLaunchPwdState
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getLiveLaunchPwdState",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216143947",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216136368",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "state": 1,
          "hasPwd": 1
        }
      }
    },
    "payloadType": "j"
  }
}
getCleanInfo_V2
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getCleanInfo_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216144031",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216138748",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "data": {
          "trigger": "none",
          "state": "idle"
        },
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
getInfo
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": ["getMapState"]
      },
      "header": {
        "pri": 2,
        "ts": "1699216144022",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216136630",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "getMapState": {
            "data": {
              "state": "built"
            },
            "code": 0,
            "msg": "ok"
          }
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": [
          "getWaterInfo",
          "getCleanPreference",
          "getStationInfo",
          "getAutoEmpty",
          "getSweepMode"
        ]
      },
      "header": {
        "pri": 2,
        "ts": "1699216144028",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216136655",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "getWaterInfo": {
            "code": 0,
            "msg": "ok",
            "data": {
              "enable": 0,
              "amount": 2,
              "type": 0,
              "sweepType": 1
            }
          },
          "getCleanPreference": {
            "data": {
              "enable": 1
            },
            "code": 0,
            "msg": "ok"
          },
          "getStationInfo": {
            "data": {
              "state": 1,
              "name": "Empty Station",
              "model": "AES",
              "sn": "317211735002292000387",
              "wkVer": "0.1.3"
            },
            "code": 0,
            "msg": "OK"
          },
          "getAutoEmpty": {
            "code": 0,
            "msg": "OK",
            "data": {
              "status": 0,
              "enable": 1,
              "frequency": "auto"
            }
          }
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": [
          "getVoice",
          "getBreakPointStatus",
          "getSleep",
          "getBlock",
          "getEfficiency",
          "getVoiceAssistantState"
        ]
      },
      "header": {
        "pri": 2,
        "ts": "1699216144026",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216136816",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "getVoice": {
            "code": 0,
            "msg": "ok",
            "data": {
              "type": "EN",
              "vid": "default",
              "enable": 0,
              "languages": "ZH,EN,BD",
              "downloads": [
                {
                  "status": "idle",
                  "progress": 0,
                  "vid": "",
                  "type": ""
                }
              ]
            }
          },
          "getBreakPointStatus": {
            "code": 0,
            "msg": "OK",
            "data": {
              "status": 0
            }
          },
          "getSleep": {
            "code": 0,
            "msg": "ok",
            "data": {
              "enable": 1
            }
          },
          "getBlock": {
            "code": 0,
            "msg": "ok",
            "data": {
              "enable": 1,
              "start": "22:0",
              "end": "7:0"
            }
          },
          "getEfficiency": {
            "data": {
              "efficiency": 1,
              "support": 1
            },
            "code": 0,
            "msg": "ok"
          },
          "getVoiceAssistantState": {
            "data": {
              "enable": 0
            },
            "code": 0,
            "msg": "ok"
          }
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": [
          "getError",
          "getSpeed",
          "getCleanCount",
          "getBreakPoint",
          "getVolume",
          "getRecognization",
          "getSweepVibration"
        ]
      },
      "header": {
        "pri": 2,
        "ts": "1699216144029",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216136930",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "getError": {
            "code": 0,
            "msg": "ok",
            "data": {
              "code": [312]
            }
          },
          "getSpeed": {
            "code": 0,
            "msg": "ok",
            "data": {
              "speed": 1
            }
          },
          "getCleanCount": {
            "data": {
              "count": 1
            },
            "code": 0,
            "msg": "ok"
          },
          "getBreakPoint": {
            "data": {
              "enable": 1
            },
            "code": 0,
            "msg": "ok"
          },
          "getVolume": {
            "code": 0,
            "msg": "ok",
            "data": {
              "total": 10,
              "volume": 0
            }
          },
          "getRecognization": {
            "data": {
              "state": 1,
              "update": 0,
              "items": [
                {
                  "type": 6,
                  "state": 1
                },
                {
                  "type": 5,
                  "state": 60
                },
                {
                  "type": 3,
                  "state": 48
                },
                {
                  "type": 1,
                  "state": 0
                },
                {
                  "type": 4,
                  "state": 0
                }
              ]
            },
            "code": 0,
            "msg": "ok"
          },
          "getSweepVibration": {
            "data": {
              "frequency": 1
            },
            "code": 0,
            "msg": "ok"
          }
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": ["getStationState", "getBattery", "getChargeState", "getStats"]
      },
      "header": {
        "pri": 2,
        "ts": "1699216144024",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216137043",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "getStationState": {
            "data": {
              "content": {
                "error": [314]
              },
              "state": 0
            },
            "code": 0,
            "msg": "ok"
          },
          "getBattery": {
            "code": 0,
            "msg": "ok",
            "data": {
              "value": 100,
              "isLow": 0
            }
          },
          "getChargeState": {
            "code": 0,
            "msg": "ok",
            "data": {
              "isCharging": 1,
              "mode": "slot"
            }
          },
          "getStats": {
            "code": 0,
            "msg": "ok",
            "data": {
              "area": 31,
              "time": 2040,
              "cid": "1188118897",
              "start": "1699192807",
              "type": "auto",
              "enablePowerMop": 0,
              "powerMopType": 1,
              "aiopen": 1,
              "aitypes": [],
              "avoidCount": 0
            }
          }
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": [
          "getDusterRemind",
          "getSweepVibration",
          "getTrueDetect",
          "getBreakPoint",
          "getCarpertPressure",
          "getAutoEmpty"
        ]
      },
      "header": {
        "pri": 2,
        "ts": "1699216203797",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216196234",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "getDusterRemind": {
            "code": 0,
            "msg": "ok",
            "data": {
              "enable": 0,
              "period": 30
            }
          },
          "getSweepVibration": {
            "data": {
              "frequency": 1
            },
            "code": 0,
            "msg": "ok"
          },
          "getTrueDetect": {
            "data": {
              "enable": 1
            },
            "code": 0,
            "msg": "ok"
          },
          "getBreakPoint": {
            "data": {
              "enable": 1
            },
            "code": 0,
            "msg": "ok"
          },
          "getCarpertPressure": {
            "code": 0,
            "msg": "ok",
            "data": {
              "enable": 1
            }
          },
          "getAutoEmpty": {
            "code": 0,
            "msg": "OK",
            "data": {
              "status": 0,
              "enable": 1,
              "frequency": "auto"
            }
          }
        }
      }
    },
    "payloadType": "j"
  }
}
getNextSched
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getNextSched",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216144035",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216136792",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
getCachedMapInfo
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getCachedMapInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216144041",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216261124",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "enable": 1,
          "info": [
            {
              "mid": "0",
              "backupId": "",
              "status": 1,
              "index": 3,
              "using": 0,
              "built": 0,
              "name": "",
              "isFastBuilding": 0
            },
            {
              "mid": "726872002",
              "backupId": "714452201",
              "status": 0,
              "index": 0,
              "using": 1,
              "built": 1,
              "name": "EG",
              "isFastBuilding": 2
            },
            {
              "mid": "0",
              "backupId": "",
              "status": 1,
              "index": 1,
              "using": 0,
              "built": 0,
              "name": "",
              "isFastBuilding": 0
            },
            {
              "mid": "0",
              "backupId": "",
              "status": 1,
              "index": 2,
              "using": 0,
              "built": 0,
              "name": "",
              "isFastBuilding": 0
            }
          ]
        }
      }
    },
    "payloadType": "j"
  }
}
getPos
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getPos",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": ["chargePos", "deebotPos"]
      },
      "header": {
        "pri": 2,
        "ts": "1699216144042",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216396929",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "deebotPos": {
            "x": -20,
            "y": 573,
            "a": -91,
            "invalid": 0
          },
          "chargePos": [
            {
              "x": -20,
              "y": 573,
              "a": -91,
              "t": 3,
              "invalid": 0
            }
          ],
          "mid": "726872002"
        }
      }
    },
    "payloadType": "j"
  }
}
getAudioCallState
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getAudioCallState",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216144087",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216138436",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "state": 0
        }
      }
    },
    "payloadType": "j"
  }
}
getMapSet
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapSet",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "start": 0,
          "mid": "",
          "type": "svw",
          "bdTaskID": "1699216144294818"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216144294",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216138340",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "type": "svw",
          "hasUnRead": 0,
          "count": 0,
          "mid": "0",
          "subsets": []
        }
      }
    },
    "payloadType": "j"
  }
}
getMajorMap
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMajorMap",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216144396",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216138355",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "mid": "726872002",
          "pieceWidth": 100,
          "pieceHeight": 100,
          "cellWidth": 8,
          "cellHeight": 8,
          "pixel": 50,
          "value": "1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,2596773158,3547904596,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,2858393155,2126685725,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,2615562804,3596963744,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,2757388376,510015600,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014",
          "type": "ol"
        }
      }
    },
    "payloadType": "j"
  }
}
appping
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "appping",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216144992",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": null
}
getError
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getError",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "header": {
        "pri": 2,
        "ts": "1699216145806",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216392678",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "code": [312]
        }
      }
    },
    "payloadType": "j"
  }
}
getMapTrace
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapTrace",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "traceStart": 0,
          "pointCount": 400,
          "bdTaskID": "1699216146166371"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216146166",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216138845",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "tid": "986639249",
          "totalCount": 0,
          "traceStart": 0,
          "pointCount": 400
        }
      }
    },
    "payloadType": "j"
  }
}
getMapSet_V2
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapSet_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "count": 20,
          "start": 0,
          "mid": "726872002",
          "type": "ar",
          "bdTaskID": "1699216146167648"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216146167",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216273676",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "type": "ar",
          "mid": "726872002",
          "msid": "1733679707",
          "batid": "hjfoak",
          "serial": 1,
          "index": 1,
          "subsets": "XQAABABTAQAAAC2WwEHwYhHYKweZGEMK6AwUCE5AaVSsMQWv7CM//SAKpSUfPeLtAFObfH1FW2Fz5r/W/x71NuIuVYOLnLYEx/HLPXBsK1vaTayD0xDXxqaea41dOPPwuOAjei7z8BTIQw9t5xvrmk+w0OJlVKhlTZZS4pWvy+nhdJ+ZK+e7n42xrl352kA4QPPa7LeAjOhFCpGt1/SYOwXlvHsiHpnA",
          "infoSize": 339
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapSet_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "count": 20,
          "start": 0,
          "mid": "726872002",
          "type": "mw",
          "bdTaskID": "1699216146171840"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216146170",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216144503",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "type": "mw",
          "mid": "726872002",
          "batid": "kmipba",
          "serial": 1,
          "index": 1,
          "subsets": "XQAABAACAAAAAC2XPAAAAA==",
          "infoSize": 2
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapSet_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "count": 20,
          "start": 0,
          "mid": "726872002",
          "type": "vw",
          "bdTaskID": "1699216146169304"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216146169",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216144550",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "type": "vw",
          "mid": "726872002",
          "batid": "kmipba",
          "serial": 1,
          "index": 1,
          "subsets": "XQAABACDAAAAAC2WwEIAXhHX3vWv8d6dwpIHoeXjb+ZpCMN9cFO80J+tKIgkWvGYCfOWu0VRp/H0xG1/nHgbOR3nCiJmfkA=",
          "infoSize": 131
        }
      }
    },
    "payloadType": "j"
  }
}
getMapInfo_V2
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapInfo_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "mid": "726872002",
          "type": "0",
          "bdTaskID": "1699216146172236"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216146172",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216139058",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapInfo_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "mid": "726872002",
          "type": "1,4",
          "bdTaskID": "1699216149982716"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216149982",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216262076",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
getMapInfo
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getMapInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "totalHeight": 0,
          "width": 0,
          "index": 0,
          "mid": "726872002",
          "startY": 0,
          "startX": 0,
          "totalCount": 0,
          "totalWidth": 0,
          "type": "ol",
          "pixel": 0,
          "height": 0,
          "bdTaskID": "1699216149977813"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216149977",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216261324",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
getPos_V2
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "getPos_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "mid": "726872002",
          "type": ["chargePos", "deebotPos"],
          "bdTaskID": "1699216149979171"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216149978",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216262029",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "mid": "726872002",
          "deebotPos": {
            "x": -17,
            "y": 612,
            "a": -92,
            "invalid": 0
          },
          "chargePos": [
            {
              "x": -17,
              "y": 612,
              "a": -92,
              "t": 3,
              "invalid": 0
            }
          ]
        }
      }
    },
    "payloadType": "j"
  }
}
setMapSet_V2
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setMapSet_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "start": 0,
          "mid": "726872002",
          "subsets": [
            {
              "act": "rename",
              "subtype": "1",
              "values": {},
              "name": "Living room1",
              "mid": "726872002",
              "type": "ar",
              "mssid": "0"
            }
          ],
          "bdTaskID": "1699216159884981"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216159884",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216152344",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "mssid": "0"
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setMapSet_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "mid": "726872002",
          "subsets": [
            {
              "act": "mod",
              "index": "1",
              "type": "ar",
              "mssid": "0"
            },
            {
              "act": "mod",
              "index": "3",
              "type": "ar",
              "mssid": "2"
            },
            {
              "act": "mod",
              "index": "2",
              "type": "ar",
              "mssid": "7"
            },
            {
              "act": "mod",
              "index": "4",
              "type": "ar",
              "mssid": "3"
            },
            {
              "act": "mod",
              "index": "0",
              "type": "ar",
              "mssid": "6"
            }
          ],
          "bdTaskID": "1699216199452813"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216199452",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216191912",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "mssid": "0"
        }
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setMapSet_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "mid": "726872002",
          "subsets": [
            {
              "cleanset": "1,1,2",
              "act": "mod",
              "type": "ar",
              "mssid": "0"
            }
          ],
          "bdTaskID": "1699216280998761"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216280997",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216273484",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok",
        "data": {
          "mssid": "0"
        }
      }
    },
    "payloadType": "j"
  }
}
setCleanCount
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setCleanCount",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "count": 2,
          "bdTaskID": "1699216184722109"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216184721",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216177226",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setCleanCount",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "count": 1,
          "bdTaskID": "1699216185403312"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216185403",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216177944",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setSpeed
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setSpeed",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "speed": 1000,
          "bdTaskID": "1699216186819114"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216186819",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216179235",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setSpeed",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "speed": 0,
          "bdTaskID": "1699216188133577"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216188133",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216180544",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setSpeed",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "speed": 1,
          "bdTaskID": "1699216188834856"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216188834",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216183565",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setSpeed",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "speed": 2,
          "bdTaskID": "1699216190334146"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216190333",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216182759",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setWaterInfo
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setWaterInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "amount": 1,
          "bdTaskID": "1699216192724262"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216192724",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216185174",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setWaterInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "amount": 3,
          "bdTaskID": "1699216194157489"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216194157",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216186578",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setWaterInfo",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "amount": 2,
          "bdTaskID": "1699216194965713"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216194965",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216187383",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
setCleanPreference
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setCleanPreference",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 0,
          "bdTaskID": "1699216254316734"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216254316",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216246962",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "setCleanPreference",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "enable": 1,
          "bdTaskID": "1699216255420512"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216255420",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216247883",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
clean_V2
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "clean_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "act": "start",
          "bdTaskID": "1699216315921345",
          "content": {
            "donotClean": 0,
            "count": 0,
            "type": "auto"
          }
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216315921",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216308323",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "clean_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "act": "pause",
          "bdTaskID": "1699216324726578",
          "content": {
            "donotClean": 0,
            "count": 0
          }
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216324727",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216324089",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "clean_V2",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "act": "resume",
          "bdTaskID": "1699216327864802",
          "content": {
            "donotClean": 0,
            "count": 0
          }
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216327865",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216320285",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}
charge
{
  "request": {
    "td": "q",
    "toId": "REPLACED",
    "toType": "p95mgv",
    "toRes": "REPLACED",
    "cmdName": "charge",
    "payloadType": "j",
    "auth": {
      "with": "REPLACED",
      "userid": "REPLACED",
      "realm": "REPLACED",
      "token": "REPLACED",
      "resource": "REPLACED"
    },
    "app": {
      "id": "ecovacs"
    },
    "payload": {
      "body": {
        "data": {
          "act": "go",
          "id": "1699216334259125",
          "bdTaskID": "1699216334260316"
        }
      },
      "header": {
        "pri": 2,
        "ts": "1699216334260",
        "tzm": 60,
        "ver": "0.0.22"
      }
    }
  },
  "response": {
    "id": "REPLACED",
    "ret": "ok",
    "resp": {
      "header": {
        "pri": 1,
        "tzm": 60,
        "ts": "1699216326702",
        "ver": "0.0.1",
        "fwVer": "1.7.2",
        "hwVer": "0.1.1",
        "wkVer": "0.1.54"
      },
      "body": {
        "code": 0,
        "msg": "ok"
      }
    },
    "payloadType": "j"
  }
}

@MVladislav MVladislav changed the title P95mgv DEEBOT T10 PLUS :: p95mgv Nov 8, 2023
Copy link
Contributor

@edenhaus edenhaus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your amazing work :)

I have done an initial review


:return: A message response
"""
event_bus.notify(AutoEmptyModeEvent(AutoEmptyMode(str(data["frequency"]))))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also return if auto empty is enabled.
For example in GetWaterInfo I use the event also for two entities in HA and I suggest we do here the same. So we can remove deebot_client/commands/json/auto_empty_enable.py completely

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did i understand you correct, i make here a change:
MVladislav@f4a4d4d

"resource": device_info.resource,
}
),
# "country": "DE",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are these keys?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I note some more params which are set in the " query_params", but i now not have included, if they somehow are needed.
I current tested this version only with the local bumper server. Possible they are not needed and can be removed.
Also, as mentioned, this is not 100% correct implemented now, as this request is original send over a GET requested and i used the implemented POST request.

Comment on lines 127 to 128
auto_empty_enable: CapabilitySetEnable[AutoEmptyEnableEvent] | None = None
auto_empty: CapabilitySetTypes[AutoEmptyModeEvent, AutoEmptyMode] | None = None
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can be one capability as a robot always supports both or none in my opinion

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did i understand you correct, i make here a change:
MVladislav@f4a4d4d

deebot_client/commands/json/clean_logs_v2.py Outdated Show resolved Hide resolved
deebot_client/commands/json/ota.py Outdated Show resolved Hide resolved
deebot_client/const.py Outdated Show resolved Hide resolved
class AutoEmptyMode(DisplayNameStrEnum):
"""Enum class for all possible auto emptys."""

MODE_10 = "10"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the meaning of these numbers?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This are the number from the App for "minutes" or for "auto":

auto empty

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to set it also to 12 minutes (via an API call)?

Copy link
Contributor Author

@MVladislav MVladislav Nov 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seams it is general possible to set any string-number:

  • i run first set to "12"
  • than changed to see what get will return
    • not be surprised in get is also body filled
  • to send it as number instead string is not possible

image

@edenhaus edenhaus added the pr: new-feature PR, which adds a new feature label Nov 14, 2023
Copy link

codecov bot commented Nov 14, 2023

Codecov Report

Attention: 44 lines in your changes are missing coverage. Please review.

Comparison is base (5b63b6c) 78.48% compared to head (dfc4540) 78.68%.
Report is 1 commits behind head on dev.

Files Patch % Lines
deebot_client/util.py 54.54% 15 Missing ⚠️
deebot_client/commands/json/clean_logs_v2.py 58.06% 13 Missing ⚠️
deebot_client/commands/json/auto_empty.py 78.26% 5 Missing ⚠️
deebot_client/commands/json/efficiency.py 75.00% 5 Missing ⚠️
deebot_client/authentication.py 25.00% 3 Missing ⚠️
deebot_client/commands/json/ota.py 84.21% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##              dev     DeebotUniverse/Deebot-4-Home-Assistant#340      +/-   ##
==========================================
+ Coverage   78.48%   78.68%   +0.20%     
==========================================
  Files          59       67       +8     
  Lines        2501     2717     +216     
  Branches      461      481      +20     
==========================================
+ Hits         1963     2138     +175     
- Misses        495      536      +41     
  Partials       43       43              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@edenhaus
Copy link
Contributor

I created a python script extension for mitmproxy to generate a structure of how it looks below in section Settings.

* If this is something helpfull you can find it **[here](https://github.com/MVladislav/bumper/blob/dev/docs/dev/Ubuntu_Android_Sniffing.md?rgh-link-date=2023-11-08T21%3A58%3A13Z#extend-mitmproy)**.

This is amazing :) Thanks for sharing.

Do you have Discord? If yes, can you give me your username as I have some questions

@MVladislav
Copy link
Contributor Author

I created a python script extension for mitmproxy to generate a structure of how it looks below in section Settings.

* If this is something helpfull you can find it **[here](https://github.com/MVladislav/bumper/blob/dev/docs/dev/Ubuntu_Android_Sniffing.md?rgh-link-date=2023-11-08T21%3A58%3A13Z#extend-mitmproy)**.

This is amazing :) Thanks for sharing.

Do you have Discord? If yes, can you give me your username as I have some questions

Yes, i have send you a request (hope to correct account :D) else this is my username "c3npr0un1"

@edenhaus
Copy link
Contributor

Yes, i have send you a request (hope to correct account :D) else this is my username "c3npr0un1"

As I don't get any requests, probably you have the wrong account. Unfortunately, I cannot send you a friend requests as you have deactivate them. My username is edenhaus

Comment on lines +34 to +51
class SetAutoEmpty(SetEnableCommand):
"""Set auto empty command."""

name = "setAutoEmpty"
get_command = GetAutoEmpty


class SetAutoEmptyMode(SetCommand):
"""Set auto empty mode command."""

name = "setAutoEmpty"
get_command = GetAutoEmpty
_mqtt_params = {"frequency": InitParam(AutoEmptyMode)}

def __init__(self, mode: AutoEmptyMode | str) -> None:
if isinstance(mode, str):
mode = AutoEmptyMode.get(mode)
super().__init__({"enable": 1, "frequency": mode.value})
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would combine these two commands into one, as they use the same command name.
We can edit the command, so we only send enable or frequency if this is required

class AutoEmptyMode(DisplayNameStrEnum):
"""Enum class for all possible auto emptys."""

MODE_10 = "10"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to set it also to 12 minutes (via an API call)?

@MVladislav
Copy link
Contributor Author

Split into separated pull requests, see discussion for more info: #345

@MVladislav MVladislav closed this Nov 15, 2023
@MVladislav MVladislav deleted the p95mgv branch November 16, 2023 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: new-feature PR, which adds a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants