Skip to main content

Async Python library for controlling Stone Connect WiFi electric heaters

Project description

Stone Connect Heater Python Library

An async Python library for controlling Stone Connect WiFi electric heaters via their local HTTPS API.

Features

  • Async/await support - Built with modern Python async patterns
  • Local API communication - Direct connection to your heater without cloud dependency
  • Comprehensive control - Temperature, operation modes, schedules, and more
  • Type safety - Full type hints and data validation
  • Easy integration - Simple context manager interface
  • Robust error handling - Detailed exception hierarchy
  • Well tested - Comprehensive test suite with high coverage

Supported Operations

  • 🌡️ Temperature Control - Set target temperature and read current values
  • 🔥 Operation Modes - Manual, Comfort, Eco, Antifreeze, Schedule, Boost, and power modes
  • 📅 Schedule Information - Read weekly heating schedules
  • 📊 Status Monitoring - Heater status and sensor readings
  • ℹ️ Device Information - Hardware details, firmware version, network info

Installation

pip install stone-connect

Development Installation

git clone https://github.com/tomasbedrich/stone-connect.git
cd stone-connect
pip install -e ".[dev]"

Quick Start

import asyncio
from stone_connect import StoneConnectHeater, OperationMode

async def main():
    # Connect to your heater (replace with your heater's IP)
    async with StoneConnectHeater("192.168.1.100") as heater:
        # Get device information
        info = await heater.get_info()
        print(f"Connected to: {info.appliance_name}")
        
        # Get current status
        status = await heater.get_status()
        print(f"Current temperature: {status.current_temperature}°C")
        print(f"Target temperature: {status.set_point}°C")
        
        # Set temperature to 22°C in manual mode
        await heater.set_temperature(22.0, OperationMode.MANUAL)
        
        # Switch to comfort mode
        await heater.set_operation_mode(OperationMode.COMFORT)

if __name__ == "__main__":
    asyncio.run(main())

Disclaimer

This library is not officially associated with Stone Connect or any heater manufacturer. It is developed through reverse engineering of the public API for personal and educational use. Use at your own risk.

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

stone_connect-0.1.1.tar.gz (169.6 kB view details)

Uploaded Source

Built Distribution

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

stone_connect-0.1.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file stone_connect-0.1.1.tar.gz.

File metadata

  • Download URL: stone_connect-0.1.1.tar.gz
  • Upload date:
  • Size: 169.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.5

File hashes

Hashes for stone_connect-0.1.1.tar.gz
Algorithm Hash digest
SHA256 76914a751619d8b5e292472402089abee77141aca76d0f7ba7c4258be5061209
MD5 d41f7e5818fbc59c2dd5493cc95d80a9
BLAKE2b-256 25bcc7ac877a21b85eea89e22e75cbc4281461dba823ea62e2cb282b351fc82f

See more details on using hashes here.

File details

Details for the file stone_connect-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for stone_connect-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1f477c7be10096cde7950d4156780934d4e2ad1f7ef6844b9fb648f34543d5c
MD5 0a9643a4d409db8959fbbb183a365945
BLAKE2b-256 682c433647d558f694e49f3f34eb487acbe2a3fa4d4a4fb93b9eb3a0b0afa669

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