Skip to main content

Kerbl IoT

Async Python client for Kerbl IoT devices.

KerblIOTApi owns authentication, HTTP, token refresh, and Socket.IO transport. KerblIOT loads devices and dispatches their live updates. Device actions belong to their respective model classes.

import asyncio
import os

from kerbl_iot import KerblIOT, KerblIOTApi


async def main() -> None:
    async with KerblIOT(
        KerblIOTApi(
        email=os.environ["KERBL_EMAIL"],
        password=os.environ["KERBL_PASSWORD"],
        )
    ) as kerbl:
        await kerbl.connect_websocket()

        coop = kerbl.smart_coops[0]
        print(coop.name, coop.air_temperature, coop.door.state)
        await coop.light.turn_on()
        await coop.door.close()


asyncio.run(main())

Releasing to PyPI

Releases are published automatically by GitHub Actions when a GitHub Release is marked as published. Before the first release, configure PyPI Trusted Publishing for the derjoerg/kerbl-iot repository and the .github/workflows/publish.yml workflow, using the pypi environment.

To create a release, update the version in pyproject.toml, commit the change, create a matching tag such as v0.1.1, and publish a GitHub Release for that tag. The version must not already exist on PyPI.

Error reason reference

SmartCoopLog exposes the API's raw error_key and error_code. Applications should translate the key in their own presentation layer. The following table preserves the German translations previously included in this library for reference:

API error key Former German translation
errorReason.doorLocked Klappe verriegelt
errorReason.doorClosingSoon Klappe schliesst bald
errorReason.feederLocked Futterautomat gesperrt
errorReason.batteryLow Akku schwach
errorReason.waterHeaterActive Wasserheizung aktiv
errorReason.waterEmpty Wasser leer
errorReason.feederError Futterautomatenstoerung
errorReason.feedEmpty Futter leer
errorReason.batteryEmpty Akku leer
errorReason.doorError Klappenstoerung
errorReason.waterTemperatureLow Wassertemperatur zu niedrig
errorReason.externalLightError Fremdlichtstoerung
errorReason.timeError Uhrzeit muss eingestellt werden
errorReason.flashError Flash-Fehler

Release files for kerbl-iot 0.1.1

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

Source distribution (sdist)

Source distribution for kerbl-iot 0.1.1
File Size Uploaded
kerbl_iot-0.1.1.tar.gz 13.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kerbl-iot 0.1.1
File Interpreter ABI Platform
kerbl_iot-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 34.3 kB

Release files / kerbl_iot-0.1.1.tar.gz

Download URL kerbl_iot-0.1.1.tar.gz
Size 13.4 kB
Tags Source
SHA-256 checksum
How to use checksums
27ffcb5e0a734658ca0dc92a729bfb039b7dd5072468e9d496c4e9387e9db1f9
BLAKE2b-256 checksum
How to use checksums
e615b0433e027b4e66f4fd19947553df2a23e84799f1feed9b51b5c995535290
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / kerbl_iot-0.1.1-py3-none-any.whl

Download URL kerbl_iot-0.1.1-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c931ae2757a392ba401cc129d5e2eaa4bdd541ca33c3aace3b904cc3a45f28b0
BLAKE2b-256 checksum
How to use checksums
fe569e34b18d72d14dc1a24cadc1966bbb24928e8df862cf6421fb35f049ae03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

This release

0.1.1 This release

2 release files

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