Insteon Confusion Direct Sending of Groups

@Bob_Barbagallo @ranielsen’s tip is probably technically the best way to do this. It basically forces the Insteon binding to go and ping each device you tell it to with the related directive for its state. I don’t like to use this because I feel that it uses a ton of the extremely limited Insteon network bandwidth, especially if you have a scene that controls lots of lights in your house. Instead I have a rule setup that if I trigger a group broadcast via a switch, it will postUpdate() to every device its new status. That way it changes the status known to OH but doesn’t send new commands down the Insteon Network. Technically this could result in an incorrect state if you had a scene member not respond to the scene, but I can live with that.

1 Like

Thanks Rob. I tried it and my switch stopped working. I rebooted the hub, still no love. I reverted to my original things file, not better. I had reboot my Raspberry PI to get it back. I may have a syntax issue. I will try again and report back. Thanks again. Bob.

Interesting, I will look into “postUpdate()”

Cheers,
b

Here is a small example:

First I create an OH group with all of the member’s of this scene in it called “g1F”, then I use that in the rule:

I trigger this rule either by double clicking a physical Insteon switch or by telling Alexa “Goodnight”. the rule then sends out an Insteon Group Broadcast and updates each group member’s state to OFF. I use a “members.forEach” funciton to iterate through all the members of that group. You might find it easier at first not bother with the group and simply type out a postUpdate() command in your rule for each light your scene uses if it is just a few.

rule "StairsSlave-NightMode"
    when
	        Item stairsSlavefast received update OFF
    then    
            logInfo("goodnight", "!!!!!!!!!!!!!!!!!!!!!! In Goodnight Rule")
            sendCommand(goodnightscene,ON)
            g1F.members.forEach[ i | i.postUpdate(OFF) ]
    end

[quote=“Bob_Barbagallo, post:22, topic:102627, full:true”]

@ranielsen Rob, tried again. Seems to work, but the sliders take a few minutes to eventually update in HABPanel and not all at the same time. Is this expected? The related devices are the 3 in the group (the are dimmer switches)
Channels:
Type switch : broadcastOnOff#9 [related=“4A.F1.D5+4A.E5.2D+4F.C4.47”]
Cheers,

B

It can take some time, all depends on how busy your network is.

Also, not at the same time does make sense as you hub has to go and individually ping each device one at a time.

Both of these have been implemented and are available in 2.5.8-SNAPSHOT. Devices now support an optional device configuration (Insteon - Bindings | openHAB). This new parameter can be used to define the broadcast channels and is documented at the end of Insteon - Bindings | openHAB.

Thank you. Going to try it on the weekend. Cheers.

I was reading this thread with trepidation since it was addressing exactly what I’m trying to achieve. But I get to this last note and now, I’m really confused. In the Paper UI for the Insteon Hub (and not the Insteon bridge), what exactly should I be adding to the Device Configuration line? I tried using simply {channel=“broadcastOnOff#2” } and even though PaperUI accepts this with no error, there is no way for me to create an item (or at least I don’t see the mechanism. I would be helpful to see a screenshot example. Obviously this is not the correct format for the required “Optional JSON object with device specific configuration.”

NEVERMIND: I figured it out. I added the line {‘broadcastGroups’: [2]} in the Optional JSON object line and that worked. Yes, Rob, you had mentioned it in the updated documentation but I kept skipping over.

2 Likes