Summary

Bond Bridge hub provides REST HTTP API for controlling motorized shades and other devices. Communication uses token-based auth via BOND-Token header. Supports device types MS (Motorized Shades) with subtypes ROLLER, SHEER, AWNING. Push state updates via BPUP UDP protocol on port 30007.

Transport

protocols:
  - http
  - udp
addressing:
  base_url: http://{bond_ip}/v2  # IP discovered via mDNS (e.g., ping BB18038.local)
auth:
  type: token  # token via BOND-Token header or _token body field

BPUP (UDP push):

protocols:
  - udp
addressing:
  port: 30007
auth:
  type: none  # BPUP uses subscription handshake, no token

Traits

- powerable  # TurnOn/TurnOff/TogglePower for fan/light devices
- routable  # Open/Close/Raise/Lower/Retract/Extend for shades
- queryable  # Get device state via GET /v2/devices/{id}/state
- levelable  # SetPosition, SetBrightness for shades/lights

Actions

- id: open
  label: Open
  kind: action
  params: []
- id: close
  label: Close
  kind: action
  params: []
- id: toggle_open
  label: Toggle Open
  kind: action
  params: []
- id: raise
  label: Raise
  kind: action
  params: []
- id: lower
  label: Lower
  kind: action
  params: []
- id: retract
  label: Retract
  kind: action
  params: []
- id: extend
  label: Extend
  kind: action
  params: []
- id: set_position
  label: Set Position
  kind: action
  params:
    - name: position
      type: integer
      description: Position percentage (0=retracted, 100=extended)
- id: increase_position
  label: Increase Position
  kind: action
  params:
    - name: amount
      type: integer
      description: Amount to increase position
- id: decrease_position
  label: Decrease Position
  kind: action
  params:
    - name: amount
      type: integer
      description: Amount to decrease position
- id: set_tilt_position
  label: Set Tilt Position
  kind: action
  params:
    - name: position
      type: integer
      description: Tilt position in degrees
- id: toggle_tilt
  label: Toggle Tilt
  kind: action
  params: []
- id: stop
  label: Stop
  kind: action
  params: []
- id: preset
  label: Preset
  kind: action
  params: []
- id: hold
  label: Hold
  kind: action
  params: []
# TDBU dual-tube shade actions
- id: set_upper_rail_position
  label: Set Upper Rail Position
  kind: action
  params:
    - name: position
      type: integer
      description: Upper rail position percentage
- id: set_lower_rail_position
  label: Set Lower Rail Position
  kind: action
  params:
    - name: position
      type: integer
      description: Lower rail position percentage
- id: raise_upper_rail
  label: Raise Upper Rail
  kind: action
  params: []
- id: lower_upper_rail
  label: Lower Upper Rail
  kind: action
  params: []
- id: raise_lower_rail
  label: Raise Lower Rail
  kind: action
  params: []
- id: lower_lower_rail
  label: Lower Lower Rail
  kind: action
  params: []
# SheerBlackoutDuo
- id: set_blackout_position
  label: Set Blackout Position
  kind: action
  params:
    - name: position
      type: integer
      description: Blackout shade position 0-100
- id: set_sheer_position
  label: Set Sheer Position
  kind: action
  params:
    - name: position
      type: integer
      description: Sheer shade position 0-100
- id: turn_on
  label: Turn On
  kind: action
  params: []
- id: turn_off
  label: Turn Off
  kind: action
  params: []
- id: toggle_power
  label: Toggle Power
  kind: action
  params: []
- id: set_timer
  label: Set Timer
  kind: action
  params:
    - name: s
      type: integer
- id: set_speed
  label: Set Speed
  kind: action
  params:
    - name: speed
      type: integer
- id: increase_speed
  label: Increase Speed
  kind: action
  params:
    - name: speeds
      type: integer
- id: decrease_speed
  label: Decrease Speed
  kind: action
  params:
    - name: speeds
      type: integer
- id: breeze_on
  label: Breeze On
  kind: action
  params: []
- id: breeze_off
  label: Breeze Off
  kind: action
  params: []
- id: set_breeze
  label: Set Breeze
  kind: action
  params:
    - name: breeze
      type: array
- id: set_direction
  label: Set Direction
  kind: action
  params:
    - name: direction
      type: integer
- id: toggle_direction
  label: Toggle Direction
  kind: action
  params: []
- id: turn_light_on
  label: Turn Light On
  kind: action
  params: []
- id: turn_light_off
  label: Turn Light Off
  kind: action
  params: []
- id: toggle_light
  label: Toggle Light
  kind: action
  params: []
- id: turn_up_light_on
  label: Turn Up Light On
  kind: action
  params: []
- id: turn_down_light_on
  label: Turn Down Light On
  kind: action
  params: []
- id: turn_up_light_off
  label: Turn Up Light Off
  kind: action
  params: []
- id: turn_down_light_off
  label: Turn Down Light Off
  kind: action
  params: []
- id: toggle_up_light
  label: Toggle Up Light
  kind: action
  params: []
- id: toggle_down_light
  label: Toggle Down Light
  kind: action
  params: []
- id: set_brightness
  label: Set Brightness
  kind: action
  params:
    - name: brightness
      type: integer
- id: increase_brightness
  label: Increase Brightness
  kind: action
  params:
    - name: amount
      type: integer
- id: decrease_brightness
  label: Decrease Brightness
  kind: action
  params:
    - name: amount
      type: integer
- id: cycle_brightness
  label: Cycle Brightness
  kind: action
  params:
    - name: amount
      type: integer
- id: set_up_light_brightness
  label: Set Up Light Brightness
  kind: action
  params:
    - name: brightness
      type: integer
- id: set_down_light_brightness
  label: Set Down Light Brightness
  kind: action
  params:
    - name: brightness
      type: integer
- id: increase_up_light_brightness
  label: Increase Up Light Brightness
  kind: action
  params:
    - name: amount
      type: integer
- id: increase_down_light_brightness
  label: Increase Down Light Brightness
  kind: action
  params:
    - name: amount
      type: integer
- id: decrease_up_light_brightness
  label: Decrease Up Light Brightness
  kind: action
  params:
    - name: amount
      type: integer
- id: decrease_down_light_brightness
  label: Decrease Down Light Brightness
  kind: action
  params:
    - name: amount
      type: integer
- id: set_color_temp
  label: Set Color Temp
  kind: action
  params:
    - name: color_temp
      type: integer
- id: increase_color_temp
  label: Increase Color Temp
  kind: action
  params:
    - name: amount
      type: integer
- id: decrease_color_temp
  label: Decrease Color Temp
  kind: action
  params:
    - name: amount
      type: integer
- id: cycle_color_temp
  label: Cycle Color Temp
  kind: action
  params:
    - name: amount
      type: integer
- id: cycle_color_temp_preset
  label: Cycle Color Temp Preset
  kind: action
  params: []
- id: set_hsv
  label: Set HSV
  kind: action
  params:
    - name: h
      type: integer
    - name: s
      type: integer
    - name: v
      type: integer
- id: cycle_color_preset
  label: Cycle Color Preset
  kind: action
  params: []
- id: cycle_color
  label: Cycle Color
  kind: action
  params:
    - name: amount
      type: integer
- id: set_flame
  label: Set Flame
  kind: action
  params:
    - name: flame
      type: integer
- id: increase_flame
  label: Increase Flame
  kind: action
  params:
    - name: flame
      type: integer
- id: decrease_flame
  label: Decrease Flame
  kind: action
  params:
    - name: flame
      type: integer
- id: set_heat
  label: Set Heat
  kind: action
  params:
    - name: heat
      type: integer
- id: increase_heat
  label: Increase Heat
  kind: action
  params:
    - name: heat
      type: integer
- id: decrease_heat
  label: Decrease Heat
  kind: action
  params:
    - name: heat
      type: integer
- id: heat_preset_next
  label: Heat Preset Next
  kind: action
  params: []
- id: heat_preset_prev
  label: Heat Preset Prev
  kind: action
  params: []
- id: turn_fp_fan_on
  label: Turn Fp Fan On
  kind: action
  params: []
- id: turn_fp_fan_off
  label: Turn Fp Fan Off
  kind: action
  params: []
- id: set_fp_fan
  label: Set Fp Fan
  kind: action
  params:
    - name: speed
      type: integer
- id: pair
  label: Pair
  kind: action
  params: []
- id: unpair
  label: Unpair
  kind: action
  params: []
- id: unpair_self
  label: Unpair Self
  kind: action
  params: []
- id: start_dimmer
  label: Start Dimmer
  kind: action
  params: []
- id: start_up_light_dimmer
  label: Start Up Light Dimmer
  kind: action
  params: []
- id: start_down_light_dimmer
  label: Start Down Light Dimmer
  kind: action
  params: []
- id: start_increasing_brightness
  label: Start Increasing Brightness
  kind: action
  params: []
- id: start_decreasing_brightness
  label: Start Decreasing Brightness
  kind: action
  params: []

Feedbacks

- id: device_state
  type: object
  properties:
    - name: power
      type: integer
      values: [0, 1]
    - name: speed
      type: integer
    - name: brightness
      type: integer
      range: [1, 100]
    - name: light
      type: integer
      values: [0, 1]
    - name: open
      type: integer
      values: [0, 1]
    - name: position
      type: integer
      range: [0, 100]
    - name: tilt_position
      type: integer
    - name: breeze
      type: array
    - name: timer
      type: integer

Variables

- id: position
  type: integer
  range: [0, 100]
  description: Shade position (0=retracted, 100=extended)
- id: tilt_position
  type: integer
  description: Tilt angle in degrees
- id: open
  type: enum
  values: [0, 1]
  description: Open state (1=open, 0=closed)
- id: upper_rail_position
  type: integer
  range: [0, 100]
  description: TDBU upper rail position
- id: lower_rail_position
  type: integer
  range: [0, 100]
  description: TDBU lower rail position
- id: blackout_position
  type: integer
  range: [0, 100]
  description: SheerBlackoutDuo blackout position
- id: sheer_position
  type: integer
  range: [0, 100]
  description: SheerBlackoutDuo sheer position
- id: course_time
  type: integer
  description: Milliseconds for full open/close, -1=unconfigured
- id: open_raises
  type: boolean
  description: Whether Open action raises the shade
- id: open_retracts
  type: boolean
  description: Whether Open action retracts the shade
- id: min_tilt
  type: integer
  description: Minimum tilt degrees (default 0)
- id: max_tilt
  type: integer
  description: Maximum tilt degrees (default 90)

Events

# BPUP push updates - device state changes published to UDP port 30007
- id: bpup_state_update
  type: object
  description: Unsolicited device state update via BPUP UDP protocol

Macros

# Scene execution
- id: run_scene
  label: Run Scene
  params:
    - name: scene_id
      type: string

Safety

confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source

Notes

Device discovery via mDNS: ping BB18038.local or avahi-browse -a | grep bond. Token obtained from /v2/token endpoint (valid 10 minutes after power cycle). BPUP keep-alive required every 60 seconds; Bond stops sending after 125 seconds without keep-alive. Action endpoints block up to 7 seconds for confirmation.

Provenance

source_domains:
  - docs-local.appbond.com
  - tech.bndh.io
source_urls:
  - https://docs-local.appbond.com
  - https://tech.bndh.io/technical/hex-codes
  - https://tech.bndh.io/technical/ethernet
retrieved_at: 2026-04-29T13:04:25.772Z
last_checked_at: 2026-06-03T06:25:32.799Z

Verification Summary

verdict: verified
checked_at: 2026-06-03T06:25:32.799Z
matched_actions: 81
action_count: 81
confidence: medium
summary: "Perfect match: all 81 actions cross-checked against source feature sections (5 unresolved item(s) noted in Known Gaps.)"

Known Gaps

- "port 80 assumed for HTTP; source uses http:// URLs without explicit port declaration"
- "no safety warnings or interlock procedures in source"
- "HTTP port number not explicitly stated; UNRESOLVED: firmware version compatibility not stated"
- "voltage/power specs not applicable to hub device"
- "exact error recovery sequences not documented in source"

From the AI4AV catalog (https://ai4av.net) · ODbL-1.0