Jump to content

Getting ISY to talk through Alexa


slimypizza

Recommended Posts

56 minutes ago, TexMike said:

I also use both and recently implemented a kludgy way to get Alexa to turn guard off since it can't be done in a routine. I have Alexa say "hey google repeat after me alexa guard off" as part of my arriving home program. Not elegant, but it works.

<snipped>

ROFLMAO!! That is the best (and most hilarious)  kludge I have ever heard of!! :)  :)  :) 
It needs to go down in a history book somewhere!

Edited by larryllix
  • Like 2
  • Thanks 1
Link to comment
2 hours ago, TexMike said:

I also use both and recently implemented a kludgy way to get Alexa to turn guard off since it can't be done in a routine. I have Alexa say "hey google repeat after me alexa guard off" as part of my arriving home program. Not elegant, but it works.

@asbril see this wiki on setting up Alexa says, it's not that difficult once you get the hang of it. https://wiki.universal-devices.com/index.php?title=ISY_Portal_Amazon_Echo_Integration_V3 I haven't found a similar way to get Google home to make announcements which is one of the reasons I continue to use both.

Thanks TexMike.  For one reason or another I have a blockage on understanding variables. If, as an example, I wish Alexa to make an announcement when motion sensor X is detected, what variable would I create, what program and how would I design the Alexa routine ? Thanks so much.

Link to comment

@asbrilAh yes, I remember reading some of your posts about be variable challenged. The Wiki covers all the steps in detail and I'll try to summarize below.

You only need one variable, I call mine Alexaspeak and use 1 for front door unlocked, 3 for garage door open, etc. I have about 25. Then go into portal and expose the variable to Alexa as a motion sensor. Then create an Alexa routine where motion detected = 1 and action is Alexa says "The front door is unlocked", rinse and repeat for different variable values. Then you can use ISY's fantastic logic to set the variable, for example I only want Alexa to announce the garage door is open during certain hours. Below are the programs used to check the garage door at sunset. Hope it helps.

GD open at sunset - [ID 0007][Parent 0004]

If
        Time is Sunset 
    And 'GD Sensor' Status is On
 
Then
        Wait  10 minutes 
        Run Program 'Recheck GD after wait' (If)
 
Else
   - No Actions - (To add one, press 'Action')
 

Recheck GD after wait - [ID 0005][Parent 0004][Not Enabled]

If
        'GD Sensor' Status is On
 
Then
        $AlexaSpeak  = 3
        Send Notification to 'SMS Mike' content 'GD open at night'
        Send Notification to 'SMS Karen' content 'GD open at night'
        Wait  5 seconds
        $AlexaSpeak  = 0
 
Else
   - No Actions - (To add one, press 'Action')
 

  • Like 1
  • Thanks 1
Link to comment

"Then go into portal and expose the variable to Alexa as a motion sensor. Then create an Alexa routine where motion detected = 1 and action is Alexa says "The front door is unlocked"," ???

 

When I create Alexa routines i only get a choice of motion detected or not detected. Where are you specifying different Values?

 

Link to comment
4 hours ago, ronbo said:

"Then go into portal and expose the variable to Alexa as a motion sensor. Then create an Alexa routine where motion detected = 1 and action is Alexa says "The front door is unlocked"," ???

 

When I create Alexa routines i only get a choice of motion detected or not detected. Where are you specifying different Values?

 

Read the thread! Click on the title "larryllix replied to a topic"

 

Edited by larryllix
  • Like 1
Link to comment

@TexMike Thank you, that is an interesting approach. The only draw back to using one variable, is that you must wait a minimum of 30 seconds before changing the variable value, or Alexa misses the change. Apparently Amazon requires/recommends a 30 second debounce between recognizing state changes.

 

Link to comment
3 hours ago, ronbo said:

@TexMike Thank you, that is an interesting approach. The only draw back to using one variable, is that you must wait a minimum of 30 seconds before changing the variable value, or Alexa misses the change. Apparently Amazon requires/recommends a 30 second debounce between recognizing state changes.

 

Yes, I think that's mentioned in the Wiki. It hasn't been a problem for me that I know of. Have you tried using multiple variables to get around the restriction?

Link to comment
1 hour ago, TexMike said:

Yes, I think that's mentioned in the Wiki. It hasn't been a problem for me that I know of. Have you tried using multiple variables to get around the restriction?

One variable could be fine if you use multiple values for it, multiple pseudoMSes, converted from different values of the same variable, and multiple Alexa routines with the same vocal announcement.

AFAIK it is the Alexa routine trigger that takes up to 30 seconds, not the ISY Portal, nor ISY..

Link to comment

Even using multiple values is an issue if the value changes more that once in 30 seconds. Using multiple variables get around this. However if you trip the motions/variables to close to each other Alexa will truncate one message to start the next. There is no real queueing

Link to comment
  • 1 year later...
8 minutes ago, btreinders said:

This has stopped working all of a sudden.  Is anyone else seeing the same?  In the ALexa app the device was no longer in there so I added it back but still will not work when I trigger the device.

Still working for me.

Link to comment

@btreinders Maybe reconnect the ISY skill in Alexa. It's a pain, but some issues I had a while back (about a year) got cleared up by disabling the skill then reconnecting. Is the Echo working otherwise? It could also be an AWS issue that would make the Echo miss a few things if it can't connect online. About two hours ago we had some issues with the Echo completing a request, but that was about 2pm Eastern today so not sure if that impacts your timeframe or not. 

If a onetime occurrence then it might be AWS...if ongoing (over several days) try resetting the skill. 

 

Link to comment

I reconnected the skill, still not working.  I created an entire new routine with a new variable.  Worked.  I used a new value and a new routine with the same variable in the ISY.  Worked.  I then deleted a routine and created a new one the exact same.  Worked.  All my routines are missing the device and just updating that device does not fix them and I have no idea what made them remove the device. I guess I will delete all of them and re-create them.  Thank you for the help.

  • Like 1
Link to comment

@btreinders Very strange indeed. Glad you got them to work though! I'm not sure if UD has any logs they could check out but maybe see if @bmercier or @Michel Kohanim might have some insight as to what might have happened. 

I try to check out https://alexa.amazon.com/ if there are issues pending by it not operating my lights/programs as expected. But I don't tend to get too fancy with the setup so I don't normally have too many issues. 

 

  • Like 1
Link to comment

Here is the quirk I found. I had created a program to always wait 30 seconds between successive Alexa Routine requests, by setting a State variable = 2. I was using the State variables also as a request flag = 2 to get Alexa to say XXXXXX, while variable = 1 would trigger the Alexa Routine to say XXXXXX, and variable = 0 would reset. My ISY Portal pseudoMS was set for 1 as the active 'On' state and 0 as the pseudoMS as an OFF state.

 

Here is the problem.
When I set the variable = 2, ISY portal would send a PseudoMS event of Off to Alexa, even though 0 should have been the only valid Off psuedoMS interpretation..
Now, when ISY programs would see the request and then set the variable = 1, Alexa would refuse to say XXXXXX because it already had an event in less than the 30 second delay requirement.

Of course Amazon support staff have been looking into this for the last 6 months, but I am not expecting any response within the next ten years or so. :(:(

The moral of the story is, if you send anything to Alexa app routines, regardless of which state change, you have to wait another 30 seconds to cause any routine to run.
 

Edited by larryllix
Link to comment
  • 4 weeks later...
On 6/14/2021 at 5:04 PM, btreinders said:

I reconnected the skill, still not working.  I created an entire new routine with a new variable.  Worked.  I used a new value and a new routine with the same variable in the ISY.  Worked.  I then deleted a routine and created a new one the exact same.  Worked.  All my routines are missing the device and just updating that device does not fix them and I have no idea what made them remove the device. I guess I will delete all of them and re-create them.  Thank you for the help.

I figured out what causes this issue.  If you forget all devices and then re-discover it does not put it back into the routine.  :(

Link to comment
Guest
This topic is now closed to further replies.

×
×
  • Create New...