[SOLVED] Alexa Skill: InputController

Tags: #<Tag:0x00007f6179f09998>

RPi3B+ openhabian and OH 2.5.4

Anyone who managed to use the Alexa Skill with InpputController for Stereo?
My items look like this:

Switch      DenonMainZone       "Ranzen"                                    (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#power",alexa="PowerController.powerState"}
Dimmer      DenonVolume         "Ranzen"                                    (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#volume",alexa="Speaker.volume" [supportedRange="0:70",increment="5"]}
Switch      DenonMute           "Ranzen Stumm"                              (G_jdbc,G_Hifi_WoZi)                            {channel="denonmarantz:avr:0006781f22fa:mainZone#mute",alexa="Speaker.muted"}
String      DenonInput          "Ranzen Eingang"                            (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#input",alexa="InputController.input" [friendlyNames="Input,Eingang",supportedInputs="NET,CD,TV,GAME"]}

But if I want to set the input by “Alexa, set the input to CD” (German: Alexa, setze den Eingang auf CD).
Alexa responds: “Da bin ich mir leider nicht sicher” (“I am not sure about this”).
(Volume up/down, Mute and Power switching works perfectly)

Please follow the documented syntax. I am not sure where you saw the capability configured that way.

That’s what I did (without friendly names) in the beginning.

Switch      DenonMainZone       "Ranzen"                                    (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#power",alexa="PowerController.powerState"}
Dimmer      DenonVolume         "Ranzen"                                    (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#volume",alexa="Speaker.volume" [supportedRange="0:70",increment="5"]}
Switch      DenonMute           "Ranzen Stumm"                              (G_jdbc,G_Hifi_WoZi)                            {channel="denonmarantz:avr:0006781f22fa:mainZone#mute",alexa="Speaker.muted"}
String      DenonInput          "Ranzen Eingang"                            (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#input",alexa="InputController.input" [supportedInputs="HDMI4,GAME,TV AUDIO,CD"]} // direct in Karaf the following works: GAME, TV, CD

It seems that Alexa has some troubles with my input assignments in my Marantz amplifier, because alexa reponds with ok, when I use HDMI1 even though it’s not configured (nothing happens of course).
One of my inputs is named TV AUDIO by default, but Alexa understands: t. v. audio" and says: “I am not sure”:

Alexa_LastVCom changed from schalte den ranzen auf tuner to schalte den Ranzen auf t. v. audio

EDIT:
My standard inputs on my amplifier are:
CD (used for Alexa)
TV AUDIO
GAME

These work fine when sending them on karaf the DenonInput, but i cannot make them being send by Alexa.

EDIT II:
When trying with GAME, Alexa does not recognize the command either (sorry, I don’t know), but in the log is:
Alexa_LastVCom changed from schalte den ranzen eingang auf z. d. f. to schalte den ranzen eingang auf game

So beside the lower case it should be ok

This is related to the way you are formulating your voice request. You need to make sure that you use the exact translation of these utterance examples. If these still doesn’t work, then it’s most likely be an issue on the Alexa side. You can ask for an update on this forum thread.

Thanks, I will look into this for alternative formulations

Now I use:

String      DenonInput          "Ranzen Eingang"                            (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#input",alexa="InputController.input" [supportedInputs="CD,PLAYSTATION,TV"]}

But none of these work:
Alexa_LastVCom has been triggered with >stelle den ranzen eingang auf t. v.< (switch the Ranzen Input to TV)
-> Nothing happens according to the logs beside the entry above.

Is does not work either for CD or PLAYSTATION regardless of if I use switch (schalte) of change (wechsle).

According to the documentation it should be:
Alexa, change the input to HDMI 1 on the Living Room TV.

Is there anyone, who has set this up in German successfully?

This works now: :smiley:

Group       G_Hifi_WoZi         "Verstärker"           {alexa="Endpoint.Speaker"}

Switch      DenonMainZone       "Verstärker"                                (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#power",alexa="PowerController.powerState"}
Dimmer      DenonVolume         "Verstärker"                                (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#volume",alexa="Speaker.volume" [supportedRange="0:70",increment="5"]}
Switch      DenonMute           "Verstärker"                                (G_jdbc,G_Hifi_WoZi)                            {channel="denonmarantz:avr:0006781f22fa:mainZone#mute",alexa="Speaker.muted"}
String      DenonInput          "Verstärker"                                (G_jdbc,G_Hifi_WoZi,Group_HabPanel_Dashboard)   {channel="denonmarantz:avr:0006781f22fa:mainZone#input",alexa="ModeController.mode" [supportedModes="TV=TV, NET=Netzwerk, CD=Alexa, PS4=Playstation",friendlyNames="Eingang" ,ordered=true]}
1 Like

Awesome!

Is there a list for the supportedModes which are supported by Alexa or did you just define some Modes you needed?

I just defined the once needed.
But there is a list of allowed modes - please see the utterances link above

The supportedModes parameter part of the ModeController interface is basically free form to the extend that Alexa can translate the labels to the value you configured.