1 个不稳定版本

0.1.1 2022年8月10日
0.1.0 2021年6月17日

#8 in #home-assistant

MIT/Apache

250KB
4K SLoC

Homelander

Homelander 是一个框架,旨在使与 Google Home 的集成尽可能简单。

它提供满足请求的序列化和反序列化。它还处理 Google Home 特性和 Rust 特性之间的转换。此外,它还提供错误处理和 Rust 错误与 Google Home 接受的错误之间的转换。

Homelander 不提供 OAuth2 服务器或网络服务器。

完成状态

以下 特性 已实现

  • AppSelector
  • ArmDisarm
  • Brightness
  • CameraStream
  • Channel
  • ColorSetting
  • Cook
  • Dispense
  • Dock
  • EnergyStorage
  • FanSpeed
  • Fill
  • HumiditySetting
  • InputSelector
  • LightEffects
  • Locator
  • LockUnlock
  • MediaState
  • Modes
  • NetworkControl
  • OnOff
  • OpenClose
  • Reboot
  • Rotation
  • RunCycle
  • Scene
  • SensorState
  • SoftwareUpdate
  • StartStop
  • StatusReport
  • TemperatureControl
  • TemperatureSetting
  • Timer
  • Toggles
  • TransportControl
  • Volume

以下特性尚未实现

  • ObjectDetection

不过,它们也计划实现。您可以通过提交包含实现的 pull request 来帮助。您可以在 traits 模块中找到特性定义,但它们目前完全不工作。

需要关注的方面

  • 错误处理。目前它并不美观,并且并不总是符合规范
  • 文档。您经常还需要查看 Google 的文档
  • 向 Google 发送通知(用于后续或 ObjectDetection)
  • 从 Google 请求 QUERY

许可

Homelander 在 MIT 和 Apache-2.0 许可下双许可。函数和特性的文档在 Creative Commons Attribution 4.0 License 下许可,因为它们部分复制了 Google Home 文档。

依赖

~0.8–1.6MB
~31K SLoC