#wrapper #sdk #client #api-wrapper #api-client #public-api #govee

govee-api

用Rust编写的围绕公共Govee API的闪电般的快速薄包装

24个版本 (14个稳定版)

1.3.6 2024年4月3日
1.3.5 2024年2月5日
1.3.3 2024年1月13日
1.3.2 2023年9月17日
0.1.0 2023年7月29日

#1339 in Web编程


用于 cnctd_smart_home

MIT/Apache

99KB
406

govee-api

用Rust编写的围绕公共Govee API的闪电般的快速薄包装 🚀。

Rust

License Status

logo

"由Dalle 3-XL生成的图像"

支持官方公共Govee API的所有REST方法。下表显示了方法到端点的映射。

端点 方法
GET /v1/appliance/devices get_appliances
PUT /v1/appliance/devices/control control_appliance
GET /v1/devices get_devices
PUT /v1/devices/control control_device
GET /v1/devices/state get_device_state

先决条件

要使用此库,您需要获取Govee开发者API密钥并将其设置为环境变量 GOVEE_API_KEY。强烈建议使用.env文件。

以下是一个简短的说明,直接从Govee API文档复制而来。如果以下信息不足或随着时间的推移而更改,请参阅该文档。

📋 获取Govee开发者API密钥的步骤

  1. 下载Govee Home应用
  2. 点击👤图标导航到“我的个人资料”页面
  3. 点击右上角的⚙️图标进入设置
  4. 点击“申请API密钥”
  5. 填写“名称”和“申请原因”的必填字段
    • 可能的原因包括:家庭自动化、第三方集成、API Days教程(教育与研究)
  6. 阅读Govee开发者API服务条款,然后点击复选框接受
  7. 点击提交

用法

使用govee-api库非常简单。

// make sure to run this inside an async function
const GOVEE_API_KEY: &str = "GOVEE_API_KEY"; // for the sake of security, please make sure this is read from env variable.
let govee_client = GoveeClient::new(&GOVEE_API_KEY);
// use any of the supported method from the table above
// example for get_devices()
let response: ApiResponseGoveeDevices = govee_client.get_devices().await;
let devices = response.data.unwrap();

请参阅此仓库以获取如何在各种场景中使用govee-api的灵感。

重大更改和版本控制

我决定采用语义版本控制,以下是我的理解

  • 每个 patch 版本发布不应破坏现有功能。通常只是依赖或readme更新,一些小的重构或其他通常可以随时安全拉取的事情。
  • 每个 minor 版本发布可能会破坏使用 govee-api 的应用程序的部分。小版本发布通常包括新功能或有限范围内的一些相关重构,这可以提升库的性能。
  • 每个 major 版本发布很可能破坏实现 govee-api crate 的应用程序的大部分功能。这包括GoveeAPI本身的更改或crate架构的一些重大更改。

通常,强烈建议所有用户使用最新发布的版本。

依赖项

~4–15MB
~211K SLoC