WebCoRE asks a question, my voice response determines the action

text-to-speech
answer
query
voice
alexa

#102

Apologies. I got mixed up between the two Echo Routines and your one Yes/No piston. Of course you are right. You have only one yesd/no piston too. You are also right that I removed the Dashboard States - because I’m not currently using any piston dashboard states.

Update: I’ve noted my error in my earlier post above.

In any case, I’m pleased you shared with us your ideas regarding this functionality and I’m putting it to good (and fun) use.

Thanks again.


#103

@Mebejedi I know I am late to this discussion but I just found this piston. As for your question about which echo speaks to you…you can set that in the Alexa Routine.


#104

This is really great! Can be used in so many ways!


#105

Can someone help me get this going. I want it to ask me to play my playlist when I get home and come in the house. But it wasn’t working so in this piston I am just using a Test button to try to get it to trigger. However, I turn the Test button on and then I go and open the door and close it which makes it change to “Closed” but it doesn’t work. Seems to see that the Test Button changes to On but the Door sensors are closed at the time and it ends. It works if I just use the Test Button.

Here is the log:
4/5/2019, 5:18:50 PM +271ms
+1ms ╔Received event [Test switch].switch = off with a delay of 540ms
+109ms ║RunTime Analysis CS > 19ms > PS > 68ms > PE > 22ms > CE
+112ms ║Runtime (43688 bytes) successfully initialized in 68ms (v0.3.10a.20190223) (109ms)
+113ms ║╔Execution stage started
+124ms ║║Comparison (enum) off changes_to (string) on = false (0ms)
+126ms ║║Condition #2 evaluated false (6ms)
+127ms ║║Condition group #1 evaluated false (state did not change) (8ms)
+129ms ║╚Execution stage complete. (17ms)
+131ms ╚Event processed successfully (131ms)
4/5/2019, 5:18:44 PM +102ms
+2ms ╔Received event [Garage Door Sensor].contact = closed with a delay of 83ms
+117ms ║RunTime Analysis CS > 19ms > PS > 75ms > PE > 22ms > CE
+120ms ║Runtime (43698 bytes) successfully initialized in 75ms (v0.3.10a.20190223) (117ms)
+121ms ║╔Execution stage started
+137ms ║║Condition #2 evaluated false (9ms)
+138ms ║║Condition group #1 evaluated false (state did not change) (11ms)
+141ms ║╚Execution stage complete. (19ms)
+142ms ╚Event processed successfully (142ms)
4/5/2019, 5:18:41 PM +635ms
+1ms ╔Received event [Garage Door Sensor].contact = open with a delay of 62ms
+83ms ║RunTime Analysis CS > 14ms > PS > 49ms > PE > 19ms > CE
+85ms ║Runtime (43694 bytes) successfully initialized in 49ms (v0.3.10a.20190223) (83ms)
+86ms ║╔Execution stage started
+100ms ║║Cancelling condition #2’s schedules…
+101ms ║║Condition #2 evaluated false (9ms)
+102ms ║║Condition group #1 evaluated false (state did not change) (10ms)
+105ms ║╚Execution stage complete. (19ms)
+106ms ╚Event processed successfully (106ms)
4/5/2019, 5:18:33 PM +298ms
+2ms ╔Received event [Test switch].switch = on with a delay of 542ms
+113ms ║RunTime Analysis CS > 23ms > PS > 69ms > PE > 21ms > CE
+116ms ║Runtime (43688 bytes) successfully initialized in 69ms (v0.3.10a.20190223) (114ms)
+117ms ║╔Execution stage started
+128ms ║║Comparison (enum) on changes_to (string) on = true (0ms)
+130ms ║║Cancelling condition #2’s schedules…
+131ms ║║Condition #2 evaluated true (8ms)
+143ms ║║Condition #20 evaluated false (11ms)
+145ms ║║Condition group #1 evaluated false (state did not change) (21ms)
+147ms ║╚Execution stage complete. (31ms)
+149ms ╚Event processed successfully (148ms)


#106

The issue is that on lines 28-30, you have two triggers bound with “and”.

Triggers are only true for a brief moment, so tying two together with “and” will rarely work. (how can the door close at the exact moment as the switch changing to on?)

Normally, you only want a single trigger to activate a piston (with optional conditions following), or two triggers tied together with “or”. (meaning one or the other)


#107

So can have two conditions then? Or how can I do this?


#108

Unlimited conditions can be below the trigger.


#109

How would I do that? It says that these are Conditions.


#110

The top part of that drop down list are conditions… the bottom part are triggers.
(and the lightning bolts in the left margin also identify triggers)


#111

Oh, I actually didn’t realize that! Thanks!


#112

I’m wondering if anyone has seen this and might have a solution.

I’ve implemented the Alexa Yes/No pistons and Alexa Routines as discussed above. Works great! However, there seems to be a growing number of times that Alexa is now asking for a response to questions on her own and expecting a ‘yes’ reply. For instance, when I ask Alexa to drop in on my Kitchen Show, it responds with something like, “I found a device called Kitchen Show. Is that the device you’d like to drop in on?” I respond with “YES”, but since the yes/no piston is in place, it causes Echo Speaks to respond with (in my case) “I heard a YES response” or “I heard a NO response” or “No response was heard”. When this happens, it appears that Alexa forgets why it asked the question and then does not act on it.

Has anyone seen this and any suggestions to solve it?


#113

When another Alexa Skill asks me a Yes/No question, I might hear either, “As you wish” or, “Carry on”… since those were my verbal confirmations that I programmed. I have never noticed any followups not processing correctly. (although I have not tested by dropping in on an Alexa Show yet)

It is a bit peculiar that she doesn’t follow thru, but I guess you could always pick words other than “yes/no” in the Alexa Routine to prevent any conflicts.

IE: Change the words highlighted below:


#114

It just dawned on me that you covered all three scenerios:

For this to be spoken, it sounds like you may have some additional programming in place that I do not have. What could possibly be triggering when you say nothing?

Remember a key element of this Yes/No piston is that the two Simulated Switches can only be used as a trigger in one piston. (“dxwi5” in the first post) Everywhere else, they must be conditions.


#115

The three responses I mentioned are the ones I programmed into the yes/no piston and Alexa Routine. The issue is that when I say “Yes” or “No” or even don’t respond, the yes/no piston and Alexa Routine will take over the flow - which prevents Alexa from acting as it normally would. The example I gave was when I ask to drop in on a device. Alexa then asks for a device name confirmation be requesting that I say saying yes (or no) - at which point my programming (WebCoRE and Alexa Routine) overrides what Alexa was trying to do. lexa has also asked for confirmation of SmartThings device names when it’s confused about what I’m requesting too. zit asks if ‘device A’ is what I’m talking about. Same result.

Maybe Affirmative and Negative might work.


#116

It’s in my yes no piston. If there’s no response within the alloted wait time, it responds with, z" There aws no response heard". However, this is not really an issue since the real conflict happens when Alexa asks for a response. Then with any response, the yes/no piston has already taken over, precluding Alexa from acting normallly.

Yed, that’ correct and I know that, and have my piston programmed that way (the no response branch occurs when neither a yes or no is heard and therefore the Yes or No switches are not tripped), but that’s not germaine to this issue as I’ve described above. If the flow gets to the piston, Alexa losses it’s focus and doesn’t act normally.

I think the easiest solution is to change the yes/no piston to Affirmative/Negative to avoid the conflict with Alexa-driven questions.


#117

Would you be willing to share this piston?
If not publicly, then maybe in a private message

The reason I ask is my Alexa Routine does only one thing. Flips a SimSwitch. What webCoRE does after that should not impact Alexa in any way


#118

Sure. Here’s my Alexa Yes/No Reset Piston

Here’s the ‘Yes’ Routine:

Here’s the ‘No’ Routine:

And here’s the only piston I’m using with the two Alexa routines and the Yes/No Reset Piston so far. I’m only adding this for full reporting. This shouldn’t have anything to do with the issue I’m reporting because (so far) the only conflict is with Alexa-Generated questions requiring a Yes response.

Anyway, this piston controls the lights and echo (via Echo Speaks) in my Theater and it works fine:


#119

I’m not explaining the issue very well.

Due to the Alexa Yes and No Routines, whenever I respond to an Echo question with a yes or no, the appropriate Alexa routine runs. It doesn’t matter if a piston causes the question or Alexa asks for some reason, the routine runs. When a piston causes the question, the piston/routine combination handles the answer. However, when Alexa asks a question, it expects to handle the response (such as I described above) - but the Yes or No Routine is run instead. So, the appropriate information (yes or no) never really gets to be acted on by Alexa. It really has nothing to do with the piston at all. It’s a response conflict really – all within Alexa.


#120

Thanks for sharing more details… I think I understand everything you have said except for one thing… What confuses me is how you can hear the response, “No response was heard”.

Toggling either SimSwitch (AnswerYes or AnswerNo) should only trigger your “kdscv” piston above, and that piston has no voice responses whatsoever.

Am I missing something?
Is piston “g46g” getting triggered somehow?!?


#121

Yeah, that’s the most confusing thing I said originally. The Echoes only say that when the Theater Motion Piston (g46g) is triggered - and that specifically isn’t part of the issue I was speaking about. I added too much detail about how my piston works overall - when in reality, the issue is due to an Alexa-only response conflict. Sorry for the added confusion.

As you suggested, the solution could be to use different responses in my Alexa routines so they don’t conflict with the built-in yes/no responses.