[ST Edge] Local Bond Bridge Edge Driver [BETA]

IDE… I haven’t got to the point of setting up CLI yet.

Been checking the app for the past 20+ minutes and none have switched to offline in that time.

@jkp
Okay on the cli part, I had to catch it by opening the Windows ST Beta app while I was on the computer doing other stuff and verifying it was doing the same in the Android app at the same time.

@blueyetisoftware
Well…with my phone doing an android software update yesterday morning and the ST hub doing an update last night (8PM ish) and another at 1:00am it seems too have fixed the 7 minute disconnect cycle. Ran the cli for 1/2 hour on Bond it was fine and haven’t caught it on the app offline either.

1 Like

With this driver I noticed that the fan is shown as a light in Google Home. With the old cloud based Smartthings device the fan is shown as a switch.

The issue is when I tell Google to turn off the lights in a room the fan will also be turned off. Is there any way to change the device type to switch as with the old Bond integration?

Also, I noticed that the fan light does not get exposed to Google Home. With the cloud integration the fan light shows up as a second device which is what I would expect so that I can get individual control of each device.

I believe this is a bug in Google Home that assumes all devices with switches should be treated as lights. The edge driver adds a switch capability to the fan to enable simple on/off control without modifying the fan speed.

This is also another issue with Google Home. It doesn’t support multi-component devices. The edge driver treats fan/light combos as a single device with multiple components. This keeps the device count down and allows the driver to be more efficient. It also allows ST to reflect the reality of it being a single device.

Here are two threads regarding the issuing of voice integration with multi-component devices. It is a known issue.

1 Like

First of all, thank you for your hard work and for sharing this driver @blueyetisoftware !

Bond bridge firmware v2.28.0
SmartThings hub v3 firmware 000.042.00007

Bond bridge LAN driver version 2022-05-18T17:04:42.294398

——

With a freshly reset Bond bridge and remote set-up for my ceiling fan, I followed the steps in the first post. The Bond cloud integration is not enabled.

My bridge was added to ST successfully and is showing up in No room assigned. I can control the bridge’s LED successfully from the ST app. However, it never adds my ceiling fan remote.

The ceiling can remote is the only device connected to the Bond bridge. I can see it and control it within the Bond app.

I can provide driver logs tomorrow, but has anyone seen this behavior?

power cycle the Bond bridge, click Scan Nearby and wait until fan remote shows up

something to try until the developer pops in to offer better advice :slight_smile:

Thank you for the suggestion, @jkp, but unfortunately no new devices were found. I tried 3 times.

The logs would give a definitive answer, but I’m curious if the cloud integration shows your remote. You can run them together. Can you give that a shot and let me know if it shows? If not, I would lean toward a Bond issue.

What version of ST firmware do you use?

Last suggestion would be to tap the bond pairing button again in case the authentication has an issue

@blueyetisoftware yes, the cloud integration gives me 3 devices based on the remote - the fan itself (speed), fan winter mode, and fan light.

SmartThings firmware is 000.042.00007 on a V3 hub.

I’ll get the logs tomorrow! Thank you!

@blueyetisoftware OK, I tried rejoining, here are the driver logs:

The issue seems to be that I’m getting 401s:

<...>
2022-05-30T18:28:26.853457583+00:00 ERROR Bond Bridge LAN  GET http://192.168.4.43/v2/bridge 401
<...>
2022-05-30T18:28:41.337280590+00:00 ERROR Bond Bridge LAN  GET http://192.168.4.43/v2/devices 401
<...>
2022-05-30T18:29:04.266482601+00:00 ERROR Bond Bridge LAN  PATCH http://192.168.4.43/v2/bridge 401
<...>

Published 2022-05-30.19.08.48.29

  • Updated networking for v43 ST hub firmware
  • Removed deprecated networking patches for earliest versions of the driver
  • Added more driver logging for networking errors

This would happen if your bridge token was bad. The driver isn’t complaining about the token, so it clearly thinks you have one. You could try removing all of the devices and then going through discovery again and re-pairing.

Did you press the pairing button when you went through discovery the first time?

I also published the most recent driver that has more logging available. It may provide a few more details for your setup.

@blueyetisoftware updated the driver, I’ll try again. I have not pressed the pairing button, no, just restarted the bridge.

Which pairing button do you mean? The Bond bridge has no buttons.

Steps to reproduce:

  1. Update driver, validate driver version
  2. Remove all devices previously paired from ST app
  3. Power cycle the Bond Bridge, and wait until the light is solid blue post-restart
  4. In ST app, look for new devices nearby
  5. Only the bridge is found
  6. Try to change the brightness of the LED on the bridge (fails)

Logs: Second try for Bond LAN driver · GitHub

That’s fine. You are using the black hockey puck version. You are correct that there is no button on that one. Power cycling is correct on that bridge.

After you grab the newest driver, can I get the logs again? That driver should print out an additional error message after the 401 that will provide the reason from the bridge.

Thanks

@blueyetisoftware the last set of logs were generated with the new driver version from today:

I’m guessing that updated after you recorded the logs. I didn’t publish that until after I read your message. It auto-updates the driver.

You can see the time in the logs 2022-05-30T18:28:26. The driver was published 2022-05-30.19.08.48.29

@blueyetisoftware here’s a fresh run. By the way, thank you so much for the help with troubleshooting my issue!

┌───┬──────────────────────────────────────┬────────────────────────────────┬─────────────┬───────────────────────────────┬──────────────────────────────────────┬──────────────────────────────────────┬────────────────────────────┐
│ # │ Driver Id                            │ Name                           │ Description │ Version                       │ Channel Id                           │ Developer                            │ Vendor Summary Information │
├───┼──────────────────────────────────────┼────────────────────────────────┼─────────────┼───────────────────────────────┼──────────────────────────────────────┼──────────────────────────────────────┼────────────────────────────┤
│ 1 │ 852605fd-bcd0-4ef0-8dff-fa4a5b0c6892 │ Bond Bridge LAN                │             │ 2022-05-30T19:08:48.297352548 │ 161eb460-1270-4d7f-8551-3a08d9183c79 │ 7616e454-5cd2-d07e-53c0-443374c30a80 │                            │
└───┴──────────────────────────────────────┴────────────────────────────────┴─────────────┴───────────────────────────────┴──────────────────────────────────────┴──────────────────────────────────────┴────────────────────────────┘

Logs:

connecting... connected
2022-05-31T15:36:53.494483975+00:00 TRACE Bond Bridge LAN  Setup driver bond with lifecycle handlers:
DeviceLifecycleDispatcher: bond
  default_handlers:
    driverSwitched:
  child_dispatchers:
    DeviceLifecycleDispatcher: bond -> bridge
      default_handlers:
        removed:
        init:
      child_dispatchers:
    DeviceLifecycleDispatcher: bond -> fan
      default_handlers:
        infoChanged:
      child_dispatchers:
        DeviceLifecycleDispatcher: bond -> fan -> sbb
          default_handlers:
            removed:
            init:
          child_dispatchers:
    DeviceLifecycleDispatcher: bond -> fireplace
      default_handlers:
        infoChanged:
      child_dispatchers:
        DeviceLifecycleDispatcher: bond -> fireplace -> sbb
          default_handlers:
            removed:
            init:
          child_dispatchers:
    DeviceLifecycleDispatcher: bond -> generic
      default_handlers:
      child_dispatchers:
        DeviceLifecycleDispatcher: bond -> generic -> sbb
          default_handlers:
            removed:
            init:
          child_dispatchers:
    DeviceLifecycleDispatcher: bond -> light
      default_handlers:
      child_dispatchers:
        DeviceLifecycleDispatcher: bond -> light -> sbb
          default_handlers:
            removed:
            init:
          child_dispatchers:
    DeviceLifecycleDispatcher: bond -> shade
      default_handlers:
        added:
      child_dispatchers:
        DeviceLifecycleDispatcher: bond -> shade -> sbb
          default_handlers:
            removed:
            init:
          child_dispatchers:

2022-05-31T15:36:53.515615975+00:00 TRACE Bond Bridge LAN  Setup driver bond with Capability handlers:
CapabilityCommandDispatcher: bond
  default_handlers:
  child_dispatchers:
    CapabilityCommandDispatcher: bond -> bridge
      default_handlers:
        refresh:
          refresh
        switchLevel:
          setLevel
      child_dispatchers:
    CapabilityCommandDispatcher: bond -> fan
      default_handlers:
        execute:
          execute
        fanSpeed:
          setFanSpeed
        refresh:
          refresh
        switch:
          off
          on
        switchLevel:
          setLevel
      child_dispatchers:
        CapabilityCommandDispatcher: bond -> fan -> sbb
          default_handlers:
          child_dispatchers:
    CapabilityCommandDispatcher: bond -> fireplace
      default_handlers:
        switch:
          off
          on
        refresh:
          refresh
        execute:
          execute
        switchLevel:
          setLevel
      child_dispatchers:
        CapabilityCommandDispatcher: bond -> fireplace -> sbb
          default_handlers:
          child_dispatchers:
    CapabilityCommandDispatcher: bond -> generic
      default_handlers:
        refresh:
          refresh
        switch:
          off
          on
        execute:
          execute
      child_dispatchers:
        CapabilityCommandDispatcher: bond -> generic -> sbb
          default_handlers:
          child_dispatchers:
    CapabilityCommandDispatcher: bond -> light
      default_handlers:
        switch:
          off
          on
        refresh:
          refresh
        execute:
          execute
        switchLevel:
          setLevel
      child_dispatchers:
        CapabilityCommandDispatcher: bond -> light -> sbb
          default_handlers:
          child_dispatchers:
    CapabilityCommandDispatcher: bond -> shade
      default_handlers:
        refresh:
          refresh
        windowShade:
          close
          pause
          open
        execute:
          execute
        windowShadeLevel:
          setShadeLevel
      child_dispatchers:
        CapabilityCommandDispatcher: bond -> shade -> sbb
          default_handlers:
          child_dispatchers:

2022-05-31T15:36:53.534645642+00:00 TRACE Bond Bridge LAN  Received event with handler environment_info
2022-05-31T15:36:53.542757308+00:00 TRACE Bond Bridge LAN  Received event with handler environment_info
2022-05-31T15:36:53.550529975+00:00 DEBUG Bond Bridge LAN  Z-Wave hub node ID environment changed.
2022-05-31T15:36:53.558006308+00:00 TRACE Bond Bridge LAN  Received event with handler discovery
2022-05-31T15:36:53.568520308+00:00 DEBUG Bond Bridge LAN  discovery scanning network
2022-05-31T15:36:56.609594642+00:00 DEBUG Bond Bridge LAN  listening on port 40289 for discovery
2022-05-31T15:36:56.616700975+00:00 DEBUG Bond Bridge LAN  discovery registering callback
2022-05-31T15:36:56.632892309+00:00 DEBUG Bond Bridge LAN  discovery sending broadcast
2022-05-31T15:36:56.649756975+00:00 DEBUG Bond Bridge LAN  BROADCAST 255.255.255.255:30007
2022-05-31T15:36:56.657866642+00:00 DEBUG Bond Bridge LAN  driver device thread event handled
2022-05-31T15:36:56.664542975+00:00 TRACE Bond Bridge LAN  Received event with handler _resync
2022-05-31T15:36:57.227401309+00:00 DEBUG Bond Bridge LAN  discovery message received from 192.168.4.43:30007 {"B":"ZZDF74986","d":0,"v":"v2.28.0"}

2022-05-31T15:36:57.303464975+00:00 DEBUG Bond Bridge LAN  discovery creating bridge ZZDF74986
2022-05-31T15:36:58.205136975+00:00 DEBUG Bond Bridge LAN  GET http://192.168.4.43/v2/sys/version 200
2022-05-31T15:36:58.418057309+00:00 ERROR Bond Bridge LAN  GET http://192.168.4.43/v2/bridge 401
2022-05-31T15:37:06.670562976+00:00 DEBUG Bond Bridge LAN  discovery sending broadcast
2022-05-31T15:37:06.718004310+00:00 DEBUG Bond Bridge LAN  BROADCAST 255.255.255.255:30007
2022-05-31T15:37:06.726067643+00:00 DEBUG Bond Bridge LAN  discovery processing creation queue
2022-05-31T15:37:07.067434976+00:00 DEBUG Bond Bridge LAN  discovery message received from 192.168.4.43:30007 {"B":"ZZDF74986","d":0,"v":"v2.28.0"}

2022-05-31T15:37:08.443051977+00:00 TRACE Bond Bridge LAN  Received event with handler device_lifecycle
2022-05-31T15:37:08.459413643+00:00 INFO Bond Bridge LAN  <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)> received lifecycle event: added
2022-05-31T15:37:08.490300977+00:00 TRACE Bond Bridge LAN  Received event with handler device_lifecycle
2022-05-31T15:37:08.496802643+00:00 INFO Bond Bridge LAN  <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)> received lifecycle event: doConfigure
2022-05-31T15:37:08.507563643+00:00 TRACE Bond Bridge LAN  <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)> received unhandled lifecycle event: added
2022-05-31T15:37:08.513659643+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:37:08.522118977+00:00 TRACE Bond Bridge LAN  Found DeviceLifecycleDispatcher handler in bond -> bridge
2022-05-31T15:37:08.529964977+00:00 INFO Bond Bridge LAN  starting bpup message channel for <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)>
2022-05-31T15:37:11.565960644+00:00 DEBUG Bond Bridge LAN  listening on port 33506 for <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)>
2022-05-31T15:37:11.577835977+00:00 DEBUG Bond Bridge LAN  BROADCAST 255.255.255.255:30007
2022-05-31T15:37:11.592050310+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:37:11.602036977+00:00 TRACE Bond Bridge LAN  <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)> received unhandled lifecycle event: doConfigure
2022-05-31T15:37:11.607778310+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:37:11.624284977+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:37:11.636253310+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:37:11.646498644+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:37:11.797374644+00:00 DEBUG Bond Bridge LAN  RECEIVE 192.168.4.43:30007 {"B":"ZZDF74986","d":0,"v":"v2.28.0"}
 <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)>
2022-05-31T15:37:12.167220644+00:00 ERROR Bond Bridge LAN  GET http://192.168.4.43/v2/devices 401
2022-05-31T15:37:15.240199977+00:00 TRACE Bond Bridge LAN  Received event with handler discovery
2022-05-31T15:37:19.057399978+00:00 TRACE Bond Bridge LAN  Received event with handler capability
2022-05-31T15:37:19.067004645+00:00 INFO Bond Bridge LAN  <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)> received command: {"args":{},"capability":"refresh","command":"refresh","component":"main","positional_args":{}}
2022-05-31T15:37:19.075075645+00:00 TRACE Bond Bridge LAN  Found CapabilityCommandDispatcher handler in bond -> bridge
2022-05-31T15:37:19.454416645+00:00 ERROR Bond Bridge LAN  GET http://192.168.4.43/v2/bridge 401
2022-05-31T15:37:19.561775645+00:00 TRACE Bond Bridge LAN  Received event with handler capability
2022-05-31T15:37:19.686273311+00:00 DEBUG Bond Bridge LAN  GET http://192.168.4.43/v2/sys/version 200
2022-05-31T15:37:19.699842978+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:37:19.710727645+00:00 INFO Bond Bridge LAN  <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)> received command: {"args":{"level":49},"capability":"switchLevel","command":"setLevel","component":"main","positional_args":[49]}
2022-05-31T15:37:19.717277978+00:00 TRACE Bond Bridge LAN  Found CapabilityCommandDispatcher handler in bond -> bridge
2022-05-31T15:37:19.757865311+00:00 DEBUG Bond Bridge LAN  discovery socket closed
2022-05-31T15:37:19.763187645+00:00 DEBUG Bond Bridge LAN  discovery device thread event handled
2022-05-31T15:37:19.935331645+00:00 ERROR Bond Bridge LAN  PATCH http://192.168.4.43/v2/bridge 401
2022-05-31T15:37:19.942418978+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:38:11.614340651+00:00 DEBUG Bond Bridge LAN  PING 192.168.4.43:30007
2022-05-31T15:38:11.626681317+00:00 DEBUG Bond Bridge LAN  Bond Bridge device thread event handled
2022-05-31T15:38:11.815201984+00:00 DEBUG Bond Bridge LAN  RECEIVE 192.168.4.43:30007 {"B":"ZZDF74986","d":0,"v":"v2.28.0"}
 <Device: ea44a4ec-4db1-4171-86da-0bd6339dc57e (Bond Bridge)>
2022-05-31T15:38:12.213515651+00:00 ERROR Bond Bridge LAN  GET http://192.168.4.43/v2/devices 401

@iplantemn Thanks. I was hoping the Bond would give us back a better error message but it makes sense that they don’t give away too much for a 401. Since the bridge is being found, that indicates that the driver is getting a token, but the 401 indicates that it is bad. It is possible that the Bond is giving the driver a bad token. I haven’t seen it before, but have seen a couple reports in their forum. The proposed fix in their forum was to factory reset the Bond. That can be done by depressing the the reset pinhole until the ring turns white, or by doing the reset through the Bond app by going into the settings for the bridge and selecting Remove Bond --> Wipe All Data. This does wipe out all of your Bond devices and they would need to be setup again.

I am going to go ahead and add the ability to manually edit the token in the driver as a workaround that can be tried. If you want an immediate fix, the factory reset is probably the only option.

The manual entry will probably be published later today if you want to wait.