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.
Metadata
Release files for stone-connect 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stone_connect-0.1.1.tar.gz | 169.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stone_connect-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 180.9 kB
Release files / stone_connect-0.1.1.tar.gz
| Download URL | stone_connect-0.1.1.tar.gz |
|---|---|
| Size | 169.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76914a751619d8b5e292472402089abee77141aca76d0f7ba7c4258be5061209
|
|
BLAKE2b-256 checksum How to use checksums |
25bcc7ac877a21b85eea89e22e75cbc4281461dba823ea62e2cb282b351fc82f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|
Release files / stone_connect-0.1.1-py3-none-any.whl
| Download URL | stone_connect-0.1.1-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1f477c7be10096cde7950d4156780934d4e2ad1f7ef6844b9fb648f34543d5c
|
|
BLAKE2b-256 checksum How to use checksums |
682c433647d558f694e49f3f34eb487acbe2a3fa4d4a4fb93b9eb3a0b0afa669
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|