Example #1
0
def get_devices_from_response_dict(response_dict, filter_key):
    """
    :rtype: list of WinkDevice
    """
    items = response_dict.get('data')

    devices = []

    keys = DEVICE_ID_KEYS.values()
    if filter_key:
        keys = [filter_key]

    api_interface = WinkApiInterface()

    for item in items:
        for key in keys:
            if not __device_is_visible(item, key):
                continue

            if key == "powerstrip_id":
                devices.extend(
                    __get_outlets_from_powerstrip(item, api_interface))
                continue  # Don't capture the powerstrip itself as a device, only the individual outlets

            if key == "sensor_pod_id":
                subsensors = _get_subsensors_from_sensor_pod(
                    item, api_interface)
                if subsensors:
                    devices.extend(subsensors)

            devices.append(build_device(item, api_interface))

    return devices
Example #2
0
def get_devices_from_response_dict(response_dict, filter_key):
    """
    :rtype: list of WinkDevice
    """
    items = response_dict.get('data')

    devices = []

    keys = DEVICE_ID_KEYS.values()
    if filter_key:
        keys = [filter_key]

    api_interface = WinkApiInterface()

    for item in items:
        for key in keys:
            if not __device_is_visible(item, key):
                continue

            if key == "powerstrip_id":
                devices.extend(__get_outlets_from_powerstrip(item, api_interface))
                continue  # Don't capture the powerstrip itself as a device, only the individual outlets

            if key == "sensor_pod_id":
                subsensors = _get_subsensors_from_sensor_pod(item, api_interface)
                if subsensors:
                    devices.extend(subsensors)

            devices.append(build_device(item, api_interface))

    return devices
Example #3
0
def __get_outlets_from_powerstrip(item, api_interface):
    outlets = item['outlets']
    for outlet in outlets:
        if 'subscription' in item:
            outlet['subscription'] = item['subscription']
        outlet['last_reading']['connection'] = item['last_reading']['connection']
    return [build_device(outlet, api_interface) for outlet in outlets if __device_is_visible(outlet, 'outlet_id')]
Example #4
0
def get_devices_from_response_dict(response_dict, filter_key):
    """
    :rtype: list of WinkDevice
    """
    items = response_dict.get('data')

    devices = []

    api_interface = WinkApiInterface()

    keys = ['powerstrip_id', 'sensor_pod_id', 'piggy_bank_id',
            'smoke_detector_id', 'hub_id']

    for item in items:
        if item.get(filter_key, None) is None:
            continue
        elif not __device_is_visible(item, filter_key):
            continue
        elif filter_key in keys:
            devices.extend(__get_outlets_from_powerstrip(item, api_interface, filter_key))
            devices.extend(__get_subsensors_from_sensor_pod(item, api_interface, filter_key))
            devices.extend(__get_devices_from_piggy_bank(item, api_interface, filter_key))
            devices.extend(__get_subsensors_from_smoke_detector(item, api_interface, filter_key))
            devices.extend(__get_sensor_from_hub(item, api_interface, filter_key))
        else:
            devices.append(build_device(item, api_interface))

    return devices
Example #5
0
def __get_outlets_from_powerstrip(item, api_interface, filter_key):
    if filter_key != 'powerstrip_id':
        return []
    outlets = item['outlets']
    for outlet in outlets:
        if 'subscription' in item:
            outlet['subscription'] = item['subscription']
        outlet['last_reading']['connection'] = item['last_reading'][
            'connection']
    return [
        build_device(outlet, api_interface) for outlet in outlets
        if __device_is_visible(outlet, 'outlet_id')
    ]
Example #6
0
def get_devices_from_response_dict(response_dict, device_type):
    """
    :rtype: list of WinkDevice
    """
    items = response_dict.get('data')

    devices = []

    api_interface = WinkApiInterface()

    for item in items:
        if item.get("object_type") in device_type:
            _devices = build_device(item, api_interface)
            for device in _devices:
                devices.append(device)

    return devices
Example #7
0
def get_devices_from_response_dict(response_dict, filter_key):
    """
    :rtype: list of WinkDevice
    """
    items = response_dict.get('data')

    devices = []

    api_interface = WinkApiInterface()

    keys = [
        'powerstrip_id', 'sensor_pod_id', 'piggy_bank_id', 'smoke_detector_id',
        'hub_id'
    ]

    for item in items:
        if item.get(filter_key, None) is None:
            continue
        elif not __device_is_visible(item, filter_key):
            continue
        elif filter_key in keys:
            devices.extend(
                __get_outlets_from_powerstrip(item, api_interface, filter_key))
            devices.extend(
                __get_subsensors_from_sensor_pod(item, api_interface,
                                                 filter_key))
            devices.extend(
                __get_devices_from_piggy_bank(item, api_interface, filter_key))
            devices.extend(
                __get_subsensors_from_smoke_detector(item, api_interface,
                                                     filter_key))
            devices.extend(
                __get_sensor_from_hub(item, api_interface, filter_key))
        else:
            devices.append(build_device(item, api_interface))

    return devices
Example #8
0
def __get_outlets_from_powerstrip(item, api_interface):
    outlets = item['outlets']
    return [build_device(outlet, api_interface) for outlet in outlets if __device_is_visible(outlet, 'outlet_id')]
Example #9
0
def __get_outlets_from_powerstrip(item, api_interface):
    outlets = item['outlets']
    return [
        build_device(outlet, api_interface) for outlet in outlets
        if __device_is_visible(outlet, 'outlet_id')
    ]