{"id":38387789,"url":"https://github.com/synodriver/homeassistant_custom_components","last_synced_at":"2026-01-17T03:45:37.876Z","repository":{"id":314839516,"uuid":"1056431612","full_name":"synodriver/homeassistant_custom_components","owner":"synodriver","description":"咕御用homeassistant集成","archived":false,"fork":false,"pushed_at":"2025-09-15T04:06:54.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-15T06:20:32.163Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/synodriver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-14T04:35:23.000Z","updated_at":"2025-09-15T04:19:52.000Z","dependencies_parsed_at":"2025-09-15T06:20:51.969Z","dependency_job_id":"d0510824-8a94-49b0-8ad8-e387ac1c02e3","html_url":"https://github.com/synodriver/homeassistant_custom_components","commit_stats":null,"previous_names":["synodriver/homeassistant_custom_components"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/synodriver/homeassistant_custom_components","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Fhomeassistant_custom_components","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Fhomeassistant_custom_components/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Fhomeassistant_custom_components/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Fhomeassistant_custom_components/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synodriver","download_url":"https://codeload.github.com/synodriver/homeassistant_custom_components/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synodriver%2Fhomeassistant_custom_components/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28493674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T02:39:23.645Z","status":"ssl_error","status_checked_at":"2026-01-17T02:34:19.649Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T03:45:37.793Z","updated_at":"2026-01-17T03:45:37.868Z","avatar_url":"https://github.com/synodriver.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Home Assistant 青萍空气检测仪自定义组件\n\n## 项目简介\n\n这是一个 Home Assistant 自定义组件，用于集成青萍科技（QingPing）的 IoT 空气检测设备。该组件允许用户通过 Home Assistant 监控和管理青萍空气检测仪的各种传感器数据。\n\n## 功能特性\n\n### 支持的传感器类型\n- **温度** (temperature) - 摄氏度 (°C)\n- **湿度** (humidity) - 百分比 (%)\n- **大气压力** (pressure) - 千帕 (kPa)\n- **电池电量** (battery) - 百分比 (%)\n- **TVOC** (总挥发性有机化合物) - 微克/立方米 (μg/m³)\n- **CO2** (二氧化碳) - 百万分率 (ppm)\n- **PM2.5** (细颗粒物) - 微克/立方米 (μg/m³)\n\n### 主要功能\n- 通过青萍开放 API 获取设备数据\n- 支持多设备管理\n- 自动设备发现和配置\n- 实时数据更新（1分钟间隔）\n- 友好的用户界面配置流程\n\n## 项目结构\n\n```\ncustom_components/qingpingiot/\n├── __init__.py          # 主组件初始化\n├── config_flow.py       # 配置流程管理\n├── consts.py           # 常量定义\n├── sensor.py           # 传感器实体实现\n├── manifest.json       # 组件清单文件\n├── icon.png            # 组件图标\n└── icons.json          # 图标配置\n```\n\n## 核心文件说明\n\n### `manifest.json`\n组件清单文件，定义了：\n- 组件域名：`qingpingiot`\n- 版本：`0.0.1`\n- 依赖：`qingping_sdk`\n- 集成类型：`hub`（云轮询）\n- 配置流程：支持\n\n### `__init__.py`\n主要功能：\n- 组件生命周期管理\n- 青萍 SDK 客户端初始化\n- 平台设置和卸载\n- 配置更新监听\n\n### `config_flow.py`\n配置流程管理：\n- 用户输入 APP_KEY 和 APP_SECRET\n- API 连接验证\n- 配置项创建和更新\n- 重新认证支持\n\n### `sensor.py`\n传感器实体实现：\n- 支持 7 种传感器类型\n- 设备信息管理\n- 历史数据获取\n- 状态更新和错误处理\n\n### `consts.py`\n常量定义：\n- 域名：`qingpingiot`\n- 配置键：`app_key`, `app_secret`\n- 青萍官网 URL\n\n## 技术特点\n\n1. **异步设计**：全面使用 async/await 模式，提高性能\n2. **错误处理**：完善的异常处理和认证失败重试机制\n3. **设备管理**：自动发现设备并创建对应的传感器实体\n4. **数据同步**：定期从青萍云端获取最新传感器数据\n5. **用户体验**：提供直观的配置界面和设备信息展示\n\n## 安装和配置\n\n1. 将 `custom_components/qingpingiot` 文件夹复制到 Home Assistant 的 `custom_components` 目录\n2. 重启 Home Assistant\n3. 在集成页面添加\"青萍 IoT\"集成\n4. 输入从青萍开发者平台获取的 APP_KEY 和 APP_SECRET\n5. 完成配置后，组件会自动发现并添加所有支持的传感器\n\n## 依赖项\n\n- `qingping_sdk`：青萍官方 Python SDK\n- Home Assistant 核心组件\n\n## 作者信息\n\n- 作者：synodriver\n- 邮箱：diguohuangjiajinweijun@gmail.com\n- GitHub：https://github.com/synodriver/homeassistant_custom_components\n\n## 版本历史\n\n- v0.0.1：初始版本\n  - 支持基本传感器数据读取\n  - 实现配置流程\n  - 添加设备管理功能\n\n## 许可证\n\nCopyright (c) 2008-2024 synodriver\n\n## 注意事项\n\n- 需要在青萍开发者平台注册并获取 API 密钥\n- 组件主要支持青萍的\"商用\"设备，这些设备无法直接接入米家等平台\n- 数据更新频率为 1 分钟，可根据需要调整\n- 如遇到问题，请查看 Home Assistant 日志或访问项目 GitHub 页面反馈","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynodriver%2Fhomeassistant_custom_components","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynodriver%2Fhomeassistant_custom_components","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynodriver%2Fhomeassistant_custom_components/lists"}