Alexa room awareness skill question

Can OH item tags be used to make items room specifc for use in Alexa room awareness?

I didn’t see it in the docs! If it is not possible could it be made possible in the future? It would be nicer to define an Alexa ‘room’ via OH rather than creating groups in the Alexa app.

There is no way to control Alexa room awareness at the skill level via the Alexa Smart Home API.

You can either create groups in the Alexa app or use a workaround using the Amazon Echo Control binding as per the tutorial below.

Unfortunately, Amazon hasn’t made any progress since then and I don’t expect them to do any going forward unless the development on their end involves bringing a new smart product of their own to market.

3 Likes

I’m currently fine-tuning my OH steering with Alexa. Precisely speaking, I want to identify the Echo, from which a command was sent, so I can answer via this Alexa and TTS. In the examples, which I’ve found in the referenced link, there’s a command

val deviceState = ScriptServiceUtil.getItemRegistry.getItem("AlexaActivity" + category.capitalize).state.toString       

My problem is, that the method “capitalize” is not defined. What (and how) do I have to import and/or change in the code? I’m currently running OH5.0.1

Thank you and best regards,

Doc MC

Since the demise of the ‘Last_command’ binding feature I did something similar but used a proxy item for Alexa to trigger a rule in openHAB and an Alexa routine set to reply from the Alexa receiving the command with a phase to confirm that the commanded was received and actioned.

1 Like

Thank you for your answer, @m4rk.So the “lastVoiceCommand” is obsolete and not recommended to use anymore? I wasn’t aware of that, since it’s principally still working and triggering my rule.

Here’s my item definition

Group gEchoDotVoiceCommand
String EchoDotFewoTextToSpeech "Speak" {channel="amazonechocontrol:echo:1ae6307cd0:EchoDotFewo:textToSpeech"}
String EchoDotFewoLastVoiceCommand  "Last voice command Fewo" (gEchoDotVoiceCommand) {channel="amazonechocontrol:echo:1ae6307cd0:EchoDotFewo:lastVoiceCommand"}
String EchoDotSchlafzimmerTextToSpeech "Speak" {channel="amazonechocontrol:echo:1ae6307cd0:G0911M0793152MSD:textToSpeech"}
String EchoDotSchlafzimmerLastVoiceCommand   "Last voice command Schlafzimmer" (gEchoDotVoiceCommand) {channel="amazonechocontrol:echo:1ae6307cd0:G0911M0793152MSD:lastVoiceCommand"}

and my rule

rule "Alexa triggered"     // Command "Alexa, starte Hausprüfung"

when Member of gEchoDotVoiceCommand received update

then
......
end

Principally it is activated by an Alexa command. But I’m struggling with the one line of the code, where there is this “.capitalize” method, which I somehow have to import…