Skip to main content

Python client library for Kohler Anthem Digital Shower API

Project description

kohler-anthem

Python library for controlling Kohler Anthem digital showers.

DISCLAIMER: This is an unofficial library developed independently for personal use. It is not affiliated with, endorsed by, or supported by Kohler Co. This library was reverse-engineered from the Kohler Konnect mobile app and may break at any time if Kohler modifies their APIs. The author provides no warranty, assumes no liability, and offers no support for this software. Use at your own risk. The author is not responsible for any damage to your devices, property, or any other consequences resulting from the use of this library.

Installation

pip install kohler-anthem

Quick Start

import asyncio
from kohler_anthem import KohlerAnthemClient, KohlerConfig, Outlet

async def main():
    config = KohlerConfig(
        username="user@example.com",
        password="password",
        client_id="...",
        apim_subscription_key="...",
        api_resource="...",
    )

    async with KohlerAnthemClient(config) as client:
        # Discover devices
        customer = await client.get_customer("customer-id")
        device = customer.get_all_devices()[0]

        # Get state
        state = await client.get_device_state(device.device_id)
        print(f"Running: {state.is_running}")

        # Control
        await client.turn_on_outlet(device.device_id, Outlet.SHOWERHEAD, temperature_celsius=38.0)
        await client.turn_off(device.device_id)

asyncio.run(main())

Configuration

Parameter Description
username Kohler account email
password Kohler account password
client_id Azure AD B2C client ID
apim_subscription_key Azure APIM subscription key
api_resource Azure AD B2C API resource ID

Obtaining Credentials

The client_id, api_resource, and apim_subscription_key must be extracted from the Kohler Konnect mobile app. See credential-extraction for automated tools and instructions.

Development

make deps    # Install dependencies
make check   # Run lint, typecheck, tests
make help    # Show all targets

See Makefile for all available targets.

License

MIT

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

kohler_anthem-0.2.0.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kohler_anthem-0.2.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kohler_anthem-0.2.0.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for kohler_anthem-0.2.0.tar.gz
Algorithm Hash digest
SHA256 75a36b1acdd37223302dd3a37301287d593192ffff5b0839a46057f2923b78ed
MD5 ab8602131b02e38d102bd491520e07ff
BLAKE2b-256 b8e71afb0c23d9b90792d6d589f3b7e0eb95e2fb916a4b79d18e59df1de9ff69

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kohler_anthem-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for kohler_anthem-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ad16408e4c6e9a5095cc8dc6e40aab8aff144e21f7f3dccd4b33424d3aec5f28
MD5 7803a8287003a20477fc24e2f30401b0
BLAKE2b-256 e3b0be1464d16c824bff50e9ff470805f5fe05188548b574f51d0fd13c4a9fce

See more details on using hashes here.

Supported by

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