Alexa Smart Home Skill V3 is now live!

Along with the openHAB 2.5 official release, we are excited to announce that the following enhancements are now available in the official Alexa skill:

Additionally, it would be much appreciated if you could leave your review on the Amazon website. The current comments don’t reflect all the hard work we put in the recent months. And I believe having a higher overall rating for the skill would steer more new users to our community.

Happy holidays!

@jeshab

6 Likes

Is it possible to only have items using the new metadata format discovered by Alexa?

I don’t want all my items tagged “lighting” to be included in the devices found by Alexa, only devices that I specify with metadata.

Not that it was intended to be used that way but you could just specify an invalid Alexa metadata value. The skill ignores the tag values if the Alexa metadata is defined.

Switch Light "Light" ["Lighting"] {alexa="disable"}

That works! Thank you.

I am wonder what abilities the skill has to perform actions based on echo device that received the command. Ie. I have Russound multizone audio system and when in the bedroom if I say “turn on speakers” I would like to have Alexa turn on the speakers in the bedroom without having to specify “turn on bedroom speakers”.

So, is there a way to have Alexa commands change based on the Echo device being spoken too?

What you are describing is called room awareness (aka Alexa-enabled group). This works for lights and TVs but I don’t believe for speakers as of yet. You could use the workaround I wrote below to achieve that on the OH side.

1 Like

Hi @all,
first of all a big thank you to all working on this great Skill !!!
I am using it and it works great.

But, I I have a question on how to combine the new features of V3 with my KNX devices.

Before (V2) I tagged my items in the .items file with “switchable” or “lighting”. works like a charm. But the roller shutter issue has been discussed a lot …

Now I want to use the new semantic extension of V3, but I can’t figure out how to combine it with my knx binding.

example of actual Rollershutter item:

Rollershutter EG_EZ_Rollo “Esszimmer Rollladen [%d %%]” (gEG_RL, gEG_RL_athome) [“Lighting”] { channel=“knx:device:bridge:EG_EZ:EG_EZ_Rollo” }

how can I add the V3 meta data to my knx channel ?

Rollershutter Blind “Blind” {alexa=“RangeController.rangeValue” [category=“INTERIOR_BLIND”, friendlyNames=“@Setting.Opening”, supportedRange=“0:100:10”, unitOfMeasure=“Percent”, actionMappings=“Close=0,Open=100,Lower=(-10),Raise=(+10)”, stateMappings=“Closed=0,Open=1:100”]}

Thanks for your help.

1 Like

Well, that should simply be defined as

Rollershutter EG_EZ_Rollo “Esszimmer Rollladen [%d %%]” (gEG_RL, gEG_RL_athome) [“Lighting”]
{
    channel=“knx:device:bridge:EG_EZ:EG_EZ_Rollo”, 
    alexa=“RangeController.rangeValue”
    [
        category=“INTERIOR_BLIND”,
        friendlyNames="@Setting.Opening",
        supportedRange=“0:100:10”,
        unitOfMeasure=“Percent”,
        actionMappings=“Close=0,Open=100,Lower=(-10),Raise=(+10)”,
        stateMappings=“Closed=0,Open=1:100”    
    ]
}

jeshab can gladly correct me, if I’m wrong.

Both tags? “Lighting” and the new meta data?

I tried it without like this, but I have 3 problems:

Rollershutter EG_EZ_Rollo   "Esszimmer Rollladen"  (gEG_RL, gEG_RL_athome)  { channel="knx:device:bridge:EG_EZ:EG_EZ_Rollo", alexa="RangeController.rangeValue" [category="INTERIOR_BLIND", friendlyNames="@Setting.Opening", supportedRange="0:100:10", unitOfMeasure="Percent", actionMappings="Close=0,Open=100,Lower=(-10),Raise=(+10)", stateMappings="Closed=0,Open=1:100"] }
  1. It finds the new item, but the name is “SHADE” and not “Esszimmer Rollladen”
  2. up and down are inverted (same as with “Lighting” tag)
  3. item does not work any longer, only Alexa can talk to it (e.g. openhab can no longer move roller shutter)

I’m not quite sure. As detailed here, tags are not implemented for all add-ons yet. Tagging in the Alexa Smart Home Skill V3 works slightly different, see here. Ultimately, I don’t think you need the “Lighting” tag as you used it, but I don’t think it will hurt, either.

Regarding 1.: just drop the friendlyName, then the Alexa detectable device should inherit the name from the item label in openhab, .i.e be “Esszimmer Rolladen”.

Regarding 2.: You can invert the channel action or perhaps state via habmin for the channel of the thing OR you can manually edit the tags for he alexa smart home skill to correctly model your physical situation (i.e. blind motors), see the item config below with swapped values for Close, Open, Lower, Raise commands and Close, Open state.

Regarding 3.: That is strange and in my setup all UIs of openhab, as well as Alexa voice commands, can control the items. How does the item not work any longer, is it still displayed in a sitemap, is it still displayed in Paper UI?

Rollershutter EG_EZ_Rollo   "Esszimmer Rollladen"  (gEG_RL, gEG_RL_athome)
{
    channel="knx:device:bridge:EG_EZ:EG_EZ_Rollo",
    alexa="RangeController.rangeValue"
    [
        category="INTERIOR_BLIND",
        supportedRange="0:100:10",
        unitOfMeasure="Percent",
        actionMappings="Close=100,Open=0,Lower=(+10),Raise=(-10)",
        stateMappings="Closed=100,Open=0:99"
    ]
}

It works without the “Lighting” tag, so you only need the old or the new syntax.

Reg 1)
i don´t get your point :roll_eyes: The item name is not necessarily the “human understandable” name to control the blind with Alexa

Reg 2)
Yep, shame on me, that was to easy

Reg 3)
I did some more testing. Indeed, the item is visible in the UI and I can troll the blind, BUT the group settings do not longer work (that’s what I noticed yesterday). So if I send a “down” command to the group gEG_RL like

gEG_RL.sendCommand(DOWN)

all blinds in this group move except this one (Esszimmer).
I guess, it’s a compatibility problem with the group definition and the new V3 syntax.

The corresponding goup is actually defined as:

Group:Rollershutter:AND(100,0) gEG_RL "EG Rollos [(%d)]"

You’re right. I actually meant the item label and corrected that in the previous post. Still, you can use the friendly name, but I got the feeling you wanted to adress the item thrugh alexa as “Esszimmer Rolladen”, and not as “Öffnung”, as your firendly name suggested. You can still set the firendlyname property to anything you like, e.g friendlyName="Banane".

I copied your group definition to my setup, added my blinds and adressed it with the command you showed in the openhab ssh console. For me, all blinds moved accordingly.

I suspect you have a problem with the group state. How did you make the correction to point 2 from above? Perhaps try to temporarily define the group as

Group:Rollershutter gEG_RL "EG Rollos [(%d)]"

and see if sending UP/DOWN commands works?

And again, shame on me. A little more of RTFM would have helped to figure this out. I just copy-pasted the command from the manual and forgot to change the friendly name.
Now, all is OK :grinning:
Finaly the item is:

Rollershutter EG_EZ_Rollo   "Esszimmer Rollladen"  (gEG_RL, gEG_RL_athome)  { channel="knx:device:bridge:EG_EZ:EG_EZ_Rollo", alexa="RangeController.rangeValue" [category="INTERIOR_BLIND", friendlyNames="Esszimmer Rollladen", supportedRange="0:100:10", unitOfMeasure="Percent", actionMappings="Close=100,Open=0,Lower=(+10),Raise=(-10)", stateMappings="Closed=100,Open=0:99"] }

And also as suggested. The group issue was related to the group definition. What you suggested works, but if my group definition works on your setup, I have to check further why it’s not working with my OH2.

Anyhow, already a big thank you for your hints!!!

update. after restarting the OH2 service, point 3 also seems to be solved :neutral_face:

Seems there is something I’m missing about the rollershutter…

This is my configuration, and it works great if I say Rise or Lower actions (in Spanish Subir o Bajar), but when I what to Open 0% or Close 100% (in Spanish Abrir o Cerrar), it says “it is not compatible”.

I thought the new V3 solved this adding: actionMappings=“Close=100,Open=0,Lower=(-10),Raise=(+10) but in my case it doesn’t work.

Am I the only one with this issue?

Rollershutter Persiana_Salon_P7 “Persiana Salon” (Persianas_Salon)
{
knx=“2/5/20, 2/5/21, 2/5/22+2/5/120”,
alexa=“RangeController.rangeValue”
[
category=“INTERIOR_BLIND”,
supportedRange=“0:100:10”,
unitOfMeasure=“Percent”,
actionMappings=“Close=100,Open=0,Lower=(-10),Raise=(+10)”, stateMappings=“Open=0:99,Closed=100”
]
}

Thanks

I was able to get a proper response using the below utterances, testing with the Alexa simulator. You should check your voice history to see how your requests were transcribed. I noticed that if salón doesn’t have an accent it will fail. However, using persiana de salon works no matter if the accent is present or not. Also, it seems that Abre and Cierre works better than Abra and Cierra.

“Alexa, abre persiana salón”
“Alexa, cierre persiana salón”
“Alexa, abre persiana de salon”
“Alexa, cierre persiana de salon”

Hi Jeshab,

I tried with and without the accent in Salon and with Abre/a y Cierre/a still without success, And the transcriptons are correct.

Everything works except the OPEN CLOSE actions. The only way to do it is order to put the blind to 0% or 100%.

Is this normal? Is me doing something wrong? Related to the lenguage (Spanish)? The skill?

Hi Igor,

can you try to order the blinds into a 50% state, then try your Abre y Cierre (Open, Close) commands again?

I noticed, that Raise corresponds to adding 10 to the state, and raising multiple times usually corresponds to an eventual Open state. However, if your current state is Open, which you set to be zero, then your blind motor won’t react to your Raise command, because it simply can’t, and if your current position is Closed, which corresponds to 100 in your setup, then openhab will not alow the Raise command as that would set the state to above 100.

Consequently, I suggest you try to change your item definition into

actionMappings=“Close=0,Open=100,Lower=(-10),Raise=(+10)”, 
stateMappings=“Open=1:100,Closed=0”

Could you be more specific with the steps you took, including the exact utterances you have in your voice history and the response you got? Also, just to be clear, my recommendations above were related to how to request the command. You shouldn’t need to change your item definition. Have you tried abre persiana de salon?

The only problem here is that you are experiencing a limitation from the Alexa side. This seems to be common, with mostly non-English languages, when using terms like open/close and on/off which overlap with other Alexa skill capabilities. There is nothing wrong with either the skill or the item definition you configured. Unfortunately, since Amazon doesn’t provide an official utterance reference guide, the only way to try to find a solution for these kind of issues is to change the way the voice requests are asked, through trial and error.

Hi Jeremy,

to make this perfectly clear: Igor’s syntax is completely okay, but I suspect the meaning of the actionMappings is incorrect.

Calling Raise about ten times should be equal to calling Open, and not be equal to calling Close. It might be unrelated to the actual problem, but Igor can only be sure of that if he actually tests all commands starting from some in-between position.