def handle_color_controller(request): endpoint_id = request["directive"]["endpoint"]["endpointId"] value = request["directive"]["payload"]["color"] api.set_color(endpoint_id, value) response = Response(ResponseName.RESPONSE) response.add_context(ContextName.COLOR, value) response.add_correlation_token( request["directive"]["header"]["correlationToken"]) response.add_endpoint(endpoint_id) return response
def handle_power_controller(request): request_name = request["directive"]["header"]["name"] endpoint_id = request["directive"]["endpoint"]["endpointId"] value = "ON" if request_name == "TurnOn" else "OFF" api.set_power_state(endpoint_id, value) response = Response(ResponseName.RESPONSE) response.add_context(ContextName.POWER_STATE, value) response.add_correlation_token( request["directive"]["header"]["correlationToken"]) response.add_endpoint(endpoint_id) return response
def handle_state_request(request): endpoint_id = request["directive"]["endpoint"]["endpointId"] value = api.get_connectivity(endpoint_id) api.update_state() response = Response(ResponseName.STATE_REPORT) response.add_endpoint(endpoint_id) response.add_context(ContextName.CONNECTIVITY, {"value": value}) if value == "OK": response.add_context(ContextName.POWER_STATE, api.get_power_state(endpoint_id)) response.add_context(ContextName.COLOR, api.get_color(endpoint_id)) return response