auchter / haaska

Home Assistant Alexa Skill Adapter
263 stars 60 forks source link

Input Slider and Equivalent as Custom Temperature Control #64

Open keatontaylor opened 7 years ago

keatontaylor commented 7 years ago

Been looking at the smart home skill api for temperature control and query and it seems that it is viable for setting and controlling query and setpoint control.

We can set the mode to custom and provide a friendly name for the custom mode for whatever it is we want to query.

Use cases could be querying any number of numeric sensors, changing values and querying input booleans, but I do not have any specific use cases.

@dale3h what are your thoughts on this?

trisk commented 7 years ago

This is vastly better for absolute values than the current percentage implementation, but a potential problem is that changing the Alexa imperial/metric unit preference can cause unwanted conversion of input and output values.

keatontaylor commented 7 years ago

For those of us on imperial units, alexa provides celsius measurements for all requests and we specify the unit in the response. So I don't see this as an issue.

trisk commented 7 years ago

@keatontaylor the API works exclusively in Celsius, we don't get to choose the unit in the response. Edit: Oh, looks like they updated the API to report units ("scale") since I did the implementation; don't think we can tell if there will be conversion performed, though.

keatontaylor commented 7 years ago

We could provide a config variable for users to tell us which unit their alexa is set to.

trisk commented 7 years ago

That seems reasonable.

keatontaylor commented 7 years ago

Hmm, I was hoping this could be expanded for numeric sensors too, but it seems that querying state requires saying: "Alexa, what is the 'device name' temperature"

but this still works well for input_sliders because the interactions will be limited to:

"Alexa, what is the 'input slider name' set to" and "Alexa, set the 'input slider name' to xxx"

I'm surprised that amazon hasn't released a framework for querying sensors, and setting values for devices as the temperature control framework is already so compatible. So it seems that a lot of that code in their backend could likely be reused.

trisk commented 7 years ago

My guess for the sparse API is that they are only releasing features that partners already have skills written for right now.