mijiaAPI 3.0.1__tar.gz → 3.0.2__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.
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/CHANGELOG.md +8 -2
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/PKG-INFO +1 -1
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI/__main__.py +1 -1
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI/apis.py +14 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI/logger.py +1 -1
- mijiaapi-3.0.2/mijiaAPI/version.py +1 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI.egg-info/PKG-INFO +1 -1
- mijiaapi-3.0.1/mijiaAPI/version.py +0 -1
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/.gitignore +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/FAQ.md +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/LICENSE +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/README.md +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/demos/test_apis.py +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/demos/test_get_statistics.py +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/demos/test_login.py +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI/__init__.py +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI/devices.py +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI/errors.py +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI/miutils.py +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI.egg-info/SOURCES.txt +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI.egg-info/dependency_links.txt +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI.egg-info/entry_points.txt +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI.egg-info/requires.txt +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/mijiaAPI.egg-info/top_level.txt +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/pyproject.toml +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/setup.cfg +0 -0
- {mijiaapi-3.0.1 → mijiaapi-3.0.2}/uv.lock +0 -0
|
@@ -2,14 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
本文档记录了项目的v1.3.7以来的重要变更。
|
|
4
4
|
|
|
5
|
-
## [3.0.
|
|
5
|
+
## [3.0.2](https://github.com/Do1e/mijia-api/compare/v3.0.1...v3.0.2) - 2026-01-01
|
|
6
|
+
### new feature
|
|
7
|
+
* 为`available`属性添加了缓存机制,减少频繁调用带来的性能损耗
|
|
8
|
+
### chore
|
|
9
|
+
* 日志信息显示毫秒
|
|
10
|
+
|
|
11
|
+
## [3.0.1](https://github.com/Do1e/mijia-api/compare/v3.0.0...v3.0.1) - 2025-12-09
|
|
6
12
|
### new feature
|
|
7
13
|
* 新增 API `mijiaAPI.get_shared_devices_list()`,用于获取共享设备列表
|
|
8
14
|
### bugfix
|
|
9
15
|
* 修复了 alpine 下 `locale` 无法正常获取,默认使用 `zh_CN` 解决,如果需要在 alpine 下使用其他位置,请自行设置环境变量 `LC_ALL` 和 `LANG`。
|
|
10
16
|
* 修复了共享家庭中无权限的问题,确保传递正确的 `owner_id`。
|
|
11
17
|
|
|
12
|
-
## [3.0.0](https://github.com/Do1e/mijia-api/compare/v2.0.2...v3.0.0) - 2025-11
|
|
18
|
+
## [3.0.0](https://github.com/Do1e/mijia-api/compare/v2.0.2...v3.0.0) - 2025-11-28
|
|
13
19
|
### new feature
|
|
14
20
|
* 使用最新的米家API接口,从 https://api.io.mi.com/app 切换到 https://api.mijia.tech/app
|
|
15
21
|
* `mijiaAPI` 类的初始化参数变更,请传递用于保存认证数据的路径 `auth_data_path` 而不是认证数据
|
|
@@ -11,7 +11,7 @@ from .devices import get_device_info, mijiaDevice
|
|
|
11
11
|
from .version import version
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
logging.getLogger("mijiaAPI").setLevel(logging.
|
|
14
|
+
logging.getLogger("mijiaAPI").setLevel(logging.DEBUG)
|
|
15
15
|
|
|
16
16
|
def parse_args(args):
|
|
17
17
|
parser = argparse.ArgumentParser(description=f"Mijia API CLI (v{version})")
|
|
@@ -37,6 +37,9 @@ class mijiaAPI():
|
|
|
37
37
|
else:
|
|
38
38
|
self.auth_data_path = Path(auth_data_path)
|
|
39
39
|
|
|
40
|
+
self._available_cache = None
|
|
41
|
+
self._available_cache_time = 0
|
|
42
|
+
|
|
40
43
|
if self.auth_data_path.exists():
|
|
41
44
|
with open(self.auth_data_path, "r") as f:
|
|
42
45
|
self.auth_data = json.load(f)
|
|
@@ -72,10 +75,21 @@ class mijiaAPI():
|
|
|
72
75
|
return False
|
|
73
76
|
if any(key not in self.auth_data for key in ["ua", "ssecurity", "userId", "cUserId", "serviceToken"]):
|
|
74
77
|
return False
|
|
78
|
+
|
|
79
|
+
current_time = int(time.time())
|
|
80
|
+
if current_time - self._available_cache_time < 60:
|
|
81
|
+
logger.debug(f"使用缓存的available结果: {self._available_cache}")
|
|
82
|
+
return self._available_cache
|
|
83
|
+
|
|
75
84
|
try:
|
|
76
85
|
self.check_new_msg(refresh_token=False)
|
|
77
86
|
except Exception:
|
|
87
|
+
self._available_cache = False
|
|
88
|
+
self._available_cache_time = current_time
|
|
78
89
|
return False
|
|
90
|
+
|
|
91
|
+
self._available_cache = True
|
|
92
|
+
self._available_cache_time = current_time
|
|
79
93
|
return True
|
|
80
94
|
|
|
81
95
|
@property
|
|
@@ -38,7 +38,7 @@ def get_logger(name: str) -> logging.Logger:
|
|
|
38
38
|
console_handler = logging.StreamHandler()
|
|
39
39
|
|
|
40
40
|
formatter = ColorFormatter(
|
|
41
|
-
"%(asctime)s - %(name)s - %(levelname)s: %(message)s",
|
|
41
|
+
"%(asctime)s.%(msecs)03d - %(name)s - %(levelname)s: %(message)s",
|
|
42
42
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
43
43
|
)
|
|
44
44
|
console_handler.setFormatter(formatter)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "3.0.2"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "3.0.1"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|