Official Alexa Smart Home Skill for openHAB 2

Strange. Hue-emulation doesen’t find my items as well. Luckily i am not dependent on Alexa.It’s a nice to have.

I just discovered another strange thing:

Is that normal? I can understand, one entry is from the openhab-skill, one from the hue-emulation. But the third? Looks like the Alexa gets authenticated every time.

hi,
maybe i overlooked it, which is quite possible, but how to i set the Thermostat Mode via Alexa?
my thermostat is supporting 0,1,2 values for OFF, HEAT, COOL

First post in this thread …

now im sure its to late ore my coffee level is to low,

this is what i see there in regards to the thermostat.
but how do i tell alexa to set the mode to 2 or cooling?

Alexa, set Thermostat to 22 degrees
Alexa, decrease Thermostat by 2 degrees
Alexa, increase Thermostat by 1 degrees
Alexa, decrease Thermostat
Alexa, what is Thermostat set to?
Alexa, what is Thermostat temperature?

and for the Item
String DownstairsThermostatHeatingCoolingMode “Downstairs Thermostat Heating/Cooling Mode” (gDownstairsThermostat) [ “homekit:HeatingCoolingMode” ]

From the binding page:

A full list of supported accessory types can be found in the table below.

http://docs.openhab.org/addons/io/homekit/readme.html

Edit:

http://docs.openhab.org/configuration/sitemaps.html#mappings

Sorry I am late to respond here. I’m not sure why our Alexa skill is not finding items for people. I will try and up the logging on our AWS instances and see if I can get better info.

So HueEmulation has nothing to do with our Alexa skill or myopenhab. It makes your local openHAB instance look like a Hue Bridge, Alexa then has built in controls for that. This is all on your local network.

The reason you see 3 entries is you have probably linked the skill 3 times, it creates a new oauth pair each time. While being a little cluttered on the page, it does not hurt anything.

Thanks for the explanation. Yes, i linked Alexa several times.

I am currently setting up a completely new openHAB instance on a spare Raspberry PI. I will test the Alexa skill first with a simplified configuration.

Good news!

The openHAB skill did find my single switch. I will now slowly move my config to the new instance. Will post the results later (over the weekend).

thanks for the links, but my actual problem/question is if its possible to change the Item

String DownstairsThermostatHeatingCoolingMode "Downstairs Thermostat Heating/Cooling Mode" (gDownstairsThermostat) [ "homekit:HeatingCoolingMode" ]

with an Alexa voice command. if so which would be the right one? i tried a couple but get only the reply from Alexa that my thermostat is not supporting it.

Sure, tell the label name to change to cooling:

“Alexa, set Downstairs Thermostat Heating/Cooling Mode to cooling”

So in your case you better change the label name to something easier … don’t forget to let Alexa search for new devices after you have changed the label …

thanks,
it seams that i have then another problem, cause the item is not reflecting in Alexa, only the group item is showing.
i added a new dummy item for testing but still the same.

String  S_LR_AC_MO  "Livingroom A C mode"   (S_LR_AC)   [ "homekit:HeatingCoolingMode" ]
Group H_AC "All AC"
Group S_LR_AC "Livingroom Thermostat" ["Thermostat"] 


Number	S_LR_AC_T	(S_LR_AC)   [ "CurrentTemperature" ]    {channel="zwave:device:15b94866380:node13:sensor_temperature"}
Number	S_LR_AC_TM	(S_LR_AC)   {channel="zwave:device:15b94866380:node13:thermostat_mode"}
Number	S_LR_AC_TS	{channel="zwave:device:15b94866380:node13:thermostat_state"}
Number	S_LR_AC_SC	(S_LR_AC)   [ "TargetTemperature" ] {channel="zwave:device:15b94866380:node13:thermostat_setpoint_cooling"}
Number	S_LR_AC_SH	{channel="zwave:device:15b94866380:node13:thermostat_setpoint_heating"}
Number	S_LR_AC_FM	{channel="zwave:device:15b94866380:node13:thermostat_fanmode"}
Number	S_LR_AC_FS	{channel="zwave:device:15b94866380:node13:thermostat_fanstate"}
String  S_LR_AC_MO  "Livingroom A C mode"   (S_LR_AC)   [ "homekit:HeatingCoolingMode" ]

That is totally normal, just define your items according to the docs and choose a more appropriate label name, that should be it:

Number DownstairsThermostatCurrentTemp "Downstairs Thermostat Current Temperature" (gDownstairsThermostat) [ "CurrentTemperature" ]
Number DownstairsThermostatTargetTemperature "Downstairs Thermostat Target Temperature" (gDownstairsThermostat) [ "TargetTemperature" ]
String DownstairsThermostatHeatingCoolingMode "Downstairs Thermostat Heating/Cooling Mode" (gDownstairsThermostat) [ "homekit:HeatingCoolingMode" ]

You need all three items and only the group item will show up in Alexa. The name for the group item is the name to be called for Alexa.
Read through this thread, there are some more examples to make it work (I know, a lot of posts …)

@Matt77

Actually this was a bit misleading:

The name of the group item needs to be called in Alexa, so a complete working example should look like:

Group gDownstairsThermostat "Name_to_be_called_for_Alexa" [ "Thermostat" ]
Number DownstairsThermostatCurrentTemp "Downstairs Thermostat Current Temperature" (gDownstairsThermostat) [ "CurrentTemperature" ]
Number DownstairsThermostatTargetTemperature "Downstairs Thermostat Target Temperature" (gDownstairsThermostat) [ "TargetTemperature" ]
String DownstairsThermostatHeatingCoolingMode "Downstairs Thermostat Heating/Cooling Mode" (gDownstairsThermostat) [ "homekit:HeatingCoolingMode" ]

I think alternatively you could also create one/several group(s) in the Alexa app/webinterface to have an Alexa-callable name or even multiple names for the same item(s)/groups.
This fragments the configuration, but might be easier to test.

ok i changed my items to the below.

Group S_LR_AC "Livingroom Thermostat" ["Thermostat"] 

Number	S_LR_AC_T	"Livingroom Thermostat current" (S_LR_AC)   [ "CurrentTemperature" ]    {channel="zwave:device:15b94866380:node13:sensor_temperature"}
Number	S_LR_AC_SC	"Livingroom Thermostat target"  (S_LR_AC)   [ "TargetTemperature" ] {channel="zwave:device:15b94866380:node13:thermostat_setpoint_cooling"}
String  S_LR_AC_MO  "Livingroom Thermostat mode"    (S_LR_AC)   [ "homekit:HeatingCoolingMode" ]  {channel="zwave:device:15b94866380:node13:thermostat_mode"}

however im not able to change the Thermostat Mode via an Alexa command
"Alexa, set Livingroom Thermostat mode to cooling" is not doing anything, no reply from alexa or anything in the logs from OH2
if i try: “Alexa, set Livingroom Thermostat to cooling” or “Alexa, set Livingroom Thermostat to heating” its changing the temperature to 1

Did you check the Alexa log to see what command she received (via app or browser)?

the App is unfortunately not available over here, i checked via the browser but i could not really see a proper log. what i found was only some voice command which where received wen my 5 year old boy tried to change the color of the hue bulb in his room, but nothing for the thermostat at all.

Good, that is the right place to look.

Bad. Now we know that the commands don’t reach the Alexa service.
Next check your myopenhab account (-> Applications) and see if the Alexa skill is properly authenticated, you should see something like:

looks all good at myopenhab.org
the thing is that : Alexa, set Livingroom Thermostat to 27 degrees" is working well.
but not the : “Alexa, set Livingroom Thermostat mode to cooling” therefore i would thing the skill should be proper authenticated.

Yepp, right.
Now you need to dig into your hardware what command needs to be send to switch the modes and if it is even supported at all …