Skip to main content

HomeAssistant WS wrapper library

Project description

hass-client

Home Assistant async API wrapper

API Documentation

Example Usage:

from hass_ws import HassWS

async def main():
    client = await HassWS("wss://server.hass", "token")

    print(await client.fetch_states()) # Displays all HASS states
    print(await client.call_service("light", "turn_on")) # Turns on all lights
    async with client.listen_event(type="call_service") as listener:
        async for i in listener:
            print(i)

    await client.close()

HassWS Interface:

await HassWS(server: str, token: str)
  • server: Required, str. Base server URL of HASS instance, including wss:// or ws:// protocol specifier.
  • token: Required, str. Long-lived HASS access token.

Properties/Members:

  • HassWS().ready: Boolean value, True if the client is ready to send commands.
  • HassWS().meta: HassMeta, server metadata. None if not connected.

Methods:

  • await HassWS().close(): Closes the currently active connection. To reconnect, call await HassWS().authenticate()
  • await HassWS().fetch_states() -> HassEntity[]: Returns current states of all entities.
  • await HassWS().fetch_config() -> HassConfig: Returns current server config
  • await HassWS().fetch_services() -> {domain: {service: HassService}}: Returns all available services
  • await HassWS().fetch_panels() -> {name: HassPanel}: Returns all UI panels
  • await HassWS().call_service(domain: str, service: str, target: HassServiceTarget = {}, data: dict = {}) -> bool: Calls a service, returning boolean success value.
  • async with HassWS().listen_event(type: str = None) -> AsyncIterator: Subscribes to an event (or all events, if type = None), and returns an asynchronous iterator for them.

Project details


Download files

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

Source Distribution

hass_websocket_client-0.2.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

hass_websocket_client-0.2.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file hass_websocket_client-0.2.0.tar.gz.

File metadata

  • Download URL: hass_websocket_client-0.2.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.12.1 Linux/6.2.0-1018-azure

File hashes

Hashes for hass_websocket_client-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d5152107b940953d574404df690e8fbc8bc10151332101ad6a903ad3a11a3c17
MD5 c371228e31a91fc880c0bd28d3ffa2b4
BLAKE2b-256 60deedc066649ca7af720cc5c706f9163ccbd162d26ab9d10b7a09735960658f

See more details on using hashes here.

File details

Details for the file hass_websocket_client-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hass_websocket_client-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97aa52b332c3e554783d64ad362fb662c3826ce30575fc0a82a91498547176b4
MD5 7f6b0b818f9881e7f223df4a6061d686
BLAKE2b-256 9359b3ae2989ebf8eebf0962eb954f13ab9be118dda2a802e76483837d9d9d8b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page