Skip to main content

pyhomecast

Async Python client for the Homecast REST API.

Installation

pip install pyhomecast

Usage

import aiohttp
from pyhomecast import HomecastClient

async with aiohttp.ClientSession() as session:
    client = HomecastClient(session)
    client.authenticate("your_access_token")

    # Get all device state
    state = await client.get_state()
    for device in state.devices.values():
        print(f"{device.name} ({device.device_type}): {device.state}")

    # Control a device
    await client.set_state({
        "my_home_0bf8": {
            "living_room_a1b2": {
                "ceiling_light_c3d4": {"on": True, "brightness": 80}
            }
        }
    })

    # Run a scene
    await client.run_scene("my_home_0bf8", "Good Morning")

API

HomecastClient(session, api_url="https://api.homecast.cloud")

  • authenticate(token) - Set the Bearer token
  • get_state(home?, room?, device_type?, name?) - Fetch device state (returns HomecastState)
  • set_state(updates) - Control devices
  • run_scene(home, name) - Execute a scene

Models

  • HomecastState - Contains devices and homes dicts
  • HomecastDevice - Single device with state, settable, device_type
  • HomecastHome - Home with key and name

Exceptions

  • HomecastError - Base exception
  • HomecastAuthError - 401/403 errors
  • HomecastConnectionError - Network/server errors

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhomecast-0.3.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyhomecast-0.3.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file pyhomecast-0.3.0.tar.gz.

File metadata

  • Download URL: pyhomecast-0.3.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyhomecast-0.3.0.tar.gz
Algorithm Hash digest
SHA256 619e593983af0c58ffd88d9193e4e8f199759726b5a68cb463f34e9a68758eb7
MD5 3a5817ed75f1f20e34ef184ac4500327
BLAKE2b-256 6927540e3ad985cfc7048298bef0152bb40cd7f6fa2b550c76dade535a389923

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhomecast-0.3.0.tar.gz:

Publisher: python-package.yml on parob/pyhomecast

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhomecast-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pyhomecast-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyhomecast-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa49cbd54ff475495f65d6d07a2df5c0906d036d0343459355f241985fa5b95
MD5 4f6cac1256501414a507555393ce3fae
BLAKE2b-256 50b44646069a59f88257591c8dfb852d581eefc7b1c5d616bfe6563c1fa9121e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhomecast-0.3.0-py3-none-any.whl:

Publisher: python-package.yml on parob/pyhomecast

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page