homebridge-roborock-vacuum 2.2.5 → 2.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.2.6
4
+
5
+ - **New Feature**: The Roborock region is now detected automatically from the account email when no endpoint is configured — the config UI's Region selector gains an "Auto detect (recommended)" option and new installs no longer need to know which server their account lives on. An explicitly chosen region keeps working exactly as before, and if detection fails the plugin falls back to the previous US default with a hint to pin the region manually. Two-factor login also benefits: it now sends the account's real registered country from the detection response instead of guessing it from the endpoint host (which mapped every EU account to Germany)
6
+
7
+ - **Fix (HAP/Matter)**: Recognize the state codes newer models report, ported from the python-roborock reference tables. State 25 (a second "washing the mop" code used by the Q7 Max family), 33/34 (attaching/detaching the mop mid-run) and the B01/Q10-generation mopping states (6301–6310) now count as an active cleaning session, so HomeKit no longer shows those vacuums as off while they are mopping. The dock mop-wash switch also follows states 25 and 6310, and the Matter operational state maps the new codes (mopping → Running, duster wash → Cleaning mop)
8
+
3
9
  ## 2.2.5
4
10
 
5
11
  - **Fix (HAP/Matter)**: Real-time device messages are now routed to the accessory of the device they came from. Previously every push payload was fanned out to all accessories, so with two or more vacuums one robot could briefly show another robot's state, battery, or error in HomeKit
@@ -48,8 +48,7 @@
48
48
  },
49
49
  "baseURL": {
50
50
  "type": "string",
51
- "default": "https://usiot.roborock.com",
52
- "description": "Roborock API endpoint: https://usiot.roborock.com (US), https://euiot.roborock.com (EU), https://cniot.roborock.com (CN), https://api.roborock.com (Asia)"
51
+ "description": "Roborock API endpoint. Leave empty to auto-detect the region from the account email. Manual values: https://usiot.roborock.com (US), https://euiot.roborock.com (EU), https://cniot.roborock.com (CN), https://api.roborock.com (Asia)"
53
52
  },
54
53
  "language": {
55
54
  "title": "Language",
@@ -14,7 +14,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.RoborockDockWashMatterAccessory = void 0;
15
15
  const homebridge_1 = require("homebridge");
16
16
  const base_matter_accessory_1 = require("./base_matter_accessory");
17
- const MOP_WASHING_STATES = [23, 26];
17
+ // 23 = washing the mop, 25 = its Q7-Max-family alias, 26 = going to wash,
18
+ // 6310 = B01-generation "back at dock washing the duster".
19
+ const MOP_WASHING_STATES = [23, 25, 26, 6310];
18
20
  class RoborockDockWashMatterAccessory extends base_matter_accessory_1.BaseMatterAccessory {
19
21
  constructor(api, log, device, displayName, roborockAPI) {
20
22
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"dock_wash_matter_accessory.js","sourceRoot":"","sources":["../src/dock_wash_matter_accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dock_wash_matter_accessory.js","sourceRoot":"","sources":["../src/dock_wash_matter_accessory.ts"],"names":[],"mappings":"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"}
package/dist/ui/index.js CHANGED
@@ -26,6 +26,9 @@ function isMatterFlagEnabled(value) {
26
26
  }
27
27
  class RoborockUiServer {
28
28
  constructor(HomebridgePluginUiServer) {
29
+ // Discovered regions per account email, kept for the server's lifetime so
30
+ // one settings-page session only performs discovery once per account.
31
+ this.regionCache = new Map();
29
32
  this.homebridgePluginUiServer = new HomebridgePluginUiServer();
30
33
  this.homebridgeStoragePath =
31
34
  this.homebridgePluginUiServer.homebridgeStoragePath;
@@ -91,11 +94,43 @@ class RoborockUiServer {
91
94
  // Ignore file removal errors.
92
95
  }
93
96
  }
97
+ /**
98
+ * Resolve the account's region. An explicitly chosen baseURL wins;
99
+ * otherwise the region is discovered from the account email via
100
+ * getUrlByEmail (cached in-process; failures are not cached so a retry
101
+ * can succeed) and falls back to the US endpoint like before.
102
+ */
103
+ async resolveRegion(email, baseURL) {
104
+ if (baseURL) {
105
+ return { baseURL, ...roborockAuth.getRegionConfig(baseURL) };
106
+ }
107
+ const cacheKey = (email || "").trim().toLowerCase();
108
+ const cached = this.regionCache.get(cacheKey);
109
+ if (cached) {
110
+ return cached;
111
+ }
112
+ const discovered = email
113
+ ? await roborockAuth.discoverAccountRegion(email)
114
+ : null;
115
+ if (discovered) {
116
+ const guess = roborockAuth.getRegionConfig(discovered.baseURL);
117
+ const resolved = {
118
+ baseURL: discovered.baseURL,
119
+ country: discovered.country || guess.country,
120
+ countryCode: discovered.countryCode || guess.countryCode,
121
+ };
122
+ this.regionCache.set(cacheKey, resolved);
123
+ return resolved;
124
+ }
125
+ const fallback = "usiot.roborock.com";
126
+ return { baseURL: fallback, ...roborockAuth.getRegionConfig(fallback) };
127
+ }
94
128
  /** Fetch the account's bridgeable vacuums from the Roborock cloud. */
95
129
  async fetchSupportedDevices(email, baseURL, userData) {
96
130
  const clientID = await this.getClientId();
131
+ const region = await this.resolveRegion(email, baseURL);
97
132
  const devices = await roborockHome.fetchDevices({
98
- baseURL: baseURL || "usiot.roborock.com",
133
+ baseURL: region.baseURL,
99
134
  username: email,
100
135
  clientID,
101
136
  userData,
@@ -152,9 +187,10 @@ class RoborockUiServer {
152
187
  return { ok: false, message: "Email is required." };
153
188
  }
154
189
  try {
190
+ const region = await this.resolveRegion(email, payload.baseURL);
155
191
  const loginApi = await this.buildLoginApi({
156
192
  email,
157
- baseURL: payload.baseURL,
193
+ baseURL: region.baseURL,
158
194
  });
159
195
  await roborockAuth.requestEmailCode(loginApi, email);
160
196
  return { ok: true, message: "Verification email sent." };
@@ -177,16 +213,18 @@ class RoborockUiServer {
177
213
  }
178
214
  let loginResult;
179
215
  try {
216
+ // The resolved region carries the account's real country/countryCode
217
+ // when discovery ran; the host-based mapping remains the fallback.
218
+ const region = await this.resolveRegion(email, payload.baseURL);
180
219
  const loginApi = await this.buildLoginApi({
181
220
  email,
182
- baseURL: payload.baseURL,
221
+ baseURL: region.baseURL,
183
222
  });
184
223
  const nonce = this.buildNonce();
185
224
  const signData = await roborockAuth.signRequest(loginApi, nonce);
186
225
  if (!signData || !signData.k) {
187
226
  return { ok: false, message: "Failed to create login signature." };
188
227
  }
189
- const region = roborockAuth.getRegionConfig(payload.baseURL || "usiot.roborock.com");
190
228
  loginResult = await roborockAuth.loginWithCode(loginApi, {
191
229
  email,
192
230
  code: payload.code,
@@ -220,9 +258,10 @@ class RoborockUiServer {
220
258
  }
221
259
  let loginResult;
222
260
  try {
261
+ const region = await this.resolveRegion(email, payload.baseURL);
223
262
  const loginApi = await this.buildLoginApi({
224
263
  email,
225
- baseURL: payload.baseURL,
264
+ baseURL: region.baseURL,
226
265
  });
227
266
  const nonce = this.buildNonce();
228
267
  const signData = await roborockAuth.signRequest(loginApi, nonce);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  * An instance of this class is created for each accessory the platform registers.
5
5
  * Each accessory may expose multiple services of different service types.
6
6
  */
7
- // Roborock device states meaning the dock is washing the mop (23) or the
8
- // vacuum is on its way to be washed (26).
9
- const MOP_WASHING_STATES = [23, 26];
7
+ // Roborock device states meaning the dock is washing the mop (23, and its
8
+ // alias 25 reported by the Q7 Max family), the vacuum is on its way to be
9
+ // washed (26), or a B01-generation device is back at the dock washing the
10
+ // duster (6310).
11
+ const MOP_WASHING_STATES = [23, 25, 26, 6310];
10
12
  // Consumables reported as remaining-life percentages in the HomeData device
11
13
  // status, exposed as HomeKit FilterMaintenance services. The translation keys
12
14
  // are the short consumable names from the reset actions ("Filter", ...).
@@ -423,10 +425,28 @@ class RoborockVacuumAccessory {
423
425
  18: "Room Clean",
424
426
  22: "Empying dust container",
425
427
  23: "Washing the mop",
428
+ 25: "Washing the mop",
426
429
  26: "Going to wash the mop",
427
430
  28: "In call",
428
431
  29: "Mapping",
432
+ 30: "Egg attack",
433
+ 32: "Patrol",
434
+ 33: "Attaching the mop",
435
+ 34: "Detaching the mop",
429
436
  100: "Fully Charged",
437
+ 101: "Device offline",
438
+ 103: "Locked",
439
+ 202: "Air drying stopping",
440
+ 6301: "Mopping",
441
+ 6302: "Cleaning and mopping (vacuum phase)",
442
+ 6303: "Cleaning and mopping (mop phase)",
443
+ 6304: "Segment mopping",
444
+ 6305: "Segment cleaning and mopping (vacuum phase)",
445
+ 6306: "Segment cleaning and mopping (mop phase)",
446
+ 6307: "Zoned mopping",
447
+ 6308: "Zoned cleaning and mopping (vacuum phase)",
448
+ 6309: "Zoned cleaning and mopping (mop phase)",
449
+ 6310: "Washing the duster at dock",
430
450
  };
431
451
  return RoborockStateCodes[code] || "Unknown";
432
452
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vacuum_accessory.js","sourceRoot":"","sources":["../src/vacuum_accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vacuum_accessory.js","sourceRoot":"","sources":["../src/vacuum_accessory.ts"],"names":[],"mappings":"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"}
@@ -41,15 +41,33 @@ const ROBOROCK_STATE_TO_OPERATIONAL_STATE = {
41
41
  18: 1, // Room Clean → Running
42
42
  22: 67, // Emptying dust container → EmptyingDustBin
43
43
  23: 68, // Washing the mop → Cleaning mop
44
+ 25: 68, // Washing the mop (Q7 Max family alias) → Cleaning mop
44
45
  26: 1, // Going to wash the mop → Running (still driving to the dock)
45
46
  28: 0, // In call → Stopped
46
47
  29: 1, // Mapping → Running
48
+ 33: 1, // Attaching the mop → Running (mid-run transition)
49
+ 34: 1, // Detaching the mop → Running (mid-run transition)
47
50
  100: 66, // Fully Charged → Docked
51
+ 101: 0, // Device offline → Stopped
52
+ 103: 0, // Locked → Stopped
53
+ // B01/Q10-generation mopping states (python-roborock RoborockStateCode).
54
+ 6301: 1, // Mopping → Running
55
+ 6302: 1, // Clean+mop, vacuum phase → Running
56
+ 6303: 1, // Clean+mop, mop phase → Running
57
+ 6304: 1, // Segment mopping → Running
58
+ 6305: 1, // Segment clean+mop, vacuum phase → Running
59
+ 6306: 1, // Segment clean+mop, mop phase → Running
60
+ 6307: 1, // Zoned mopping → Running
61
+ 6308: 1, // Zoned clean+mop, vacuum phase → Running
62
+ 6309: 1, // Zoned clean+mop, mop phase → Running
63
+ 6310: 68, // Back at dock washing the duster → Cleaning mop
48
64
  };
49
65
  // Roborock states that report the Cleaning run mode (state 29, Mapping, is
50
66
  // active motion too — Mapping is not a selectable mode, so it reports as
51
- // Cleaning).
52
- const CLEANING_RUN_MODE_STATES = [5, 11, 17, 18, 29];
67
+ // Cleaning). The 63xx entries are the B01/Q10-generation mopping states.
68
+ const CLEANING_RUN_MODE_STATES = [
69
+ 5, 11, 17, 18, 29, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6309,
70
+ ];
53
71
  // Status fields mirrored into Matter attributes; refreshFromDevice reads them
54
72
  // from the HomeData cache by name (mapped to schema ids by the API).
55
73
  const STATUS_FIELDS = [
@@ -1 +1 @@
1
- {"version":3,"file":"vacuum_matter_accessory.js","sourceRoot":"","sources":["../src/vacuum_matter_accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vacuum_matter_accessory.js","sourceRoot":"","sources":["../src/vacuum_matter_accessory.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@
35
35
  <label>
36
36
  Region
37
37
  <select id="base-url" class="form-select">
38
+ <option value="">Auto detect (recommended)</option>
38
39
  <option value="https://usiot.roborock.com">
39
40
  US (usiot.roborock.com)
40
41
  </option>
@@ -134,16 +134,12 @@ async function request(path, body) {
134
134
  ? CLOUD_REQUEST_TIMEOUT_MS
135
135
  : REQUEST_TIMEOUT_MS;
136
136
  try {
137
- return await withTimeout(
138
- window.homebridge.request(path, body),
139
- timeoutMs,
140
- {
141
- ok: false,
142
- message:
143
- "The Homebridge UI did not respond in time. " +
144
- "Close this window, reload the Homebridge UI page and try again.",
145
- }
146
- );
137
+ return await withTimeout(window.homebridge.request(path, body), timeoutMs, {
138
+ ok: false,
139
+ message:
140
+ "The Homebridge UI did not respond in time. " +
141
+ "Close this window, reload the Homebridge UI page and try again.",
142
+ });
147
143
  } catch (error) {
148
144
  return { ok: false, message: error.message || "Request failed." };
149
145
  }
@@ -177,9 +173,11 @@ async function loadConfig() {
177
173
  if (config.email) {
178
174
  elements.email.value = config.email;
179
175
  }
180
- elements.baseUrl.value = normalizeBaseUrl(
181
- config.baseURL || "https://usiot.roborock.com"
182
- );
176
+ // An absent baseURL means auto-detection; keep the auto option selected
177
+ // instead of forcing the US endpoint.
178
+ elements.baseUrl.value = config.baseURL
179
+ ? normalizeBaseUrl(config.baseURL)
180
+ : "";
183
181
  elements.language.value = config.language || "en";
184
182
  renderSkipDevices(config.skipDevices);
185
183
  matterSelected.clear();
@@ -764,7 +762,7 @@ async function saveCredentials() {
764
762
 
765
763
  await updatePluginConfig({
766
764
  email,
767
- baseURL,
765
+ baseURL: baseURL || undefined,
768
766
  language: getLanguage(),
769
767
  skipDevices,
770
768
  matterDevices: matterDevices || undefined,
@@ -785,7 +783,7 @@ async function login() {
785
783
  await updatePluginConfig({
786
784
  email,
787
785
  password,
788
- baseURL,
786
+ baseURL: baseURL || undefined,
789
787
  encryptedToken: result.encryptedToken,
790
788
  });
791
789
  showToast("success", result.message || "Login successful.");
@@ -841,7 +839,7 @@ async function verifyTwoFactorCode() {
841
839
  if (result.ok) {
842
840
  await updatePluginConfig({
843
841
  email,
844
- baseURL,
842
+ baseURL: baseURL || undefined,
845
843
  encryptedToken: result.encryptedToken,
846
844
  });
847
845
  showToast("success", result.message || "Verification successful.");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-roborock-vacuum",
3
- "version": "2.2.5",
3
+ "version": "2.2.6",
4
4
  "description": "Roborock Vacuum Cleaner - plugin for Homebridge.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -7,144 +7,238 @@ const API_V3_SIGN = "api/v3/key/sign";
7
7
  const API_V4_LOGIN_CODE = "api/v4/auth/email/login/code";
8
8
  const API_V4_LOGIN_PASSWORD = "api/v4/auth/email/login/pwd";
9
9
  const API_V4_EMAIL_CODE = "api/v4/email/code/send";
10
+ const API_V1_GET_URL_BY_EMAIL = "api/v1/getUrlByEmail";
11
+
12
+ // Hosts probed for account-region discovery. Any of them answers
13
+ // getUrlByEmail with the account's true regional endpoint; the list only
14
+ // provides fallbacks when a host is unreachable. Mirrors python-roborock.
15
+ const DISCOVERY_BASE_URLS = [
16
+ "usiot.roborock.com",
17
+ "euiot.roborock.com",
18
+ "cniot.roborock.com",
19
+ "ruiot.roborock.com",
20
+ ];
10
21
 
11
22
  const DEFAULT_HEADERS = {
12
- header_appversion: "4.54.02",
13
- header_clientlang: "en",
14
- header_phonemodel: "Pixel 7",
15
- header_phonesystem: "Android",
23
+ header_appversion: "4.54.02",
24
+ header_clientlang: "en",
25
+ header_phonemodel: "Pixel 7",
26
+ header_phonesystem: "Android",
16
27
  };
17
28
 
18
29
  function normalizeBaseURL(baseURL) {
19
- if (!baseURL) {
20
- return "usiot.roborock.com";
21
- }
22
- return baseURL.replace(/^https?:\/\//i, "").replace(/\/+$/, "");
30
+ if (!baseURL) {
31
+ return "usiot.roborock.com";
32
+ }
33
+ return baseURL.replace(/^https?:\/\//i, "").replace(/\/+$/, "");
23
34
  }
24
35
 
25
36
  function getRegionConfig(baseURL) {
26
- const lower = normalizeBaseURL(baseURL).toLowerCase();
27
- if (lower.includes("euiot")) {
28
- return { country: "DE", countryCode: "49" };
29
- }
30
- if (lower.includes("usiot")) {
31
- return { country: "US", countryCode: "1" };
32
- }
33
- if (lower.includes("cniot")) {
34
- return { country: "CN", countryCode: "86" };
35
- }
36
- if (lower.includes("api.roborock.com")) {
37
- return { country: "SG", countryCode: "65" };
38
- }
39
- return { country: "US", countryCode: "1" };
37
+ const lower = normalizeBaseURL(baseURL).toLowerCase();
38
+ if (lower.includes("euiot")) {
39
+ return { country: "DE", countryCode: "49" };
40
+ }
41
+ if (lower.includes("usiot")) {
42
+ return { country: "US", countryCode: "1" };
43
+ }
44
+ if (lower.includes("cniot")) {
45
+ return { country: "CN", countryCode: "86" };
46
+ }
47
+ if (lower.includes("api.roborock.com")) {
48
+ return { country: "SG", countryCode: "65" };
49
+ }
50
+ return { country: "US", countryCode: "1" };
51
+ }
52
+
53
+ // Credentials must only ever be sent to Roborock's own infrastructure, even
54
+ // if a discovery response were tampered with or the API changed shape.
55
+ function isRoborockHost(baseURL) {
56
+ const host = normalizeBaseURL(baseURL).split("/")[0].toLowerCase();
57
+ return host === "roborock.com" || host.endsWith(".roborock.com");
58
+ }
59
+
60
+ /**
61
+ * Resolve the account's regional API endpoint (and registered country) from
62
+ * its email via getUrlByEmail. Returns { baseURL, country, countryCode } or
63
+ * null; never throws — callers fall back to the configured/default endpoint.
64
+ */
65
+ async function discoverAccountRegion(email, log) {
66
+ for (const host of DISCOVERY_BASE_URLS) {
67
+ try {
68
+ const res = await axios.post(
69
+ `https://${host}/${API_V1_GET_URL_BY_EMAIL}`,
70
+ null,
71
+ {
72
+ params: { email, needtwostepauth: "false" },
73
+ timeout: 10000,
74
+ }
75
+ );
76
+ const body = res && res.data;
77
+ if (!body || body.code !== 200 || !body.data || !body.data.url) {
78
+ if (log && log.debug) {
79
+ log.debug(
80
+ `Region discovery via ${host} answered code ${body && body.code}: ${(body && body.msg) || "no data"}`
81
+ );
82
+ }
83
+ continue;
84
+ }
85
+
86
+ if (!isRoborockHost(body.data.url)) {
87
+ if (log && log.warn) {
88
+ log.warn(
89
+ `Region discovery returned a non-Roborock endpoint ('${body.data.url}'); ignoring it.`
90
+ );
91
+ }
92
+ return null;
93
+ }
94
+
95
+ return {
96
+ baseURL: normalizeBaseURL(body.data.url),
97
+ country: body.data.country || null,
98
+ countryCode:
99
+ body.data.countrycode != null && body.data.countrycode !== ""
100
+ ? String(body.data.countrycode)
101
+ : null,
102
+ };
103
+ } catch (error) {
104
+ if (log && log.debug) {
105
+ log.debug(
106
+ `Region discovery via ${host} failed: ${error && error.message}`
107
+ );
108
+ }
109
+ }
110
+ }
111
+
112
+ return null;
40
113
  }
41
114
 
42
115
  function encryptPassword(password, k) {
43
- const derivedKey = k.slice(4) + k.slice(0, 4);
44
- const cipher = crypto.createCipheriv("aes-128-ecb", Buffer.from(derivedKey, "utf-8"), null);
45
- cipher.setAutoPadding(true);
46
- let encrypted = cipher.update(password, "utf8", "base64");
47
- encrypted += cipher.final("base64");
48
- return encrypted;
116
+ const derivedKey = k.slice(4) + k.slice(0, 4);
117
+ const cipher = crypto.createCipheriv(
118
+ "aes-128-ecb",
119
+ Buffer.from(derivedKey, "utf-8"),
120
+ null
121
+ );
122
+ cipher.setAutoPadding(true);
123
+ let encrypted = cipher.update(password, "utf8", "base64");
124
+ encrypted += cipher.final("base64");
125
+ return encrypted;
49
126
  }
50
127
 
51
128
  function createLoginApi({ baseURL, username, clientID, language }) {
52
- return axios.create({
53
- baseURL: `https://${normalizeBaseURL(baseURL)}`,
54
- // Fail with a real error instead of hanging: the config UI budgets 60s
55
- // per action, and login/2FA-verify chain two requests through this client.
56
- timeout: 20000,
57
- headers: {
58
- header_clientid: crypto.createHash("md5").update(username).update(clientID).digest().toString("base64"),
59
- header_clientlang: language || DEFAULT_HEADERS.header_clientlang,
60
- header_appversion: DEFAULT_HEADERS.header_appversion,
61
- header_phonemodel: DEFAULT_HEADERS.header_phonemodel,
62
- header_phonesystem: DEFAULT_HEADERS.header_phonesystem,
63
- },
64
- });
129
+ return axios.create({
130
+ baseURL: `https://${normalizeBaseURL(baseURL)}`,
131
+ // Fail with a real error instead of hanging: the config UI budgets 60s
132
+ // per action, and login/2FA-verify chain two requests through this client.
133
+ timeout: 20000,
134
+ headers: {
135
+ header_clientid: crypto
136
+ .createHash("md5")
137
+ .update(username)
138
+ .update(clientID)
139
+ .digest()
140
+ .toString("base64"),
141
+ header_clientlang: language || DEFAULT_HEADERS.header_clientlang,
142
+ header_appversion: DEFAULT_HEADERS.header_appversion,
143
+ header_phonemodel: DEFAULT_HEADERS.header_phonemodel,
144
+ header_phonesystem: DEFAULT_HEADERS.header_phonesystem,
145
+ },
146
+ });
65
147
  }
66
148
 
67
149
  async function signRequest(loginApi, s) {
68
- const res = await loginApi.post(`${API_V3_SIGN}?s=${s}`);
69
- return res.data && res.data.data ? res.data.data : null;
150
+ const res = await loginApi.post(`${API_V3_SIGN}?s=${s}`);
151
+ return res.data && res.data.data ? res.data.data : null;
70
152
  }
71
153
 
72
154
  async function requestEmailCode(loginApi, email) {
73
- const params = new URLSearchParams();
74
- params.append("type", "login");
75
- params.append("email", email);
76
- params.append("platform", "");
77
-
78
- try {
79
- const res = await loginApi.post(API_V4_EMAIL_CODE, params.toString());
80
- if (res.data && res.data.code !== 200) {
81
- throw new Error(`Send code failed: ${res.data.msg || "Unknown error"} (Code: ${res.data.code})`);
82
- }
83
- return res.data;
84
- } catch (error) {
85
- if (error.response && error.response.data) {
86
- throw new Error(`Send code failed: ${JSON.stringify(error.response.data)}`);
87
- }
88
- throw error;
89
- }
155
+ const params = new URLSearchParams();
156
+ params.append("type", "login");
157
+ params.append("email", email);
158
+ params.append("platform", "");
159
+
160
+ try {
161
+ const res = await loginApi.post(API_V4_EMAIL_CODE, params.toString());
162
+ if (res.data && res.data.code !== 200) {
163
+ throw new Error(
164
+ `Send code failed: ${res.data.msg || "Unknown error"} (Code: ${res.data.code})`
165
+ );
166
+ }
167
+ return res.data;
168
+ } catch (error) {
169
+ if (error.response && error.response.data) {
170
+ throw new Error(
171
+ `Send code failed: ${JSON.stringify(error.response.data)}`
172
+ );
173
+ }
174
+ throw error;
175
+ }
90
176
  }
91
177
 
92
- async function loginWithCode(loginApi, { email, code, country, countryCode, k, s }) {
93
- const headers = {
94
- "x-mercy-k": k,
95
- "x-mercy-ks": s,
96
- };
97
-
98
- const params = new URLSearchParams({
99
- country,
100
- countryCode,
101
- email,
102
- code,
103
- majorVersion: "14",
104
- minorVersion: "0",
105
- });
106
-
107
- try {
108
- const res = await loginApi.post(API_V4_LOGIN_CODE, params.toString(), { headers });
109
- return res.data;
110
- } catch (error) {
111
- if (error.response && error.response.data) {
112
- return error.response.data;
113
- }
114
- throw error;
115
- }
178
+ async function loginWithCode(
179
+ loginApi,
180
+ { email, code, country, countryCode, k, s }
181
+ ) {
182
+ const headers = {
183
+ "x-mercy-k": k,
184
+ "x-mercy-ks": s,
185
+ };
186
+
187
+ const params = new URLSearchParams({
188
+ country,
189
+ countryCode,
190
+ email,
191
+ code,
192
+ majorVersion: "14",
193
+ minorVersion: "0",
194
+ });
195
+
196
+ try {
197
+ const res = await loginApi.post(API_V4_LOGIN_CODE, params.toString(), {
198
+ headers,
199
+ });
200
+ return res.data;
201
+ } catch (error) {
202
+ if (error.response && error.response.data) {
203
+ return error.response.data;
204
+ }
205
+ throw error;
206
+ }
116
207
  }
117
208
 
118
209
  async function loginByPassword(loginApi, { email, password, k, s }) {
119
- const headers = {
120
- "x-mercy-k": k,
121
- "x-mercy-ks": s,
122
- };
123
-
124
- const params = new URLSearchParams({
125
- email,
126
- password: encryptPassword(password, k),
127
- majorVersion: "14",
128
- minorVersion: "0",
129
- });
130
-
131
- try {
132
- const res = await loginApi.post(API_V4_LOGIN_PASSWORD, params.toString(), { headers });
133
- return res.data;
134
- } catch (error) {
135
- if (error.response && error.response.data) {
136
- return error.response.data;
137
- }
138
- throw error;
139
- }
210
+ const headers = {
211
+ "x-mercy-k": k,
212
+ "x-mercy-ks": s,
213
+ };
214
+
215
+ const params = new URLSearchParams({
216
+ email,
217
+ password: encryptPassword(password, k),
218
+ majorVersion: "14",
219
+ minorVersion: "0",
220
+ });
221
+
222
+ try {
223
+ const res = await loginApi.post(API_V4_LOGIN_PASSWORD, params.toString(), {
224
+ headers,
225
+ });
226
+ return res.data;
227
+ } catch (error) {
228
+ if (error.response && error.response.data) {
229
+ return error.response.data;
230
+ }
231
+ throw error;
232
+ }
140
233
  }
141
234
 
142
235
  module.exports = {
143
- createLoginApi,
144
- getRegionConfig,
145
- normalizeBaseURL,
146
- signRequest,
147
- requestEmailCode,
148
- loginWithCode,
149
- loginByPassword,
236
+ createLoginApi,
237
+ discoverAccountRegion,
238
+ getRegionConfig,
239
+ normalizeBaseURL,
240
+ signRequest,
241
+ requestEmailCode,
242
+ loginWithCode,
243
+ loginByPassword,
150
244
  };
@@ -129,6 +129,9 @@ class Roborock {
129
129
  this.name = "roborock";
130
130
  this.deviceNotify = null;
131
131
  this.baseURL = options.baseURL || "usiot.roborock.com";
132
+ // Region discovered from the account email when no baseURL is
133
+ // configured; carries the account's real country/countryCode for 2FA.
134
+ this.accountRegion = null;
132
135
 
133
136
  this.userData = options.userData || null;
134
137
  this.authState = {
@@ -426,6 +429,27 @@ class Roborock {
426
429
 
427
430
  this.instance = clientID;
428
431
 
432
+ // Region auto-detection: without a configured baseURL, ask the cloud
433
+ // which regional endpoint serves this account. An explicit baseURL in
434
+ // the config always wins; on failure the previous default (US) is kept
435
+ // so behavior never regresses.
436
+ if (!this.config.baseURL) {
437
+ const discovered = await roborockAuth.discoverAccountRegion(
438
+ this.config.username,
439
+ this.log
440
+ );
441
+ if (discovered) {
442
+ this.accountRegion = discovered;
443
+ this.baseURL = discovered.baseURL;
444
+ this.log.info(`Roborock region auto-detected: ${discovered.baseURL}`);
445
+ } else {
446
+ this.log.warn(
447
+ `Could not auto-detect the Roborock region for this account; using ${this.baseURL}. ` +
448
+ `Set baseURL in the plugin config to pin a region.`
449
+ );
450
+ }
451
+ }
452
+
429
453
  // Initialize the login API (which is needed to get access to the real API).
430
454
  this.loginApi = roborockAuth.createLoginApi({
431
455
  baseURL: this.baseURL,
@@ -774,7 +798,17 @@ class Roborock {
774
798
  throw new Error("Missing login signature.");
775
799
  }
776
800
 
777
- const region = roborockAuth.getRegionConfig(this.baseURL);
801
+ // The discovered region carries the account's real country/countryCode;
802
+ // the host-based mapping is only a guess (e.g. every euiot account maps
803
+ // to DE/49) and stays as the fallback.
804
+ const guess = roborockAuth.getRegionConfig(this.baseURL);
805
+ const region = {
806
+ country:
807
+ (this.accountRegion && this.accountRegion.country) || guess.country,
808
+ countryCode:
809
+ (this.accountRegion && this.accountRegion.countryCode) ||
810
+ guess.countryCode,
811
+ };
778
812
  const loginResult = await roborockAuth.loginWithCode(this.loginApi, {
779
813
  email: this.config.username,
780
814
  code,
@@ -1377,6 +1411,9 @@ class Roborock {
1377
1411
  // Single source of truth for "the cleaning session is running" — the HAP
1378
1412
  // and Matter accessories must not keep their own diverging copies of this
1379
1413
  // table, or push and poll updates flap the same characteristic.
1414
+ // State names follow python-roborock's RoborockStateCode, the maintained
1415
+ // reference for codes newer models report (25, 33/34, and the 63xx
1416
+ // mopping family used by B01/Q10-generation devices).
1380
1417
  isCleaning(state) {
1381
1418
  switch (state) {
1382
1419
  case 4: // Remote Control
@@ -1389,7 +1426,20 @@ class Roborock {
1389
1426
  case 17: // Zone Clean
1390
1427
  case 18: // Room Clean
1391
1428
  case 23: // Washing the mop (mid-run dock stop; the session continues)
1429
+ case 25: // Washing the mop (alias reported by the Q7 Max family)
1392
1430
  case 26: // Going to wash the mop
1431
+ case 33: // Attaching the mop (mid-run, e.g. G20S Ultra)
1432
+ case 34: // Detaching the mop (mid-run, e.g. G20S Ultra)
1433
+ case 6301: // Mopping
1434
+ case 6302: // Clean+mop, vacuum phase
1435
+ case 6303: // Clean+mop, mop phase
1436
+ case 6304: // Segment mopping
1437
+ case 6305: // Segment clean+mop, vacuum phase
1438
+ case 6306: // Segment clean+mop, mop phase
1439
+ case 6307: // Zoned mopping
1440
+ case 6308: // Zoned clean+mop, vacuum phase
1441
+ case 6309: // Zoned clean+mop, mop phase
1442
+ case 6310: // Back at dock washing the duster (session continues)
1393
1443
  return true;
1394
1444
  default:
1395
1445
  return false;