Official Alexa Smart Home Skill for openHAB 2

No, that’s one of the main features of the Alexa app, you can define thermostats in OH and expose them to Alexa. This allows you to set temperatures (or +/-), and alexa will respond with the current temp setting AND the mode of your thermostat (auto, heat, cool,off). As of a few days ago the US version will also allow you to to ask what the current temperature and the target temperature are, I just have to implement this. Hopefully UK and Germany get this update soon.

How is it not working? What is Alexa saying to you ? (device not responding, device does not support that command?)

I think thermostat control really sorta of depends on what you have in your home and integrated with OH. For example, I have a Honeywell Wifi thermostat and there is no binding for this yet. But there is a skill by Honeywell to control and set my thermostat. There is also a Skill for the Nest thermostats.

I think its really a matter of trying to get that ‘all in one’ skill and being be able to have Alexa control everything. The Hue Emulation and current OH2 Skill are both steps in that direction in being able to control things where existing skills do not exist. ie, for various Zwave devices, switches, garage door, etc.

After all this feature isn’t available at this moment. There 's a workaround with groups, but no a real solution.

My items look like this:

/* Groups */
Group Temperature_Sensors "Heat" [ "Thermostat" ]

/* Temperature Sensors */
Number Fish_Tank_Temp "Fish Tank Temperature [%.1f °C]" <temperature> (Temperature_Sensors)[ "TargetTemperature" ] {mqtt="<[oh2:hab/livingroom/temperature/0:state:default]"}
Number Living_Room_Temp "Living Room Temperature [%.1f °C]" <temperature> (Temperature_Sensors) [ "CurrentTemperature" ] {mqtt="<[oh2:hab/livingroom/temperature/1:state:default]"}
Number Bathroom_Temp1 "Bathroom Temperature [%.1f °C]" 	<temperature> (Temperature_Sensors) {mqtt="<[oh2:hab/bathroom/temperature:state:default]"}
Number Bathroom_Humid "Bathroom Humidity [%.1f %%]" <water> (Humidity_Sensors) {mqtt="<[oh2:hab/bathroom/humidity:state:default]"}
String DummyCoolingMode "Dummy Cooling Mode" (Temperature_Sensors) [ "homekit:HeatingCoolingMode" ]

If I say “Set Thermostat to 20 degrees” she says she can’t find a device or group called thermostat in my account.

If I say “Set Heat to 20 degrees” she says "Sorry, Which Device did you want"
I can then say Heat, Living Room Temperature, Fish Tank Temperature, Fish Tank Temp, etc. and she responds “Sorry, that command doesn’t work with device xxxx”

I don’t think I was dreaming that it worked before…

Yes, because it is always the group label which needs to be called (in your case “Heat”).

That is the way it works fine for my device and I have the same items setup.
Check in the Alexa app or via browser if you can see the group “Heat”, in my case it looks like:

Edit: just a guess: try removing the underscore in your group definition, maybe Alexa does not recognize it that way …

I cannot seem to get the grammar right for working with Alexa groups. I have created a group in the Alexa app called “Living Room”. I have added some devices to it. The devices work fine but I cannot seem to refer to them in the group. Saying “Alexa turn on table lamp” works but “Alexa turn on table lamp in the living room” does not. Siri understands this fine with HomeKit rooms.

Obviously I can create and expose Alexa items called things like “Living Room Table Lamp” but this will be very messy. Also it doesn’t seem easy to expose one item to HomeKit and a different item to Alexa…

Can you explain, I guess I don’t understand what feature you are talking about.

You can group your Items like here ( http://docs.openhab.org/addons/io/homekit/readme.html#additional-notes ) , but this seems to me like a workaround.

I think it is just designed that way at the moment, it does not look like a workaround:

Great news - well done on getting this launched. It’s a milestone :slight_smile: :heart_eyes: :smile:

Hi,
I received my Alexa Echo Dot yesterday. It took very little time to get it all set up and to control my lights and switches using voice only.

However, in 1 out of 5 attempts, Alexa responds with “Sorry, the device is not responding”. In some cases, the lights are turned on anyway (with a few additional seconds of delay). In most of the cases where Alexa says “not responding”, nothing happens at all.

If I go to http://alexa.amazon.com, to check on these devices, the status of them is also “offline”.

Anyone an idea on the cause? A network glitch between MyOpenHAB and Amazon, maybe?

There are a lot of outages on the openHABcloud since a couple of days, I’m seeing the exactly same behavior as you are describing …

Same. I wonder if the recent issues with S3 have caused the problems?

No - unfortunately, the node.js server of myopenHAB.org currently struggles a bit.
@digitaldan is intensely looking into it and tries to find solutions for it, but it is not that straight forward as many different factors seem to come together and the cause for sudden server halts is not easily identifiable. We are monitoring the service and currently restart the server as quickly as we manage to, if it hangs again.
I hope that there’ll be a better solution than that soon.

@digitaldan: Hi, I think I have the same problems as @Rob_Pope. In my living room I have three thermostats. What I want to do is that by telling Alexa: “Set Wohnzimmerheizung to 22 degrees” all three Thermostat will be updated. From your link to the HomeKit group syntax and the setup from @Rob_Pope I came up with this items configuration:

Group GWz "Wohnzimmerheizung" ["Thermostat"]

Number WZHeizung1 "Wohnzimmerheizkörper links [%.1f °C]" <heating> (GWz) ["TargetTemperature"]
Number WZTemp "Wohnzimmer Temperatur [%.1f °C]" <temperature> (GWz) ["CurrentTemperature"]
Number WZHeizung2 "Wohnzimmerheizkörper mitte [%.1f °C]" <heating> (GWz) ["TargetTemperature"]
Number WZHeizung3 "Wohnzimmerheizkörper rechts [%.1f °C]" <heating> (GWz) ["TargetTemperature"]
String DummyCoolingMode "Dummy Cooling Mode" (GWz) ["homekit:HeatingCoolingMode"]

The item DummyCoolingMode is updated by following rule:

rule "Set Cooling Mode"
when
        Item WZTemp received update
then
        DummyCoolingMode.postUpdate("AUTO")
end

When I tell Alexa to change the temperature I get the “device does not support that command” answer from her.
Can you or someone see any mistakes in my setup?

Could it be that you have to say
"Setze Wohnzimmerheizkörper links auf 22"

German language is not the clue but the label “Wohnzimmerheizkörper links” which needs to include the e.g. “links”

Because of @sihui post I thought I have to call the group label. Also “Heizkörper links” is the item for the left thermostat of the three in the living room. Therefore I would only change one instead of all three.

That is what I have encountered during my test with Alexa.
When I try to use the label name of the items in that group Alexa does not know those devices.
Also they are not discovered during “Device search”, only the group.

The workaround

  1. define a Number Item (kind of virtual room themostat),
  2. label it “Wohnzimmertemperatur”
  3. and switch the dedicated thermostats via a rule.
1 Like