def turn_on(ap): req = { "header": { "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688", "name": "TurnOnRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2", }, "payload": {"accessToken": "", "appliance": to_appliance(ap)}, } return haaska.event_handler(req, None)
def set_percentage(ap, percentage): req = { "header": { "messageId": "95872301-4ff6-4146-b3a4-ae84c760c13e", "name": "SetPercentageRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2", }, "payload": {"accessToken": "", "appliance": to_appliance(ap), "percentageState": {"value": percentage}}, } return haaska.event_handler(req, None)
def turn_on(ap): req = { "header": { "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688", "name": "TurnOnRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2" }, "payload": { "accessToken": "", "appliance": to_appliance(ap) } } return haaska.event_handler(req, None)
def brighten_light(ap, val): req = { "header": { "messageId": "7048c18d-4141-4871-bf0e-da3e54dee3f7", "name": "IncrementPercentageRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2", }, "payload": { "accessToken": "[OAuth Token here]", "appliance": to_appliance(ap), "deltaPercentage": {"value": val}, }, } return haaska.event_handler(req, None)
def brighten_light(ap, val): req = { "header": { "messageId": "7048c18d-4141-4871-bf0e-da3e54dee3f7", "name": "IncrementPercentageRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2" }, "payload": { "accessToken": "[OAuth Token here]", "appliance": to_appliance(ap), "deltaPercentage": { "value": val } } } return haaska.event_handler(req, None)
def set_percentage(ap, percentage): req = { "header": { "messageId": "95872301-4ff6-4146-b3a4-ae84c760c13e", "name": "SetPercentageRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2" }, "payload": { "accessToken": "", "appliance": to_appliance(ap), "percentageState": { "value": percentage } } } return haaska.event_handler(req, None)
def turn_on(ap): req = { "header": { "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688", "name": "TurnOnRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2" }, "payload": { "accessToken": "", "appliance": to_appliance(ap) } } resp = haaska.event_handler(req, None) if resp['header']['name'] != 'TurnOnConfirmation': raise UnexpectedResponseException return resp
def lower_target_temperature(ap, temperature): req = { "header": { "messageId": "95872301-4ff6-4146-b3a4-ae84c760c140", "name": "DecrementTargetTemperatureRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2" }, "payload": { "accessToken": "[OAuth Token here]", "appliance": to_appliance(ap), "deltaTemperature": { "value": temperature } } } return haaska.event_handler(req, None)
def get_temperature_reading(ap): req = { "header": { "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894689", "name": "GetTemperatureReadingRequest", "namespace": "Alexa.ConnectedHome.Query", "payloadVersion": "2" }, "payload": { "accessToken": "[OAuth Token here]", "appliance": to_appliance(ap), } } resp = haaska.event_handler(req, None) if resp['header']['name'] != 'GetTemperatureReadingResponse': raise UnexpectedResponseException return resp
def set_lock_state(ap, locked): req = { "header": { "messageId": "01ebf625-0b89-4c4d-b3aa-32340e894688", "name": "SetLockStateRequest", "namespace": "Alexa.ConnectedHome.Control", "payloadVersion": "2" }, "payload": { "accessToken": "[OAuth Token here]", "appliance": to_appliance(ap), "lockState": "LOCKED" if locked else "UNLOCKED" } } resp = haaska.event_handler(req, None) if resp['header']['name'] != 'SetLockStateConfirmation': raise UnexpectedResponseException return resp
def discover_appliance_request(): return { "header": { "messageId": "6d6d6e14-8aee-473e-8c24-0d31ff9c17a2", "name": "DiscoverAppliancesRequest", "namespace": "Alexa.ConnectedHome.Discovery", "payloadVersion": "2" }, "payload": { "accessToken": "" } } discovery = haaska.event_handler(discover_appliance_request(), None) appliances = discovery['payload']['discoveredAppliances'] def test_discovery_header(): assert discovery['header']['namespace'] == 'Alexa.ConnectedHome.Discovery' assert discovery['header']['name'] == 'DiscoverAppliancesResponse' def test_reachable(): for ap in appliances: assert ap['isReachable'] def get_state(ap): entity_id = ap['additionalApplianceDetails']['entity_id']
import haaska def discover_appliance_request(): return { "header": { "messageId": "6d6d6e14-8aee-473e-8c24-0d31ff9c17a2", "name": "DiscoverAppliancesRequest", "namespace": "Alexa.ConnectedHome.Discovery", "payloadVersion": "2", }, "payload": {"accessToken": ""}, } discovery = haaska.event_handler(discover_appliance_request(), None) appliances = discovery["payload"]["discoveredAppliances"] def test_discovery_header(): assert discovery["header"]["namespace"] == "Alexa.ConnectedHome.Discovery" assert discovery["header"]["name"] == "DiscoverAppliancesResponse" def test_reachable(): for ap in appliances: assert ap["isReachable"] def get_state(ap): entity_id = ap["additionalApplianceDetails"]["entity_id"]