Skip to main content

pyhearth - A Python client for Hearth's home API

Version Python Versions Coverage Build GitHub License

pyhearth is a Python client for Hearth's home API. It posts thermostate and/or room sensor readings to a Hearth home with the home's API key, and returns the thermostat setting Hearth answers with. It's what ha-hearth, Hearth's Home Assistant integration, uses to talk to Hearth.

Installation

pyhearth is available on PyPI and can be installed using pip:

pip install pyhearth

Basic Usage

In the Hearth app, create the home's API key in Settings, then Manage home, then Sensors, then "Other sensors (Hearth API)". Then post readings:

import asyncio

import aiohttp

from pyhearth.client import HearthClient


async def main():
    async with aiohttp.ClientSession() as session:
        client = HearthClient(session, "<your API key>", source="my-hub", source_name="My hub")
        result = await client.post_readings([
            {"id": "office", "name": "Office", "temperature": 20.8, "humidity": 41}
        ])
        print(result.not_added)


asyncio.run(main())

A sensor's readings are kept once it's added to a room in the Hearth app; until then, it's listed in not_added. The fields each endpoint takes are in Hearth's API docs.

Errors are raised as subclasses of HearthError (in pyhearth.exception): HearthAuthError when Hearth doesn't take the key, HearthRateLimitedError when it asks for fewer posts (meta["retry_after"] says how many seconds to wait), HearthRejectedError when it can't read a post, and HearthConnectionError when it can't be reached.

Contributing

If you would like to get involved, be sure to review the Contribution Guide.

Want to contribute financially? If you've found pyhearth useful, sponsorship would also be greatly appreciated!

Metadata

Release files for pyhearth 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyhearth 1.0.2
File Size Uploaded Provenance Actions
pyhearth-1.0.2.tar.gz 8.4 kB Without provenance Details for pyhearth-1.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyhearth 1.0.2
File Interpreter ABI Platform Actions
pyhearth-1.0.2-py3-none-any.whl Python 3 none any Details for pyhearth-1.0.2-py3-none-any.whl

Total release size: 15.2 kB

Release files / pyhearth-1.0.2.tar.gz

Download URL pyhearth-1.0.2.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
547cbfb02395862022d40968899756f16bb296ecd601f3b359cd7be2bab1a547
BLAKE2b-256 checksum
How to use checksums
ae0d84ab40c9ab304d7f599c2e51da179f05dc58321afd7c7c1ba0717f55abbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pyhearth-1.0.2-py3-none-any.whl

Download URL pyhearth-1.0.2-py3-none-any.whl
Size 6.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce50b6cad86f7e1cc63e5126cc99da592559d1f4cbe0185c686a8e356c65d430
BLAKE2b-256 checksum
How to use checksums
f6648ab75e3f6f2cb7df6554072f79d8e210186b8ba762f3306dd27983f46179
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for pyhearth 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page