Delay issues when using Bond Bridge LAN edge driver

I’ve been using this driver for the past year or so and it has been pretty good, but I always have a like 2-3 second delay to turn the light on my fan.

My setup is a Zooz Zen32 scene controller set up so when I press one of the buttons, it toggles the light on/off. Every time I press the button, there is a few second delay before the light turns on or off. That’s not the case when I have buttons from that same Zen32 controlling other lights that aren’t going through the Bond device (they’re connected to other z-wave switches). When I use the remote that came with my fan, the light turns on right away (no 3 second delay).

Is this just a Bond limitation, is it a problem with the driver, or something else? Is that expected behavior?

Thanks!

In testing these devices, I have personally noticed a difference in performance for the big button vs the smaller buttons. It may have something to do with the additional logic controlling the relay with the big button.

Switches connected to other switches? Do you mean zwave lights? If so, is it using zwave association. That would be much faster since it would skip the hub.

The fan probably uses RF and your remote would send out the RF signal natively and be received directly by the fan, again skipping the hub.

Here is what is happening in your setup:

  1. Press Zen32 button
  2. Zwave messages sent and received by ST hub
  3. ST hub triggers automation for the Bond (local or cloud depending on the automation)
  4. Driver sends a LAN message to the Bond hub
  5. Bond hub replicates the RF signals copied from the remote
  6. Fan receives the RF signal

I would first focus on Step 3 and make sure you automation is local. If it isn’t then that would be processed in the cloud and would be slower. The second thing that slows this down is the RF signal itself. RF is a slow moving wave, which is great for getting through walls, but not as fast as wifi. If your Bond bridge isn’t in the same room, it can actually be laggy as the Bond sends out the signal. As a test, you can put your Bond bridge in the same spot as you are when using the fan remote. This would give you a better idea of how much time Steps 1-5 are taking. You can also use the Bond app to remove Steps 1-4 from the equation.

When I use the Bind app, performance is basically the same as using the remote that came with the fan. This is what I’m trying to replicate through smartthings and pressing a button on the zen32.

When I use the ST app, it’s about the same performance as pressing the button on the zen32. ~3 seconds to turn on the light.

I tried testing with one of the other buttons besides the big button and the performance is the same as with the big button.

When I say that the buttons control other devices much quicker, I’m not referring to z wave association. I mean that I have another zooz switch connected to another light fixture and I have assigned one of the buttons on the zen32 to turn that zooz switch on/off. When it turns that other zooz switch on/off, it does it in like 1 second vs the 3 seconds that it takes to turn the fan light on /off via Bond. My bond device is like 10ft from the fan it’s controlling.

I understand all the steps that you described for the message/signal to be sent, but do you have any suggestions based on the info I provided? It’s pretty frustrating that the delay is so long through ST but through the Bond app, it’s completely acceptable.

Thank you!!

Try changing parameter24 of the Zooz 32:

Parameter 24: Enable or disable scene control on the relay button. If scene control is disabled, the slight delay for physical press will be reduced but the relay button will no longer send central scene events to the hub. It’s recommended to disable the feature only if using the relay button for direct electrical control of the connected load without any additional remote control functions.

Values: 0 – scene control enabled (default). 1 – scene control disabled.

Size: 1 byte dec

Thank you for the suggestion, but I guess I should clarify that I am using that button as a scene controller and not directly controlling the current/power of that fan/light. The fan/light are always powered and I’m using the button to toggle the power to the light through scene control.

Try this (Parameter 19, option 2) if you keep the relay on all the time, this is how my bond fan is connected, and the Zen32 on/off for fan and light are close to the same speed as the remote.

Parameter 19: Enable or disable paddle on/off control (aka disable the relay). If disabled, you’ll only be able to control the connected light via Z-Wave. Scenes and other functionality will still be available through buttons.
Values: 0 – Disable local / physical control (from the button), enable Z-Wave control; 1 – Enable local / physical control (from the button), enable Z-Wave control (default); 2 – Disable local / physical control (from the button), disable Z-Wave control
Size: 1 byte dec

Here’s what my settings page looks like. I’m pretty sure that I have that Relay setting like you’re referring to and that’s how I’ve had it set up and an experiencing the long delay.

Your settings are the same as mine except for the Primary Capability I use switch instead of button.
I think I did that so I could use routines and not have them integral to the device, so if something happens you don’t lose the routines you just have to correct them. If using a button it deletes all of the internal routines if you change or delete a device used by them.

Keep in mind a multi button device is always going to be slower than an on/off switch because it has a period of time when it is waiting to ensure you have finished multiple taps. But 3 seconds is not what I experience with my setup.

Hmm… I’m not really sure why I changed the primary from switch to button (looks like Switch is the default). I wonder if that would have any impact on this? I’ll change that tonight when I get home (after I re-create all of the routines attached to each button) and see if that makes a difference. I wouldn’t think so, but I really have no idea how it handles that setting internally so who knows.

And, yes, I understand about the momentary delay while it’s waiting to see if another press will come, but that delay when controlling other zooz zwave devices is negligible. When controlling this fan though Bond, it’s 3 seconds and that’s pretty annoying. If it was just the fan, that would be one thing, but the light causes some issues…On the way out to the patio at night you press the button to turn on the light and have to wait there for a few seconds until it comes on until you can walk outside without falling on your face. haha

Running this same configuration, I see the delay as well. However, that delay is significantly reduced when controlling the fan through the ST app. In the past, I have logged the timestamps for when the driver receives the events compared to when messages are sent out to the Bond. Those responses times are as expected, so I believe the delay exists in either the Zooz driver or the ST automation code. I also see these delays when controlling non-Bond devices using the Zen32 to flip on devices from other Edge drivers.

@JDRoberts Are you able to split out this conversation from this Bond thread?

Here is an example from a Zen32/Bond setup. The big button on the Zen32 triggers the light for a fan.

*****
2023-08-01T18:00:35.961698539+00:00 TRACE Zooz ZEN32 Scene Controller  Received event with handler unnamed
*****
2023-08-01T18:00:35.962830771+00:00 INFO Zooz ZEN32 Scene Controller  <ZwaveDevice: *****> received Z-Wave command: {args={current_value="OFF_DISABLE", duration=0, target_value="OFF_DISABLE", value="OFF_DISABLE"}, cmd_class="SWITCH_BINARY", cmd_id="REPORT", dst_channels={}, encap="S2_AUTH", payload="*****", src_channel=0, version=2}
2023-08-01T18:00:35.986480924+00:00 TRACE Zooz ZEN32 Scene Controller  Found ZwaveDispatcher handler in zooz-zen32-scene-controller
2023-08-01T18:00:35.988557628+00:00 INFO Zooz ZEN32 Scene Controller  <ZwaveDevice: *****> emitting event: {"attribute_id":"switch","component_id":"main","state":{"value":"off"},"capability_id":"switch"}
2023-08-01T18:00:35.992160762+00:00 DEBUG Zooz ZEN32 Scene Controller  ***** device thread event handled
2023-08-01T18:00:36.312633371+00:00 TRACE Zooz ZEN32 Scene Controller  Received event with handler unnamed
2023-08-01T18:00:36.314075211+00:00 INFO Zooz ZEN32 Scene Controller  <ZwaveDevice: *****> received Z-Wave command: {args={key_attributes="KEY_PRESSED_1_TIME", scene_number=5, sequence_number=6, slow_refresh=true}, cmd_class="CENTRAL_SCENE", cmd_id="NOTIFICATION", dst_channels={}, encap="S2_AUTH", payload="*****", src_channel=0, version=3}
2023-08-01T18:00:36.332230389+00:00 TRACE Zooz ZEN32 Scene Controller  Found ZwaveDispatcher handler in zooz-zen32-scene-controller
2023-08-01T18:00:36.385517116+00:00 WARN Zooz ZEN32 Scene Controller  ***MESSAGE*** central_scene_notification_handler...
2023-08-01T18:00:36.400850623+00:00 INFO Zooz ZEN32 Scene Controller  <ZwaveDevice: *****> emitting event: {"state_change":true,"attribute_id":"button","component_id":"largeButton","state":{"value":"pushed"},"capability_id":"button"}
2023-08-01T18:00:36.405748877+00:00 DEBUG Zooz ZEN32 Scene Controller  ***** device thread event handled
*****
2023-08-01T18:00:36.407968143+00:00 TRACE Bond Bridge  Received event with handler capability
*****
2023-08-01T18:00:36.446222733+00:00 TRACE Bond Bridge  Found CapabilityCommandDispatcher handler in Bond
2023-08-01T18:00:36.447190516+00:00 INFO Bond Bridge  <Device: *****> received command: {"positional_args":{},"command":"off","args":{},"component":"light","capability":"switch"}
2023-08-01T18:00:36.456351615+00:00 DEBUG Bond Bridge  building socket for rest client
2023-08-01T18:00:36.491677854+00:00 DEBUG Bond Bridge  setoption 'keepalive' for rest client
*****
2023-08-01T18:00:36.689073872+00:00 DEBUG Bond Bridge  bpup message received    *****    30007   {"B":"*****","d":0,"v":"v3.13.6","t":"devices/*****/state","i":"*****","f":100,"s":200,"m":0,"x":"bond","b":{"power":0,"speed":1,"light":0,"_":"*****","__":"*****"}}
*****
2023-08-01T18:00:36.706255600+00:00 DEBUG Bond Bridge  <Device: *****>     online
2023-08-01T18:00:36.730973566+00:00 TRACE Bond Bridge  Found CapabilityCommandDispatcher handler in Bond
2023-08-01T18:00:36.731985688+00:00 INFO Bond Bridge  <Device: *****> emitting event: {"state":{"value":"off"},"component_id":"main","attribute_id":"switch","capability_id":"switch"}
2023-08-01T18:00:36.746147387+00:00 INFO Bond Bridge  <Device: *****> emitting event: {"state":{"value":"off"},"component_id":"light","attribute_id":"switch","capability_id":"switch"}
2023-08-01T18:00:36.762830389+00:00 INFO Bond Bridge  <Device: *****> emitting event: {"state":{"value":0},"component_id":"main","attribute_id":"fanSpeed","capability_id":"fanSpeed"}
2023-08-01T18:00:36.845864018+00:00 DEBUG Bond Bridge  closing socket for rest client
2023-08-01T18:00:36.847346196+00:00 DEBUG Bond Bridge  [200/OK] http://*****:80 PUT v2/devices/5d215548/actions/TurnLightOff
2023-08-01T18:00:36.848660687+00:00 DEBUG Bond Bridge  Office Fan device thread event handled
*****
2023-08-01T18:00:36.933022142+00:00 DEBUG Bond Bridge  bpup message received    *****    30007   {"B":"*****","d":0,"v":"v3.13.6","t":"devices/*****/actions/TurnLightOff","i":"*****","f":132,"s":200,"m":2,"x":"http","b":{"_":"00000000","__":"00000000"}}
*****

Here are the highlights. If you get a combined log of the Zen32 and Bond, you can find similar metrics.

2023-08-01T18:00:35.961698539+00:00 Zen32 gets button press event

+0.44 seconds

2023-08-01T18:00:36.407968143+00:00 Bond driver gets switch off event

+0.28 seconds ← This is what this driver is responsible for. It is the time from receiving the event to sending out the command

2023-08-01T18:00:36.689073872+00:00 Bond switched the light off

+0.25 seconds

2023-08-01T18:00:36.933022142+00:00 Bond round-trips the command and confirms that it succeeded

Done as requested. :sunglasses:

1 Like

Much appreciated

1 Like