HOW TO: Trigger an Insteon Scene using Alexa or Google Assistant

Edited to remove the Home Assistant scene step
This HOW TO is specifically written to address setting up Home Assistant to trigger a native Insteon scene using a standard Home Assistant scene, with a goal of having that be triggered via Alexa or Google Assistant. This is specific to the Insteon integration and was written for version 2022.5. Anything enclosed in < > is for the user to fill in specific to your setup. The new Home Assistant scene will trigger all of the Insteon devices in the scene to change to the scene at the same time rather than the popcorn effect of a typical Home Assistant scene.

High Level Steps:

  1. Create your Insteon scene
  2. Create a Home Assistant script to trigger the Insteon scene

Once you have a Home Assistant script you can then trigger that scene from Alexa, Google Assistant, or any other way that a native Home Assistant entity can be accessed. A Home Assistant script appears as a scene in Alexa and Google Assistant.

Detailed steps:

1. Create your Insteon scene:

This step will be replaced in the near future with a menu option in the Insteon panel in the near future. But for now, follow these steps:

  1. Navigate to Developer ToolsServices tab
  2. Select the insteon.add_all_link from the menu with the following data:
  group: <insteon scene number>
  mode: "controller"

and press the “Call Service” button.

  1. Set the device you wish to add to the scene to the proper state, such as dimmed to 25% brightness for a TV watching scene then press the “Set” button of the device.

Repeat steps 2 and 3 for each device you wish to add to the scene.

2. Create a Home Assistant script that triggers the Insteon scene

A Home Assistant script is a configurable set of actions that run when triggered. To create a script that triggers an Insteon scene:

  1. Navigate to SettingsAutomations & ScenesScripts tab.
  2. Create a new script with the following:
Name: <scene name>
Entity ID: <script entity id>
Mode: single
Sequence:
  Action type: Call service
    Service: insteon.scene_on
       Group: <insteon scene number>

This creates an entity called `script.. This Home Assistant script will trigger an Insteon scene.

One important thing to keep in mind. Home Assistant script and Insteon scenes are just triggers. They tell devices to move to a different state. They don’t track that state to see if the scene is on or off. So if you have three devices in a scene and someone changes the state of one of the lights HA and Insteon do not know that the scene is no longer set.

2 Likes

Where are you getting these options on the scene tab? All I see is add device using Firefox.

Or maybe even a better question. Sorry for being a noob, but where are you seeing the actual code? All I see under scripts and scenes are the drop downs to choose what I want?

I dont have that option. I have the Add a device part but there’s nothing listed below it.
I tried editing the script.yaml file manually, but after I save my changes everything I coded dissapears also.

Forgive me if this is common knowledge, but apparently I had to go to my profile page and enable “advanced” which I had never touched before, so I guess this is off when HA is first installed? I toggled that on, and entities showed up for me on the scenes tab. Thank you google.

1 Like

New info for me :slight_smile:

Is there a way to add this newly made HA scene or at least the script to my dashboard?

I do not believe you need step #3. You can expose the Script itself in Nabu Casa and have Alexa execute that script without using a scene.

Great stuff here. Thanks ! As a test, I can run my script to activate the Insteon scene. Lights turn on !! But, when I run the HA Scene (with the Insteon script as an entity), the script doesn’t appear to run. Any suggestions?

Dumb question, but I recently moved to home assistant when Insteon went down. I have a lot of native Insteon scenes, but how do I tell which one is which and how do I get the script entity id and insteon scene number?

1 Like

Read through posts on this page, with the control panel and some understanding about links you can start to figure out your scene numbers(group numbers)

The above page has helped me a lot

hi, im new to HA.
I got HA to talk to the insteon hub, it found my insteon devices and I can control them in HA dashboard.
now I would like to control insteon scene (those scene that have been set years ago in my insteon hub) in the HA dashboard.

is there a knowledge base that guides step by step on how control an existing insteon scene in HA dashboard?

thanks

@teharris1 when you originally posted this there was 3 steps, but then determined that step 3 wasn’t needed for google or alexa. I had another use case where I wanted to have an HA scene call and insteon scene so I created a test script then when building the HA scene under entities I called the the test script. The script works, but when I run the scene nothing happens. I noticed that it says “Entities that do not belong to a device can be set here”. Is there a different way to build a scene, or am I doing some thing wrong?

Edit - looks like @bpoco asked the same question above.

The directions worked great. I turned several Insteon scenes on this way. This may sound picky, but when I want to turn the scene off, I have to create an off automation with a command like “turn ‘scene off’ on”. I don’t see any Insteon on/off toggle to get around this. I’m new to HA so I hope this isn’t a stupid question.

You can do this by creating a single switch that presents to ALexa in the configuration.yaml that will call each script.

//////// configuration.yaml /////////////////

switch:
  - platform: template
    switches:
      backyard_lights:
        friendly_name: "Backyard Lights" #this is the name of the switch for your alexa command
        turn_on:
          service: script.backyard_on
        turn_off:
          service: script.backyard_off

/////// scripts.yaml ///////

backyard_on:
  alias: backyard_on
  sequence:
  - service: insteon.scene_on
    data:
      group: 62
  mode: single
backyard_off:
  alias: backyard_off
  sequence:
  - service: insteon.scene_off
    data:
      group: 62
  mode: single

I hate being ignorant, but how do I get the ‘switch’ into configuration.yaml

I use this exact method @rlfromm. But from a Lovelace perspective I also have added the ability to understand the current state on the scene. This is impossible in “insteon” terms so instead I have an automation that creates a Home Assistant Group that contains all the members of the Insteon Scene. Then you can see if they are “on” and call “off” or “off” and call “on”.

See Hey Insteon users! - #129 by kbrown01 for more details on this.

Finally got it to work, thanks