Official Alexa Smart Home Skill for openHAB 2

So this feature was added to the API on Feb 17th, I would hope this gets deployed to other regions soon!

Excellent news! I can tell Alexa to set the temperature of my faux thermostat and she tells me it’s set to auto and what the temperature is, which is 90% of the way there. Looking forward to the update!

When i disable all devices, i cant see any device on openhab.org! But i can find them via Alexa.

@Rob_Pope Which version of Alexa (dot) device software are you using?

If I log into Alexa.Amazon.co.uk I get the client version of 1.24.1562.0 if that’s what you mean?

Under Settings -> Devices -> choose your echo device and scroll down.

The app is saying 567200820, which doesn’t sound like any software version I’ve seen before!

Thats true. Mhh
How did you realise to ask alexa for current temp and set a temp too?

Because @digitaldan said so :wink:

1 Like

But thats only possible by using hue emulation.ATM

I swear it worked once and I don’t have Hue Emulation. Can I get it to work now? Nope!

At the moment, i’m thinking about switching back to hue emulation, because of more commands.

Yes, it does work. I did not check yet asking for the temperature, but setting the temperature works okay.
The setup needs to be with a group, see the docs:
http://docs.openhab.org/addons/io/homekit/readme.html

Does this work using Amazon’s “Device Cloud” ? i.e. a cloud external to one’s home network? Is no one else bothered by this architecture? This means every time I merely want to turn on a light Voice->Echo->AmazonCloud->OpenHabDeviceCloud->MyOpenHabServerWithinMyNetwork->MyLight. Everywhere spewing logs of my every move.

Granted the loop Voice->Echo->Amazon->Echo is a must to get the voice recognition capabilities. But why can’t echo talk to openhab directly within my network a la the Hue Interface? I realize there is a Hue Emulator but I’m concerned of the general architectural direction.

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…