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.13a1.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hassfeld-0.3.13a1.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.13a1.tar.gz
Algorithm Hash digest
SHA256 6518976429d081f1fdc0857e6e9ed3d966f1aced6ea2a117fe4accd1e662fbb3
MD5 7ef4892a8a4aff65bda5ee8ea203d9c9
BLAKE2b-256 bf2a8b4f8dbd4890bf191dba7ae3ffa97e8b8d6f960c44e636cbb5816c5b0205

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hassfeld-0.3.13a1-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.13a1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b791ab2f3d10b29e4a26675c62df59aa16e49b0012cbcd9a080764456d5e797
MD5 b2724d7e49e835c5664aec0945dcd3d7
BLAKE2b-256 f03de1e110a7dd796bac85246c47cc7928024588a993d4393781cd76d83001a2

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