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
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
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')]
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
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') ]
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
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
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')]
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') ]