homelander

Crates.iohomelander
lib.rshomelander
version0.1.1
sourcesrc
created_at2021-06-17 20:35:35.120981
updated_at2022-08-10 21:10:51.510095
descriptionGoogle Home integration framework
homepage
repositoryhttps://github.com/TobiasDeBruijn/homelander
max_upload_size
id411546
size249,293
Tobias de Bruijn (TobiasDeBruijn)

documentation

https://docs.rs/homelander/latest/homelander/

README

Homelander

Homelander is a framework to make integration with Google Home as easy as possible.

It provides serialization and deserialization for fulfillment requests. It also handles translation between Google Home traits and Rust traits. Furthermore it provides error handling and translating between Rust errors and errors accepted by Google Home.

Homelander does not provide an OAuth2 server or a web server.

State of completion

The following Traits are currently implemented:

  • 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

These traits are not yet implemented:

  • ObjectDetection

They are however planned to be implemented, though. You can help by submitting a pull request with the implementation. You will find the traits definition in the traits module, they are completely non-functional though.

Things that need love too

  • Error handling. It's just not pretty at the moment, and is not always up to spec
  • Documentation. Quite often you'll still need to check out Google's docs
  • Sending notifications to Google (for follow-up or ObjectDetection)
  • Requesting a QUERY from Google

License

Homelander is dual licensed under the MIT and Apache-2.0 license. The documentation for functions and traits is licensed under the Creative Commons Attribution 4.0 License as it is partially copied from the Google Home Documentation.

Commit count: 34

cargo fmt