I think you are right and that I’m just walking down a dark path to nowhere
There is no such thing using OH You can always use a proxy item and rules to setup an alternative solution but I do agree that it may not be as straight forward than the Alexa integration. Although, I might be a bit biased.
OKAY
So this does work
It’s not the most intuitive phrasing, but it’s working.
A massive thank you for your support and advice / persistence / tolerance
Hi Guys,
after lots of readings and tests, i really dont know how to fix this and i hope someone will help me.
Using Openwebnet bindings i created a CEN+ scenario things a follow:
Thing bus_cenplus_scenario_control iCenplus_Cancello "CEN+ Cancello" @ "CenPlus" [ where="29", buttons="1" ]
Than i created the relevant item
String iCenplus_Cancello "Cancello" <switch> {channel="openwebnet:bus_cenplus_scenario_control:mybridge:iCenplus_Cancello:button_1"}
and this scenario is working perfectly using the PRESS_EXT command.
Now i would like Alexa to trigger this Scenario, therefore i added this Items:
String CEN_command "Cancello" {alexa="ModeController.mode" [supportedModes="OPEN=xxx,CLOSE=xxxx", actionMappings="Close=xxx,Open=xxxxx,autoupdate="false"]}
i used the xxx because i tried almost everithing but alexa always replay " i don’t know how to adjust this device to that setting"
Any tips??
Thanks in advance for the patience
Costa
Ha ha so you are dulicating your posts here… not good…
I posted the solution here:
I have seen some say that the a more natural phrasing works for them; maybe it depends on the language.
However, you can create a more natural phrase by creating a routine for your desired phrase on the Alexa app
That’s a good idea…
Thanks
I’m almost at my solution using dummy switch and rule and yes, i asked also here as you suggested in your last post… or this is what i understood.
Thanks for your solution but First i want to find my way, to learn, than i will have a look at your solution which will be the best!
You don’t need a dummy switch or rule
I meant read the posts as I know the soultion is buried in here. Anyway I am not a moderator so don’t really care too much where you post but its hard for others to follow when posting across threads.
For others… The OP wanted an Alexa voice command to trigger a scenario located on a BTicino/Legrand BUS based scenario controller. The items for MH202 scenario are string type. So, a solution was possible with just the item definition as mode controller is also string.
The solution I posted above is complete, with some debugging tips, and now another example of how to use voice command and mode controller.
Just implemented the Alexa Skill but i have difficulties understanding settings:
friendlyNames, actionMappings, stateMappings
I have external Roller shutters on 433MHz, that support commands UP, DOWN, STOP.
So i Implemented the support through the Rollershutter item type in my configuration as this has the highest WAF in sitemaps for the mobile app.
So I opted for the sample configuration for a shutter with mode interface capability i modified it slightly to also allow for the STOP command:
String Echo_PROXY_DS "Office window shutters" (gEcho_PROXY_Shutters) { alexa="ModeController.mode" [category="EXTERIOR_BLIND", friendlyNames="@DeviceName.Shade", supportedModes="UP=@Value.Open,STOP=Stop,DOWN=@Value.Close", actionMappings="Close=DOWN,Open=UP,Lower=DOWN,Raise=UP", stateMappings="Closed=DOWN,Open=UP"] }
Here is what i’m strugling to understand:
in the example the friendly name is proposed as:
friendlyNames="@Setting.Opening"
why not use
friendlyNames="@DeviceName.Shade"
instead?
As i have 3 rollershutters in the kitchen, it doesn’t make sense to me to use friendlsNames tag for them at all. Am i correct to assume, that this would actually make those devices “indestinguishable” to alexa when using such friendly name?
I’d love to see room awareness (raise/lower shutters in the Kitchen group by simply asking alexa in the same Kitchen group to raise Shutters)but as i understand it’s not working yet?
Also
what is the purpose of
actionMappings, stateMappings
How does this translate into alexa interaction, especiually stateMappings
And lastly:
I saw in the alexa API, that there is posibility of using the API for doorbell events:
Alexa.DoorbellEventSource
interface describes an endpoint that is capable of raising doorbell events
https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-doorbelleventsource.html
Does the skill support that?
EDIT:
on the friendlyNames topic:
i created a dummy switch
Switch Light_dummy "Dummy Light" {alexa="PowerController.powerState" [category="SWITCH", friendlyNames="Water light, Countertop light"]}
The device shows as switch in app which is on and it is named Dummy Light.
My understanding of friendlyNames is, that it should allow the swich to be activated by any names i.e. Dummy light, Water light and Countertop Light. But it doesn’t
When saying “Alexa turn on water light”, Response is "Sorry, i didn’t find a device named water light. "
I also tried with “Alexa turn on water light switch”, but the response is "Sorry, i didn’t find a device named water light switch. "
These are part of the Building Blocks APIs concept.
The friendlyNames
parameter can only be used with Building Blocks APIs interfaces. It is rather used to name a functionality than a device since the endpoint name should already have that information. In the case of a single endpoint definition, the item label should be the device name and the friendly name its functionality. Using the roller shutter example, the proper way to control it is to use the following utterance: Alexa, open office window shutters opening. However, in this case, you would be able to omit “opening” since there is only one functionality define on that given endpoint. It’s when using a group endpoint with multiple Building Blocks APIs interface that the friendlyNames
parameter would be necessary to differentiate each functionality (e.g. opening and tilt)
As mentioned above, friendlyNames
isn’t supported by PowerController
. However, if you want to use a bunch of different aliases for a specific device, you can use toggleController
instead for the example you provided, otherwise, you will only be able to interact with that device using the item label “Dummy Light”.
Thank you!
Like this?
Switch Light_dummy "Dummy Light" {alexa="ToggleController.toggleState" [category="SWITCH", friendlyNames="Water light, Countertop light"]}
Correct
Jeremy, is there an issue that could be monitored or a PR to help develop/test this functionality? TIA!
There is no specific issue related to that functionality as of yet. Basically, proactive reporting also known as asynchronous response support will require an architecture change involving a new binding to be developed for that purpose. You can monitor the issue below for the time being.
Hi there,
today I also got my garage door running with the v3 api. So I’m now able to ask for the status of garage door. This is nice so far, but the answer is “garage door opening is off”. This is not really nice, and by the way I would like to have it in German. Can anybody give me a hint how to get this? I would like here something like “garage door is closed” instead.
Thx
Please provide as much details as you can related to your configuration, including the item definition, requested utterances, voice response received and what you expected instead.
The language preference is available in your Alexa app echo devices settings.
This is my item config
Switch garage_door_state "Garagentor" <garagedoor> (gStartPersist) {channel="mqtt:topic:embedded:garage:door", alexa="ToggleController.toggleState" [category="DOOR", friendlyNames="@Setting.Opening", actionMappings="Close=OFF,Open=ON", stateMappings="Closed=CLOSED,Open=OPEN"]}
What I say is: “Give me the status of the garage door”
What I get is: “Garage door opening is off/on”
What I would like to here instead is: “Garage door is open/closed”
Regarding the translation. I already set the language in the Alexa App to German. Normally Alexa talks German with me. English only in this current situation. So what it really says is: “Garagentor opening ist off/on”. So the “Garagentor” and “ist” is German, but the “opening” and “On/Off” is english
Based on my testing, it seems that the only way to get what you want in terms of response is to model a ModeController.mode
as a GARAGE_DOOR
category. Unfortunately, the Switch
item type is currently not supported by this capability so you will need to use a proxy item. Configuring that way would enable the unlock by voice pin code feature as well.
items
Switch garage_door_state "Garagentor" <garagedoor> (gStartPersist) {channel="mqtt:topic:embedded:garage:door"}
String garage_door_alexa "Garagentor" {alexa="ModeController.mode" [category="GARAGE_DOOR", friendlyNames="@Setting.Opening", supportedModes="UP=@Value.Open,DOWN=@Value.Close", actionMappings="Close=DOWN,Open=UP", stateMappings="Closed=DOWN,Open=UP"]}
rules
rule "Garage Door Alexa Command"
when
Item garage_door_alexa received command
then
switch receivedCommand {
case "UP": garage_door_state.sendCommand(ON)
case "DOWN": garage_door_state.sendCommand(OFF)
}
end
rule "Garage Door State Changes"
when
Item garage_door_state changed
then
switch garage_door_state.state.toString {
case "ON": garage_door_alexa.postUpdate("UP")
case "OFF": garage_door_alexa.postUpdate("DOWN")
}
end
utterances
Alexa, open the garage door
Alexa, is the garage door?
Alexa, what’s the garage door status?
This experience is controlled by the Alexa side. Not much is done on the skill end. The building block APIs and semantic extensions features are fairly new. So I wouldn’t expect everything being translated perfectly.
Short off-topic comment here: Due to Announcements being used for discussions / questions etc, I have restricted posting rights to maintainers only.
To allow all of you to have lively discussions on Amazon Alexa, I have created a new dedicated category at https://community.openhab.org/c/apps-services/amazon-alexa/66.