Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
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)
Beispiel #6
0
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)
Beispiel #7
0
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
Beispiel #8
0
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)
Beispiel #9
0
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
Beispiel #10
0
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
Beispiel #11
0
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']
Beispiel #12
0
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"]