Jump to content

Interface with Amazon Echo?


awzulich

Recommended Posts

Posted

I love your creativity and it's got me thinking. However, I would need to link each IR command to a different physical switch or am I missing something?

 

Thanks,

Chuck

Posted (edited)

I love your creativity and it's got me thinking. However, I would need to link each IR command to a different physical switch or am I missing something?

 

Thanks,

Chuck

 

No.  Simply Name a button or device for simplicity with Alexa.

 

Example:

 

Scene "Family Room TV' with only 'FamilyRoomKPL-C' as a responder.

 

Program:

If
   Status 'FamilyRoomKPL-C' is On
   And Status 'FamilyRoomKPL-C' IsNot Off

Then
        Resource 'AVControl - FR DirecTV DVR On'
        Resource 'AVControl - FR Onkyo On'
        Resource 'AVControl - FR Samsung TV On'


Else
        Resource 'AVControl - FR DirecTV DVR Off'
        Resource 'AVControl - FR Onkyo Off'
        Resource 'AVControl - FR Samsung TV Off'
Then when you say "Alexa, Turn On Family Room TV"  she will turn on the scene called "Family Room TV", the program will see the status change on the KPL button and issue  your resource calls.  Same with "Turn Off Family Room TV"
 
Make sense?
 
In addition, for those who don't like to talk to electronics, you have a KPL button that performs the same function.
 
-Xathros
Edited by Xathros
Posted

No.  Simply Name a button or device for simplicity with Alexa.

 

Example:

 

Scene "Family Room TV' with only 'FamilyRoomKPL-C' as a responder.

 

Program:

 

If
   Status 'FamilyRoomKPL-C' is On
   And Status 'FamilyRoomKPL-C' IsNot Off

Then
        Resource 'AVControl - FR DirecTV DVR On'
        Resource 'AVControl - FR Onkyo On'
        Resource 'AVControl - FR Samsung TV On'


Else
        Resource 'AVControl - FR DirecTV DVR Off'
        Resource 'AVControl - FR Onkyo Off'
        Resource 'AVControl - FR Samsung TV Off'
Then when you say "Alexa, Turn On Family Room TV"  she will turn on the scene called "Family Room TV", the program will see the status change on the KPL button and issue  your resource calls.  Same with "Turn Off Family Room TV"

 

Make sense?

 

In addition, for those who don't like to talk to electronics, you have a KPL button that performs the same function.

 

-Xathros

Makes perfect sense, however since I want to create multiple IR commands relating to a multitude of devices, I'm thinking a simple way to do that is by creating scenes as you suggest which would turn on my LampLinc (not currently in use anyway) to a specified brightness level (different for each IR command) and then have a program looking for a certain brightness level to then execute the appropriate network resource. This would allow me to use a multitude of IR commands tied to a single switch.

 

What do you think?

Chuck

Posted (edited)

Seems viable to me!  Might require some testing to ensure multiple commands are not executed as the Lamplinc ramps up or down through several brightness levels on it's way to the level most recently requested.

 

-Xathros

Edited by Xathros
Posted (edited)

Makes perfect sense, however since I want to create multiple IR commands relating to a multitude of devices, I'm thinking a simple way to do that is by creating scenes as you suggest which would turn on my LampLinc (not currently in use anyway) to a specified brightness level (different for each IR command) and then have a program looking for a certain brightness level to then execute the appropriate network resource. This would allow me to use a multitude of IR commands tied to a single switch.

 

What do you think?

Chuck

Thanks for the spark Xathros. Sometimes you just need another person to look at something differently.

 

This may work. You then could have the physical device hidden with up to 99 commands via the brightness levels if your idea works.

 

Edit: Removed braindead question.

Edited by huddadudda
Posted (edited)

Thanks for the spark Xathros. Sometimes you just need another person to look at something differently.

 

This may work. You then could have the physical device hidden with up to 101 commands via the brightness levels if your idea works. But I am not clear on how the Alexa commands would work.

 

Say your have a program that if lamplinc is at 50% then turn on ESPN (IR command) - whats the Alexa Command? Then to get it to run you say "Alexa turn lamplinc to 50%"? How does that make sense?

Well, it doesn't really.  My initial thought here was a device or button would represent one activity and allow for On/off = start/stop.  Multiplexing many commands into it via brightness levels would require rather odd language with Alexa thus taking you right back to the unnatural usage you are trying to avoid in the first place.  Worse yet, you would need to remember what brightness a particular task is assigned.  At that point, the "Alexa, tell Izzy to run ..." implementation is better in my opinion.

 

-Xathros

Edited by Xathros
Posted

Well, it doesn't really. My initial thought here was a device or button would represent one activity and allow for On/off = start/stop. Multiplexing many commands into it via brightness levels would require rather odd language with Alexa thus taking you right back to the unnatural usage you are trying to avoid in the first place. Worse yet, you would need to remember what brightness a particular task is assigned. At that point, the "Alexa, tell Izzy to run ..." implementation is better in my opinion.

 

-Xathros

So I removed the last paragraph because I was confused but then I did think the idea would work.

 

So for example make a scene called ESPN Living Room, add the lamplinc to the scene, then make the brightness on at 1%

 

Then have a program that, IF lamplinc is 1%, then run the network module (IR Command) - the program name doesnt matter like you said it would be the Scene name that counts for Alexa.

 

In theory then would this work?

 

"Alexa turn on ESPN in Living Room" - scene is ESPN in Living Room.

Posted

So I removed the last paragraph because I was confused but then I did think the idea would work.

So for example make a scene called ESPN Living Room, add the lamplinc to the scene, then make the brightness on at 1%

Then have a program that, IF lamplinc is 1%, then run the network module (IR Command) - the program name doesnt matter like you said it would be the Scene name that counts for Alexa.

In theory then would this work?

"Alexa turn on ESPN in Living Room" - scene is ESPN in Living Room.

I just finished doing this exact thing and it works like a charm! I created a new scene called "Family Room TV" and linked an unused LampLinc to the scene as a responder. The scene is set to turn on the LampLinc to 1%. I then created a program which I called "(FAM) TV" using the following logic:

 

If

Satus 'Guest Bedroom / GBR (Lamp)' is 1%

Then

Resource 'FAM TV - On'

Else

Resource 'FAM TV - Off'

 

The best part is that the program name has nothing to do with the interaction between the Echo and ISY as it will use the scene name which in this case is "Family Room TV". So I can simply say "Alexa, turn on family room TV" instead of having to say "Alexa, ask Izzy to run family room tv on"...

 

Beautiful!

Posted (edited)

So I removed the last paragraph because I was confused but then I did think the idea would work.

 

So for example make a scene called ESPN Living Room, add the lamplinc to the scene, then make the brightness on at 1%

 

Then have a program that, IF lamplinc is 1%, then run the network module (IR Command) - the program name doesnt matter like you said it would be the Scene name that counts for Alexa.

 

In theory then would this work?

 

"Alexa turn on ESPN in Living Room" - scene is ESPN in Living Room.

So between my initial concept and the 2nd rev using different On-Levels, I managed to completely miss the whole point of my point!  Of course this will work!

 

Feeling a bit like an idiot....

 

-Xathros

Edited by Xathros
Posted

So between my initial concept and the 2nd rev using different On-Levels, I managed to completely miss the whole point of my point!  Of course this will work!

 

Feeling a bit like an idiot....

 

-Xathros

Xathros,

 

You're the one that gave me the idea! This is a game changer, at least for me...

Posted

Xathros,

 

You're the one that gave me the idea! This is a game changer, at least for me...

Just got distracted by the day job and spaced the fact that the scene name was the interface to the Alexa command... :)

 

Glad I could be of assistance!

 

-Xathros

Posted

It was all my fault! Then once I realized it and edited my post Xathros had already replied. :)

 

This will work perfectly then as there is no scene/device limitations and there lies the reason to pay for the portal. Not to mention when IFTTT is added down the road and whatever else it will be very powerful.

 

Are we all happy now? :)

Posted

Makes perfect sense, however since I want to create multiple IR commands relating to a multitude of devices, I'm thinking a simple way to do that is by creating scenes as you suggest which would turn on my LampLinc (not currently in use anyway) to a specified brightness level (different for each IR command) and then have a program looking for a certain brightness level to then execute the appropriate network resource. This would allow me to use a multitude of IR commands tied to a single switch.

 

What do you think?

Chuck

This is a good reason for using Lamplincs in place of Range Extenders for a phase bridge (as @Teken regularly recommends)... Pseudo virtual devices.

Posted

Just wanted to post an update. I have created over 50 scenes using this technique and they appear to be working flawlessly when I manually toggle the scenes, as I don't have an echo yet to verify. That said, there are two issues be it small which I don't know how to overcome and hope through the great minds of this community there is an imaginative solution.

 

• You can only toggle these scenes "on" using this technique since toggling the scene off returns the LampLinc "on" value to 0 and can no longer effectively be measured by programs.

 

• This causes the syntax to be a bit odd. Example if I want to turn off my family room tv, I must say "Alexa, turn on family room tv off". The name of the scene is in fact family room tv off, but requires "on" to be used in the syntax.

 

I was trying to think of a way to incorporate variables to solve this, however I'm stumped for now...

 

Any ideas?

Chuck

Posted (edited)

Just wanted to post an update. I have created over 50 scenes using this technique and they appear to be working flawlessly when I manually toggle the scenes, as I don't have an echo yet to verify. That said, there are two issues be it small which I don't know how to overcome and hope through the great minds of this community there is an imaginative solution.

 

• You can only toggle these scenes "on" using this technique since toggling the scene off returns the LampLinc "on" value to 0 and can no longer effectively be measured by programs.

 

• This causes the syntax to be a bit odd. Example if I want to turn off my family room tv, I must say "Alexa, turn on family room tv off". The name of the scene is in fact family room tv off, but requires "on" to be used in the syntax.

 

I was trying to think of a way to incorporate variables to solve this, however I'm stumped for now...

 

Any ideas?

Chuck

Hi Chuck-

 

The only solution I see would be to set your programs up using integer variables to toggle the activity with each "Scene On" call and not use Off at all.  While not a perfect solution, I think it's better than what you are currently doing and would double the total number of possible activities available via the single lamplinc.  To accomplish this, your programs would need to set the lamplinc back to Off after toggling so that the same scene can be called a second time and result in a change of status at the lamplinc.

 

 

Example Code:

If
        Status 'Lamplinc' is 50%
        And $i.FamTV is 0

Then
        Resource 'AVControl - FR DirecTV DVR On'
        Resource 'AVControl - FR Onkyo On'
        Resource 'AVControl - FR Samsung TV On'
        $i.FamTV = 1
        Set 'Lamplinc' Off

Else
        (nothing to see here)



If
        Status 'Lamplinc' is 50%
        And $i.FamTV is 1

Then
        Resource 'AVControl - FR DirecTV DVR Off'
        Resource 'AVControl - FR Onkyo Off'
        Resource 'AVControl - FR Samsung TV Off'
        $i.FamTV = 0
        Set 'Lamplinc' Off

Else
        (nothing to see here) 

Thoughts?

 

 

-Xathros

Edited by Xathros
Posted

You can use "off" to turn a scene off. Create two programs, one for On and the other for Off. Name the trigger device, for example, an On/Off Module, Family Room TV. "Alexa, turn the Family Room TV on" will run the On program and "Alexa, turn the Family Room TV off" will run the off program.

Posted (edited)

You can use "off" to turn a scene off. Create two programs, one for On and the other for Off. Name the trigger device, for example, an On/Off Module, Family Room TV. "Alexa, turn the Family Room TV on" will run the On program and "Alexa, turn the Family Room TV off" will run the off program.

 

You most certainly can, however, that doesn't solve the problem here.  He is using a single Lamplink with multiple scenes each using a different OnLevel to control MANY activities.  Off only has a single OnLevel of 0%  How to know which activity the single Off is directed at?

 

There are 100 (or 255 depending on how you get there) flavors of "on" but only 1 flavor of "Off"

 

-Xathros

Edited by Xathros
Posted

It's kind of stretching things to expect a single device to control a bunch of scenes using Echo or even the ISY. How would one set a LampLinc to more than three levels (preset, on and off) as a scene trigger using only the ISY?

 

The only way to use the same device with different levels is to use Alexa to set those levels, "Alexa, set the Family Room TV to 50%," or "Alexa, set the Main TV to 60%." Using Echo groups allows giving the same device different names.

Posted

Hi Chuck-

 

The only solution I see would be to set your programs up using integer variables to toggle the activity with each "Scene On" call and not use Off at all.  While not a perfect solution, I think it's better than what you are currently doing and would double the total number of possible activities available via the single lamplinc.  To accomplish this, your programs would need to set the lamplinc back to Off after toggling so that the same scene can be called a second time and result in a change of status at the lamplinc.

 

 

Example Code:

 

If
        Status 'Lamplinc' is 50%
        And $i.FamTV is 0

Then
        Resource 'AVControl - FR DirecTV DVR On'
        Resource 'AVControl - FR Onkyo On'
        Resource 'AVControl - FR Samsung TV On'
        $i.FamTV = 1
        Set 'Lamplinc' Off

Else
        (nothing to see here)



If
        Status 'Lamplinc' is 50%
        And $i.FamTV is 1

Then
        Resource 'AVControl - FR DirecTV DVR Off'
        Resource 'AVControl - FR Onkyo Off'
        Resource 'AVControl - FR Samsung TV Off'
        $i.FamTV = 0
        Set 'Lamplinc' Off

Else
        (nothing to see here) 
Thoughts?

 

 

-Xathros

Interesting idea and makes a lot of sense. However, this could cause other issues since it's not aware of the device state especially if I turn on/off one of these devices using another means, be it remote or using my iOS devices. This would then put it out it out of sync. The other issue is that it doesn't solve the syntax issue as I would then be saying "Alexa, turn on family room TV" to turn it off. Until we get virtual device support, this may be the closest we'll get to natural speech...

Posted

It's kind of stretching things to expect a single device to control a bunch of scenes using Echo or even the ISY. How would one set a LampLinc to more than three levels (preset, on and off) as a scene trigger using only the ISY?

 

The only way to use the same device with different levels is to use Alexa to set those levels, "Alexa, set the Family Room TV to 50%," or "Alexa, set the Main TV to 60%." Using Echo groups allows giving the same device different names.

A LampLinc has 100 levels ranging from 1% to 100% brightness. By simply using scenes which incrementally ramp up brightness levels by 1% and using programs to monitor the LampLinc, it's possible to link 100 unique scenes to a single LampLinc. I'm already doing this and it works perfectly. The only hiccup is that turning off a scene sets it to 0% brightness and you lose the ability to trigger based on status in programs.

Posted

What are you using to set the LampLinc levels in order to trigger each program? I understand each scene can have a different On-level, but what is each scene's controller?

Posted

I'm having trouble understanding why you're trying to do this in the first place? Are you just trying to get around limit on device count in the emulator? If so its much simpler to just run more emulators, you can start up as many as you need and each supports ~40 devices if I remember correctly.

Posted (edited)

Amazon added IFTTT so now you can say custom commands to Alexa to run recipes IFTTT. For example the "maker channel" is avail now. Check the skills section on the Alexa app. Now we need to figure out, if you have the networking module how to get the maker channel to send a notification to the ISY to run a program. Then there is no need for the lamplinc now with multiple scenes and programs.

Edited by huddadudda

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing

    • No registered users viewing this page.
  • Who's Online (See full list)

    • There are no registered users currently online
  • Forum Statistics

    • Total Topics
      37k
    • Total Posts
      371.4k
×
×
  • Create New...