Callback registered with the App via App.onReachableDevices to discover additional devices connected to a proxy or hub.

When a device that is discovered by the IdentifyHandler is a proxy which enables indirect access to other devices (identified by the isProxy flag in the IdentifyResponse), the local home platform sends a REACHABLE_DEVICES intent to discover the additional devices visible to the proxy.

To learn more about how the platform verifies reachable devices, see the developer guide.

const devicesHandler = (request: IntentFlow.ReachableDevicesRequest):
  IntentFlow.ReachableDevicesResponse => {

    // Reference to the local proxy device
    const proxyDevice = request.inputs[0].payload.device.proxyDevice;

    // Query local proxy device for additional visible ids
    // ...
    const reachableDevices = [
      // Each verificationId must match one of the otherDeviceIds
      // in the SYNC response
      { verificationId: "local-device-id-1" },
      { verificationId: "local-device-id-2" },
    ];

    // Return a response
    const response: IntentFlow.ReachableDevicesResponse = {
      intent: Intents.REACHABLE_DEVICES,
      requestId: request.requestId,
      payload: {
        devices: reachableDevices,
      },
    };
    return response;
  };

Callable

  • __call(request: ReachableDevicesRequest): Promise<ReachableDevicesResponse> | ReachableDevicesResponse
  • Callback registered with the App via App.onReachableDevices to discover additional devices connected to a proxy or hub.

    When a device that is discovered by the IdentifyHandler is a proxy which enables indirect access to other devices (identified by the isProxy flag in the IdentifyResponse), the local home platform sends a REACHABLE_DEVICES intent to discover the additional devices visible to the proxy.

    To learn more about how the platform verifies reachable devices, see the developer guide.

    const devicesHandler = (request: IntentFlow.ReachableDevicesRequest):
      IntentFlow.ReachableDevicesResponse => {
    
        // Reference to the local proxy device
        const proxyDevice = request.inputs[0].payload.device.proxyDevice;
    
        // Query local proxy device for additional visible ids
        // ...
        const reachableDevices = [
          // Each verificationId must match one of the otherDeviceIds
          // in the SYNC response
          { verificationId: "local-device-id-1" },
          { verificationId: "local-device-id-2" },
        ];
    
        // Return a response
        const response: IntentFlow.ReachableDevicesResponse = {
          intent: Intents.REACHABLE_DEVICES,
          requestId: request.requestId,
          payload: {
            devices: reachableDevices,
          },
        };
        return response;
      };

    Parameters

    Returns Promise<ReachableDevicesResponse> | ReachableDevicesResponse