Turn on lights simultaneously (coming from an Insteon user)

Hey Harris, so I have updated to 0.96; however, there are no scenes loading up. Do I need to remove and add the Insteon component again?

Scenes don’t appear as entities. They are triggered via automations.
automation:

  # Trigger an INSTEON scene 25
  - id: trigger_scene_25_on
    alias: Turn on scene 25
    action:
      - service: insteon.scene_on
        group: 25
1 Like

I see. I am sorry I was looking at the wrong place. Great job works flawlessly. Is it possible in future updates that it works with scene entities? So one can see if a scene is on or off from the front end, or do you think that Insteon hub won’t be compatible for HA scenes?

Hello Harris, I am wondering if you have pushed a new update to the Insteon scenes? Now when I trigger the scene it only turns on some of the lights not all of them. However, I noticed it also updates the status of the lights in the front end as well.

If “some of the lights” are turning on then it is unlikely to be a change in the software because that means the message is being sent. It likely means there is an issue with devices not receiving the message. This may be an interference issue within your house. Did you add any appliances or any other large electronics lately?

1 Like

Hey Harris, It works with openhub and the insteon app or insteon terminal ok.

What I think is happening here, your integration queries the lights right after the message for the scene is sent and it will overload the hub and half the messages to individual light from the hub gets lost (cause at the same time they try to send their status to the hub). Maybe adding some delay like 20-30s between the scene turn-on/turn-off command and query command would resolve this issue. Another clue to this problems is it works ok with groups with a low number of lights and items but the scene I am trying to control has about 8-9 lights.

What do you think?

Yes that may be the case. I just pushed a change that sends a cleanup message to each device before sending the status message. This should address the issue. If not we will keep trying :slight_smile:

1 Like

Awesome, I will test it again, let you know. Thank you so much for your effort and good job :+1:

@teharris1 I’m still ramping up on Insteon and HA, and trying to figure out what to expect from scenes. I’m responding here because I think my questions relate to this thread.

I’m using a USB PLM with the Insteon package on Hassio. However, I first linked and configured some scenes in the PLM using HouseLinc. (E.g., I have cross-linked each light switch in the scene to turn on/off the other switches in the scene together, and can also trigger them with a PLM Scene ID.)

Right now, whether I activate the scene using insteon.scene_on or from a switch, all the lights respond. However, only the switch I push (if any) will be reflected in the HA entities; all other entity states are not updated.

If I’m interpreting it correctly, the insteon_plm_device_info.dat seems to at least know what devices are linked to a scene. However, I don’t know whether I should be expecting HA to leverage that table and update all the entity states accordingly. Do I have something configured incorrectly, or should I be doing something with automations/groups to forcibly update them?

Thanks!

I use UPB lighting, not Insteon, but maybe there’s some similarity in their behavior. I have each device configured to reply with its status upon either receiving a command or if someone controls the dimmer manually. So when a scene command is transmitted, upon receiving and complying with it, scene members reply with their new status (and Home Assistant becomes informed of it).

Perhaps there’s a similar setting in Insteon?

Note:
In case you were wondering how I’m handling UPB lighting, when there’s no official UPB integration for Home Assistant, I’m using another application to handle it. The other app receives commands and reports status via MQTT.

Just getting started with HA. I have connected my Insteon Hub and can turn devices on off etc, I have created some scenes in HA and now want to trigger some existing insteon scenes. When I create a new automation, I set the action type to Call Service and then select insteon.scene_on but then there is no place to put the group number. I tried selecting the edit as YAML option and brute forcing the group but then the editor won’t let me save it. I then went and edited the configuration.yaml file directly but the config checker says it is ivalid and if I ignore the error and load the config anyway, the Automation does not show up in the gui. Any ideas as to what I am doing wrong?

Can you post your configuration?

@teharris1

Sorry for the delayed response. My config relating to insteon is trivial:

insteon:
  port: /dev/ttyUSB0

Right now, I’m just experimenting with sending scene commands directly from HA and seeing the response, so there’s no other config. I suppose the complexity is the groups configured in the insteon PLM, so here’s my insteon_plm_device_info.dat:

[{"address": "4da20d", "cat": 1, "subcat": 32, "product_key": 107, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 162, "group": 2, "address": "4c14d2", "data1": 255, "data2": 28, "data3": 1}, "4079": {"memory": 4079, "control_flags": 162, "group": 1, "address": "4d97e9", "data1": 255, "data2": 28, "data3": 1}, "4071": {"memory": 4071, "control_flags": 226, "group": 1, "address": "47b778", "data1": 3, "data2": 28, "data3": 1}, "4063": {"memory": 4063, "control_flags": 226, "group": 1, "address": "4d97e9", "data1": 3, "data2": 28, "data3": 1}, "4055": {"memory": 4055, "control_flags": 162, "group": 1, "address": "47b778", "data1": 255, "data2": 28, "data3": 1}, "4047": {"memory": 4047, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4039": {"memory": 4039, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}, {"address": "50c084", "cat": 2, "subcat": 42, "product_key": 0, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4079": {"memory": 4079, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}, {"address": "4d97d9", "cat": 1, "subcat": 32, "product_key": 107, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4079": {"memory": 4079, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}, {"address": "4d97e9", "cat": 1, "subcat": 32, "product_key": 107, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 0, "data2": 28, "data3": 1}, "4079": {"memory": 4079, "control_flags": 162, "group": 2, "address": "4c14d2", "data1": 255, "data2": 28, "data3": 1}, "4071": {"memory": 4071, "control_flags": 162, "group": 1, "address": "4da20d", "data1": 255, "data2": 28, "data3": 1}, "4063": {"memory": 4063, "control_flags": 226, "group": 1, "address": "47b778", "data1": 3, "data2": 28, "data3": 1}, "4055": {"memory": 4055, "control_flags": 162, "group": 1, "address": "47b778", "data1": 255, "data2": 28, "data3": 1}, "4047": {"memory": 4047, "control_flags": 226, "group": 1, "address": "4da20d", "data1": 3, "data2": 28, "data3": 1}, "4039": {"memory": 4039, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4031": {"memory": 4031, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}, {"address": "50c082", "cat": 2, "subcat": 42, "product_key": 0, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4079": {"memory": 4079, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}, {"address": "4d9b19", "cat": 1, "subcat": 32, "product_key": 107, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 162, "group": 1, "address": "4c14d2", "data1": 255, "data2": 28, "data3": 1}, "4079": {"memory": 4079, "control_flags": 162, "group": 1, "address": "4da88f", "data1": 255, "data2": 28, "data3": 1}, "4071": {"memory": 4071, "control_flags": 226, "group": 1, "address": "4da88f", "data1": 3, "data2": 28, "data3": 1}, "4063": {"memory": 4063, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4055": {"memory": 4055, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}, {"address": "4da88f", "cat": 1, "subcat": 32, "product_key": 107, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 162, "group": 1, "address": "4c14d2", "data1": 255, "data2": 28, "data3": 1}, "4079": {"memory": 4079, "control_flags": 226, "group": 1, "address": "4d9b19", "data1": 3, "data2": 28, "data3": 1}, "4071": {"memory": 4071, "control_flags": 162, "group": 1, "address": "4d9b19", "data1": 255, "data2": 28, "data3": 1}, "4063": {"memory": 4063, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4055": {"memory": 4055, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}, {"address": "47b778", "cat": 2, "subcat": 56, "product_key": 0, "aldb_status": 2, "aldb": {"4095": {"memory": 4095, "control_flags": 162, "group": 0, "address": "4c14d2", "data1": 255, "data2": 31, "data3": 1}, "4087": {"memory": 4087, "control_flags": 162, "group": 2, "address": "4c14d2", "data1": 255, "data2": 0, "data3": 1}, "4079": {"memory": 4079, "control_flags": 162, "group": 1, "address": "4d97e9", "data1": 255, "data2": 0, "data3": 1}, "4071": {"memory": 4071, "control_flags": 226, "group": 1, "address": "4da20d", "data1": 3, "data2": 0, "data3": 1}, "4063": {"memory": 4063, "control_flags": 226, "group": 1, "address": "4d97e9", "data1": 3, "data2": 0, "data3": 1}, "4055": {"memory": 4055, "control_flags": 162, "group": 1, "address": "4da20d", "data1": 255, "data2": 0, "data3": 1}, "4047": {"memory": 4047, "control_flags": 226, "group": 1, "address": "4c14d2", "data1": 3, "data2": 31, "data3": 1}, "4039": {"memory": 4039, "control_flags": 0, "group": 0, "address": "000000", "data1": 0, "data2": 0, "data3": 0}}}]

Suffice it to say, I’m just trying to understand the expected behavior for the Insteon component. If I send insteon.scene_on for group: 1, those lights turn on as expected. Should I also expect the HA states for all the switches in that group to show as “on”? Or is there something I should be doing in automations to poll or refresh the states after sending a scene command?

Thanks!

@caseybarker Part of your question appears to be an expectation of “cascading links” meaning device 1 triggers device 2 and HA should know both device 1 and 2 changed. This is currently not the case but it is in the works. As for triggering the devices via a scene, if device 1 is in a scene insteon.scene_on will trigger that device but device 2 will not trigger. That is a fundamental design of Insteon which will not change. If you want insteon.scene_on to trigger both devices, add both devices to the scene.

@randall1 Sorry I did not see your post sooner. I am not sure I am following you. An automation that triggers a scene should look like this:

  # Trigger an INSTEON scene 25
  - id: trigger_scene_25_on
    alias: Turn on scene 25
    action:
      - service: insteon.scene_on
        group: 25

This would be in your automations.yaml file. You can do it via the GUI so I assume that is where you are stuck?

@teharris1 Thanks! Your answer regarding “cascading links” is what I was trying to figure out. I’m glad to know that what I’m seeing is expected behavior. It would certainly be nice to have the states reflected in HA, so I’ll keep an eye out for that feature.

Thanks again!

I have just released a significant update to the Insteon component as a custom component. I am planning to put it into the main development cycle in the next few releases but since it is a very big change I want to get others to test it first. You can find details here:

I am trying to add a scene to automations.yaml. There is another automation I have added and that shows up in the GUI. I also tried to add this in the GUI but was getting errors having to do with “group”.

When I restart my server I see in the logs :
"Log Details (ERROR)
Logger: homeassistant.config
Source: config.py:410
First occurred: 8:56:17 PM (1 occurrences)
Last logged: 8:56:17 PM

Invalid config for [automation]: [group] is an invalid option for [automation]. Check: automation->action->0->group. (See /config/configuration.yaml, line 9)."

Here is the scene as it is in automations.yaml.

# Trigger an INSTEON scene 55 office lights
- id: trigger_scene_55_on
  alias: Turn on scene 55
  action:
    - service: insteon.scene_on
      group: 55

@flurec I believe you resolved this issue, correct? Is it the same issue as this one:

Thank You all for this thread. How did you program a switch to be part of the isteon scene?

I am just trying to do an all off. I thought the switches were in scene 1 by default, and added

Call Service = insteon.scene_off
service data = group: 1

but no reaction.

is there a way to tell a switch it is part of a scene number?