Scenes, Groups & Associations: Store Natively in Device Please

My understanding may be mistaken, but I understand that Insteon Scenes, Zigbee Groups and Z-Wave Associations (grouped devices for each protocol) can be written to and stored in the devices, natively, but that HA has chosen not to implement that.

For example, in the case of multiple Insteon, e.g. switches, in a scene written to natively: each switch listens for 2 commands, a. “Turn myself on” and b. “Turn on if Scene 1 is told to turn on” (this includes the devices dim level etc).

This has 2 great benefits:

  1. a scene command is a single message: “Turn on Scene 1”, NOT separate massages to every member of the scene
  2. because these are written natively to the devices, if a controller/plm etc is offline/broken, the scene is still fully functional from the controlling switch(s).

My understanding is HA DOES NOT utilize this native device-writing capability and instead keeps all communication strictly between itself and devices. Therefore, when controlling an Insteon Scene (Zig Group, Z-W Association): 10 separate commands would be sent if 10 devices in the scene, and the scene would not work if the plm/controller was offline etc.

I gather this is why e.g. for Insteon, users utilize UD ISY (eisy), which does write natively. I imagine ditto for alternate zigbee and z-wave hubs.

It would be fantastic if the HA would enable natively writing to devices, so folks could keep everything inside HA and not rely on multiple external hubs and corresponding intermediary integrations to connect to HA (usually with some meaningful loss of functionality and added complexity.

Z2m allows a certain amount of native grouping and automation.

Thanks I am looking at that. Thanks for the pointer

There is a tension here between “keeping everything on ha” for central control and admin, and “make it work when HA is down for some reason”.

Sure, valid. But what I mean is: Everything/most things still work from physical switches etc eg lighting groups/scenes from physical switches even if HA/zwave/zigbee is down (as it does with insteon and isy for example. I believe zigbee native binding via Z2m sets this up, as you mentioned. On the other hand, when things are running well, its nice to have a single place to go for setup and control, ie HA.

Thanks

Z-Wave Associations are already stored on the devices themselves.

ok.

So as I am coming to understand it:

“Native” links between same-protocol devices i.e. Insteon, ZW, Zig are created in the native application (or plugin) i.e. Isy for Insteon, Z-wave JS UI for ZW and zigbee2mqtt for Zigbee.

  1. HA receives those natively linked devices and the native links are maintained in HA, such that if HA is offline and the native plug-in that created the links, ie ISY, zw Js or z2m and including any required dongles are also offline, then the native links are maintained. So for example, one could use a single-protocol physical kaypad to control a natively created lighting group of the same protocol and it would work with everything else offline.

  2. Also, when communicating with those single-protocol native groups, HA sends a single command and the group members listen and respond. The point being that only a single HA command is sent for externally created native groups (vs separate commands for each member of the group). This significantly reduces network traffic, delays. pops, etc.

  3. Thus, HA is really an aggregator of externally created diverse protocol entities (devices/groups etc). And then is can work with these to do things between same or non-same entities. It can also be a unifying UI and control center to house then and interact with them.

If so, its important for users to understand this, so thay dont try to use HA to replace external native groupings, due to excessive resulting network traffic, delays etc. Note: many of these external native single-protocol controllers CAN and DO take the form of plugins, etc, but these are actually external to HA, even though conveniently contained within its UI, eg ISY, zigbee2mqtt, z-wave JS UI, etc and similarlly (but not for creating native entities: nodeRed, mqtt server, influxdb, etc etc.

Im going to ponder this some more before following up. Any comments/insights are welcome…

Thanks all

Do remember that a zigbee network needs a co-ordinator. The co-ordinator is the dongle that plugs into your computer, so if that dongle is “offline” then zigbee won’t work at all.

Storing Zigbee groups and zigbee scenes on the light bulbs, is supported in Deconz. In my opinion, storing this info onto the light bulbs is essential. Without it, sending commands to multiple lights is noticibly less smooth. Even worse, sometimes commands are not received due to zigbee network congestion.

Ok, so If I have a zigbee bulb and a zigbee physical remote switch (NOT on the power line of the bulb), and the co-ordinator (usb dongle) is disconnected, then the physical remote switch will not control the bulb? Is this still true is I create native zigbee BINDING between the remote switch and the bulb. I thought those survive the loss of the coordinator (but i dont know for sure)

Thanks

Hi
I be zigbee2mqtt can also make native zigbee “bindings” between devices (per my question just above). I am very sure it creates native zigbee groups. With a z2m native group, HA addresses the group with a single network command and all group members respond, eg “turn on” is a single command to the group. Is this what you are saying about Deconz, or is there added functionality/benefit to that? Is that a replacement for z2m or an additional component? It looks interesting but Im not familiar with it (actually all of this is new to me)
Thanks

It’s indeed what i’m saying about Deconz.

so just to clarify ( beat a dead horse) does this mean one could use either z 2 m or your tool to accomplish the same or would one use both for additional benefit? IE are they two versions of a similar tool or things one would add together?

Two separate brands of the same thing

I don’t have first-hand experience with Z2M so i can’t comment on that.

Are you asking about creating Insteon scenes from HA groups or about activating a Insteon scene from HA. Certainly you can activate a scene by calling insteon.scene_on with the scene number and you send one command to the hub which will activate it on all devices.

While I have not created Insteon scenes in some time, I think you can do this with the Insteon Control Panel, but it is not auto porting groups to scenes.

A long time ago I wrote the opposite … this created Home Assistant groups from Insteon Scenes.

Hi ,

this feature request was for HA to write natively to groups of devices and create native bindings versus the way it is now implemented in HA where within HA any command to a group is in fact multiple commands to every device within the group on one hand and if HA were to be offline none of the links/ bindings would be maintained on the other hand

The discussion has progressed to acknowledge that the plugins and or third party hubs is where this native writing, grouping and binding occurs and HA is more of an aggregator to work with the resulting groups bound devices etc

Thanks for the link to your insteon scene creator. I use the ISY for insteon which is fed into home assistant via its plugin. I don’t use the insteon plug-in per se.

Thanks

Hi ,

Deconz does look like an interesting alternative. why did you choose that over Z2M? do you have a general description of pros and cons?

Thanks

With the Insteon Control Panel you can create and modify scenes that are stored in the Hub. You can use insteon.scene_on and insteon.scene_off to execute the scene which is one command to the hub that can instantly control one or ten or whatever devices. You only need to pass in the scene number (and not a name which you set the number on creating the scene).

If you create a home assistant group you are correct that the command is one by one (aka “popcorn”) effect to got through each light or switch and turn on/off. But if you directly call the Insteon scene, it just executes the scene.

Isn’t this what you are asking?

Note that if you install the Insteon Control Panel, it will read all your existing scenes from the device as a starting point so you do not even have to recreate them (assuming they are in the hub/plm).

Scene Editor:

What (I believe) is still missing would be to set things like custom brightness, ramp rate for a scene. At this time it only supports on/off.

1 Like