Skip to main content

Integration of Raumfeld into Home Assistant

Project description

Language grade Python

hassfeld is a module primarily aimed to integrated Teufel Smart Speaker (aka Raumfeld Multiroom) into https://www.home-assistant.io/. However, the design is not tailored to Home Assistant and can be used as a module to any Pyhton program to control the Teufel Smart Speaker. The module also provides corresponding asyncio methods.

Look how it is to use with asyncrhonous I/O:

import asyncio
import aiohttp
import hassfeld


async def main():
    host = "teufel-host.example.com"
    port = 47365
    session = aiohttp.ClientSession()
    raumfeld = hassfeld.RaumfeldHost(host, port, session=session)

    asyncio.create_task(raumfeld.async_update_all(session))
    await raumfeld.async_wait_initial_update()

    zone = ["Master Bedroom"]

    media_info = await raumfeld.async_get_media_info(zone)
    print(f"Media info: {media_info}")

    await session.close()


asyncio.run(main())

The use with blocking I/O was supported too but is currently broken:

import hassfeld
raumfeld_host = "teufel-host.example.com"
zone = [ "Living room", "Kitchen" ]
raumfeld = hassfeld.RaumfeldHost(raumfeld_host)
raumfeld.start_update_thread()
raumfeld.search_and_zone_play(zone, 'raumfeld:any contains "Like a Rolling Stone"')

Features

  • Management and snapshot of zones.

  • Search and play songs.

Install hassfeld by running:

python3 -m pip install hassfeld

Contribute

License

The project is licensed under the GNU General Public License v3 (GPLv3).

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

hassfeld-0.3.13a2.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

hassfeld-0.3.13a2-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file hassfeld-0.3.13a2.tar.gz.

File metadata

  • Download URL: hassfeld-0.3.13a2.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for hassfeld-0.3.13a2.tar.gz
Algorithm Hash digest
SHA256 32072d293b585db567430e8fa3523ea49945a91e844158b1033fe91e34cea3ac
MD5 6e6ecae1969993e3cd32da22a7a119de
BLAKE2b-256 11cacfe3be2938680be4e91d908064e35e5bd7e438569d861ca4eddd3c14c9e5

See more details on using hashes here.

File details

Details for the file hassfeld-0.3.13a2-py3-none-any.whl.

File metadata

  • Download URL: hassfeld-0.3.13a2-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for hassfeld-0.3.13a2-py3-none-any.whl
Algorithm Hash digest
SHA256 4aa3adca095d6aa45fd3f23f260530e408f5e64b7f1eb2daebef494aeba2c4f9
MD5 3676a2f7b98c7a2a2745a316f4e5deea
BLAKE2b-256 ffb44b21fda7145430b7478279a8f5bdf10559b3152f4419b6317d2c5d3ea2d9

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