mijiaAPI 3.0.3__tar.gz → 3.0.5__tar.gz

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.
Files changed (28) hide show
  1. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/CHANGELOG.md +8 -0
  2. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/FAQ.md +2 -1
  3. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/PKG-INFO +4 -2
  4. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/README.md +3 -1
  5. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI/apis.py +4 -4
  6. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI/devices.py +6 -2
  7. mijiaapi-3.0.5/mijiaAPI/version.py +1 -0
  8. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI.egg-info/PKG-INFO +4 -2
  9. mijiaapi-3.0.3/mijiaAPI/version.py +0 -1
  10. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  11. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/.gitignore +0 -0
  12. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/LICENSE +0 -0
  13. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/demos/test_apis.py +0 -0
  14. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/demos/test_get_statistics.py +0 -0
  15. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/demos/test_login.py +0 -0
  16. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI/__init__.py +0 -0
  17. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI/__main__.py +0 -0
  18. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI/errors.py +0 -0
  19. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI/logger.py +0 -0
  20. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI/miutils.py +0 -0
  21. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI.egg-info/SOURCES.txt +0 -0
  22. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI.egg-info/dependency_links.txt +0 -0
  23. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI.egg-info/entry_points.txt +0 -0
  24. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI.egg-info/requires.txt +0 -0
  25. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/mijiaAPI.egg-info/top_level.txt +0 -0
  26. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/pyproject.toml +0 -0
  27. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/setup.cfg +0 -0
  28. {mijiaapi-3.0.3 → mijiaapi-3.0.5}/uv.lock +0 -0
@@ -2,6 +2,14 @@
2
2
 
3
3
  本文档记录了项目的v1.3.7以来的重要变更。
4
4
 
5
+ ## [3.0.5](https://github.com/Do1e/mijia-api/compare/v3.0.4...v3.0.5) - 2026-01-24
6
+ ### bugfix
7
+ * 蓝牙设备控制返回 code 为 1 时表示网关已经接收指令,视为成功。
8
+
9
+ ## [3.0.4](https://github.com/Do1e/mijia-api/compare/v3.0.3...v3.0.4) - 2026-01-12
10
+ ### bugfix
11
+ * api不可用时不对`available`进行缓存,以修复刷新token成功后依然提示不可用的问题
12
+
5
13
  ## [3.0.3](https://github.com/Do1e/mijia-api/compare/v3.0.2...v3.0.3) - 2026-01-02
6
14
  ### new feature
7
15
  * 新增 `MIJIA_LOG_LEVEL` 环境变量支持,用于配置 CLI 日志级别
@@ -6,7 +6,8 @@
6
6
 
7
7
  ## 扫码登录后的有效期多长?
8
8
 
9
- `serviceToken` 有效期较短,但是已实现自动刷新。用于刷新的 `passToken` 有效期也许是一个月,即扫码登录后理论上可以保活一个月。
9
+ 用于访问API的 `serviceToken` 有效期较短,但是已实现自动刷新。
10
+ 用于刷新的 `passToken` 有效期也许是一个月,即扫码登录后理论上可以保活一个月。但实际上截至当前 commit,我一个半月前的 `passToken` 依然有效。
10
11
 
11
12
  ## XXX设备的XXX如何获取/设置?
12
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mijiaAPI
3
- Version: 3.0.3
3
+ Version: 3.0.5
4
4
  Summary: A Python API for Xiaomi Mijia
5
5
  Author-email: Do1e <i@do1e.cn>
6
6
  License-Expression: GPL-3.0-or-later
@@ -40,6 +40,7 @@ Dynamic: license-file
40
40
 
41
41
  ```bash
42
42
  pip install mijiaAPI
43
+ # Or `uv add mijiaAPI` for uv users
43
44
  ```
44
45
 
45
46
  ### 从源码安装
@@ -49,7 +50,8 @@ git clone https://github.com/Do1e/mijia-api.git
49
50
  cd mijia-api
50
51
  pip install .
51
52
  # Or `pip install -e .` for editable mode
52
- # Or `uv sync` for uv users
53
+ # Or `pip install git+https://github.com/Do1e/mijia-api.git` for direct install
54
+ # Or `uv add git+https://github.com/Do1e/mijia-api.git` for uv users
53
55
  ```
54
56
 
55
57
  ### aur
@@ -20,6 +20,7 @@
20
20
 
21
21
  ```bash
22
22
  pip install mijiaAPI
23
+ # Or `uv add mijiaAPI` for uv users
23
24
  ```
24
25
 
25
26
  ### 从源码安装
@@ -29,7 +30,8 @@ git clone https://github.com/Do1e/mijia-api.git
29
30
  cd mijia-api
30
31
  pip install .
31
32
  # Or `pip install -e .` for editable mode
32
- # Or `uv sync` for uv users
33
+ # Or `pip install git+https://github.com/Do1e/mijia-api.git` for direct install
34
+ # Or `uv add git+https://github.com/Do1e/mijia-api.git` for uv users
33
35
  ```
34
36
 
35
37
  ### aur
@@ -84,8 +84,8 @@ class mijiaAPI():
84
84
  try:
85
85
  self.check_new_msg(refresh_token=False)
86
86
  except Exception:
87
- self._available_cache = False
88
- self._available_cache_time = current_time
87
+ self._available_cache = None
88
+ self._available_cache_time = 0
89
89
  return False
90
90
 
91
91
  self._available_cache = True
@@ -665,7 +665,7 @@ class mijiaAPI():
665
665
  uri = "/miotspec/prop/set"
666
666
  ret_data = self._request(uri, {"params": params})
667
667
  for ret in ret_data:
668
- if ret.get("code", 0) != 0:
668
+ if ret.get("code", 0) not in (0, 1):
669
669
  ret.update({"message": ERROR_CODE.get(str(ret["code"]), "未知错误")})
670
670
  else:
671
671
  ret.update({"message": "成功"})
@@ -741,7 +741,7 @@ class mijiaAPI():
741
741
  ret = self._request(uri, {"params": param})
742
742
  ret_data.append(ret)
743
743
  for ret in ret_data:
744
- if ret.get("code", 0) != 0:
744
+ if ret.get("code", 0) not in (0, 1):
745
745
  ret.update({"message": ERROR_CODE.get(str(ret["code"]), "未知错误")})
746
746
  else:
747
747
  ret.update({"message": "成功"})
@@ -190,7 +190,9 @@ class mijiaDevice():
190
190
  method["did"] = self.did
191
191
  method["value"] = value
192
192
  result = self.api.set_devices_prop(method)
193
- if result["code"] != 0:
193
+ if result["code"] == 1:
194
+ logger.warning(f"网关已经接收指令,无法判断是否设置成功: {self.name} -> {name}, 值: {value}")
195
+ elif result["code"] != 0:
194
196
  raise DeviceSetError(self.name, name, result["code"])
195
197
  time.sleep(self.sleep_time)
196
198
  logger.debug(f"设置属性: {self.name} -> {name}, 值: {value}, 结果: {result}")
@@ -228,7 +230,9 @@ class mijiaDevice():
228
230
  raise ValueError(f"无效的参数: {k}. 请勿使用以下参数 ({', '.join(method.keys())})")
229
231
  method[k] = v
230
232
  result = self.api.run_action(method)
231
- if result["code"] != 0:
233
+ if result["code"] == 1:
234
+ logger.warning(f"网关已经接收指令,无法判断是否执行成功: {self.name} -> {name}")
235
+ elif result["code"] != 0:
232
236
  raise DeviceActionError(self.name, name, result["code"])
233
237
  time.sleep(self.sleep_time)
234
238
  logger.debug(f"执行动作: {self.name} -> {name}, 结果: {result}")
@@ -0,0 +1 @@
1
+ version = "3.0.5"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mijiaAPI
3
- Version: 3.0.3
3
+ Version: 3.0.5
4
4
  Summary: A Python API for Xiaomi Mijia
5
5
  Author-email: Do1e <i@do1e.cn>
6
6
  License-Expression: GPL-3.0-or-later
@@ -40,6 +40,7 @@ Dynamic: license-file
40
40
 
41
41
  ```bash
42
42
  pip install mijiaAPI
43
+ # Or `uv add mijiaAPI` for uv users
43
44
  ```
44
45
 
45
46
  ### 从源码安装
@@ -49,7 +50,8 @@ git clone https://github.com/Do1e/mijia-api.git
49
50
  cd mijia-api
50
51
  pip install .
51
52
  # Or `pip install -e .` for editable mode
52
- # Or `uv sync` for uv users
53
+ # Or `pip install git+https://github.com/Do1e/mijia-api.git` for direct install
54
+ # Or `uv add git+https://github.com/Do1e/mijia-api.git` for uv users
53
55
  ```
54
56
 
55
57
  ### aur
@@ -1 +0,0 @@
1
- version = "3.0.3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes