Esempio n. 1
0
async def instance_start_and_switch():
    """Wait for an instance to start."""

    instance_ready = asyncio.Event()

    def instance_update(json):
        print("receive json %s", json)
        for data in json["data"]:
            if data["instance"] == 1 and data["running"]:
                instance_ready.set()

    hc = client.HyperionClient(HOST,
                               callbacks={"instance-update": instance_update})

    if not await hc.async_client_connect():
        logging.error("Could not connect to: %s", HOST)
        return

    if not client.ResponseOK(await hc.async_start_instance(instance=1)):
        logging.error("Could not start instance on: %s", HOST)
        return

    # Blocks waiting for the instance to start.
    await instance_ready.wait()

    if not client.ResponseOK(await hc.async_switch_instance(instance=1)):
        logging.error("Could not switch instance on: %s", HOST)
        return
    await hc.async_client_disconnect()
Esempio n. 2
0
async def print_brightness():
    """Print Hyperion brightness."""

    hyperion_client = client.HyperionClient(HOST)
    if not await hyperion_client.async_client_connect():
        return
    print("Brightness: %i%%" % hyperion_client.adjustment[0][const.KEY_BRIGHTNESS])
Esempio n. 3
0
async def print_if_auth_required():
    """Print whether auth is required."""

    hc = client.HyperionClient(HOST)
    await hc.async_client_connect()

    result = await hc.async_is_auth_required()
    print("Result: %s" % result)
Esempio n. 4
0
async def async_setup_platform(hass,
                               config,
                               async_add_entities,
                               discovery_info=None):
    """Set up a Hyperion server remote."""
    name = config[CONF_NAME]
    host = config[CONF_HOST]
    port = config[CONF_PORT]
    priority = config[CONF_PRIORITY]

    hyperion_client = client.HyperionClient(host, port)

    if not await hyperion_client.async_client_connect():
        raise PlatformNotReady

    async_add_entities([Hyperion(name, priority, hyperion_client)])
def create_hyperion_client(
    *args: Any,
    **kwargs: Any,
) -> client.HyperionClient:
    """Create a Hyperion Client."""
    return client.HyperionClient(*args, **kwargs)
Esempio n. 6
0
#!/usr/bin/python
"""Simple Hyperion client callback demonstration."""

import asyncio
from hyperion import client

HOST = "hyperion"


def callback(json):
    """Sample callback function."""

    print("Received Hyperion callback: %s" % json)


if __name__ == "__main__":
    hyperion_client = client.HyperionClient(HOST, default_callback=callback)
    asyncio.get_event_loop().run_until_complete(
        hyperion_client.async_client_connect())
    asyncio.get_event_loop().run_forever()