Search in sources :

Example 16 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class ConnectExamples method setResourceValue.

/**
 * Sets a resource value.
 */
@SuppressWarnings("boxing")
@Example
public void setResourceValue() {
    ConnectionOptions config = Configuration.get();
    Connect api = new Connect(config);
    // writable resource path to set a value to
    String resourcePath = "/5001/0/1";
    try {
        // Getting a connected device.
        DeviceListOptions options = new DeviceListOptions();
        options.setLimit(1);
        Paginator<Device> deviceIterator = api.listAllConnectedDevices(options);
        if (!deviceIterator.hasNext()) {
            fail("No endpoints registered. Aborting.");
        }
        Device device = deviceIterator.next();
        log("Device", device);
        Resource resourceToConsider = api.getResource(device, resourcePath);
        log("Resource of interest", resourceToConsider);
        if (resourceToConsider == null) {
            fail("The resource of interest does not exist on this device");
        }
        // Getting resource value
        Object value = api.getResourceValue(resourceToConsider, new TimePeriod(10));
        log("Current resource value", value);
        // Setting a new resource value
        api.setResourceValue(resourceToConsider, "10", new TimePeriod(10));
        // Getting the modified resource value
        value = api.getResourceValue(resourceToConsider, new TimePeriod(10));
        log("Newly set resource value", value);
        // Stopping potential daemons running
        api.stopNotifications();
        api.shutdownConnectService();
    } catch (Exception e) {
        e.printStackTrace();
        logError("last API Metadata", api.getLastApiMetadata());
        try {
            api.stopNotifications();
        } catch (MbedCloudException e1) {
            e1.printStackTrace();
        }
        api.shutdownConnectService();
        fail(e.getMessage());
    }
}
Also used : MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) TimePeriod(com.arm.mbed.cloud.sdk.common.TimePeriod) Connect(com.arm.mbed.cloud.sdk.Connect) Resource(com.arm.mbed.cloud.sdk.connect.model.Resource) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) DeviceListOptions(com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Example 17 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class ConnectExamples method listDeviceResources.

/**
 * Lists device resources.
 */
@Example
public void listDeviceResources() {
    ConnectionOptions config = Configuration.get();
    Connect api = new Connect(config);
    try {
        // Getting a connected device.
        DeviceListOptions options = new DeviceListOptions();
        options.setLimit(Integer.valueOf(1));
        Paginator<Device> deviceIterator = api.listAllConnectedDevices(options);
        if (!deviceIterator.hasNext()) {
            fail("No endpoints registered. Aborting.");
        }
        Device device = deviceIterator.first();
        log("Device", device);
        // Listing all device's resource.
        List<Resource> resources = api.listResources(device);
        for (Resource resource : resources) {
            log("Resource present on device", resource);
        }
    } catch (Exception e) {
        logError("last API Metadata", api.getLastApiMetadata());
        fail(e.getMessage());
    }
}
Also used : Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) Connect(com.arm.mbed.cloud.sdk.Connect) Resource(com.arm.mbed.cloud.sdk.connect.model.Resource) ConnectionOptions(com.arm.mbed.cloud.sdk.common.ConnectionOptions) DeviceListOptions(com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions) MbedCloudException(com.arm.mbed.cloud.sdk.common.MbedCloudException) AbstractExample(utils.AbstractExample) Example(utils.Example)

Example 18 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class DeviceStateFilterOptions method addNotInDevicesFilter.

/**
 * Adds a "Not in" filter related to devices.
 *
 * @param devices
 *            devices to consider.
 */
public void addNotInDevicesFilter(@NonNull List<Device> devices) {
    if (devices == null) {
        return;
    }
    final List<String> values = new LinkedList<>();
    for (final Device device : devices) {
        values.add(device.getId());
    }
    addNotInDeviceFilter(values);
}
Also used : Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) LinkedList(java.util.LinkedList)

Example 19 with Device

use of com.arm.mbed.cloud.sdk.devicedirectory.model.Device in project mbed-cloud-sdk-java by ARMmbed.

the class DeviceStateFilterOptions method addInDevicesFilter.

/**
 * Adds an "In" filter related to devices.
 *
 * @param devices
 *            devices to consider.
 */
public void addInDevicesFilter(@NonNull List<Device> devices) {
    if (devices == null) {
        return;
    }
    final List<String> values = new LinkedList<>();
    for (final Device device : devices) {
        values.add(device.getId());
    }
    addInDeviceFilter(values);
}
Also used : Device(com.arm.mbed.cloud.sdk.devicedirectory.model.Device) LinkedList(java.util.LinkedList)

Aggregations

Device (com.arm.mbed.cloud.sdk.devicedirectory.model.Device)19 ConnectionOptions (com.arm.mbed.cloud.sdk.common.ConnectionOptions)12 MbedCloudException (com.arm.mbed.cloud.sdk.common.MbedCloudException)12 AbstractExample (utils.AbstractExample)12 Example (utils.Example)12 DeviceListOptions (com.arm.mbed.cloud.sdk.devicedirectory.model.DeviceListOptions)10 Connect (com.arm.mbed.cloud.sdk.Connect)8 Resource (com.arm.mbed.cloud.sdk.connect.model.Resource)7 DeviceDirectory (com.arm.mbed.cloud.sdk.DeviceDirectory)4 API (com.arm.mbed.cloud.sdk.annotations.API)4 LinkedList (java.util.LinkedList)4 Nullable (com.arm.mbed.cloud.sdk.annotations.Nullable)3 CloudCall (com.arm.mbed.cloud.sdk.common.CloudCaller.CloudCall)2 TimePeriod (com.arm.mbed.cloud.sdk.common.TimePeriod)2 DeviceData (com.arm.mbed.cloud.sdk.internal.devicedirectory.model.DeviceData)2 Call (retrofit2.Call)2 Callback (com.arm.mbed.cloud.sdk.common.Callback)1 Presubscription (com.arm.mbed.cloud.sdk.connect.model.Presubscription)1 Subscription (com.arm.mbed.cloud.sdk.connect.model.Subscription)1 Webhook (com.arm.mbed.cloud.sdk.connect.model.Webhook)1