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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76914a751619d8b5e292472402089abee77141aca76d0f7ba7c4258be5061209
|
|
| MD5 |
d41f7e5818fbc59c2dd5493cc95d80a9
|
|
| BLAKE2b-256 |
25bcc7ac877a21b85eea89e22e75cbc4281461dba823ea62e2cb282b351fc82f
|
File details
Details for the file stone_connect-0.1.1-py3-none-any.whl.
File metadata
- Download URL: stone_connect-0.1.1-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1f477c7be10096cde7950d4156780934d4e2ad1f7ef6844b9fb648f34543d5c
|
|
| MD5 |
0a9643a4d409db8959fbbb183a365945
|
|
| BLAKE2b-256 |
682c433647d558f694e49f3f34eb487acbe2a3fa4d4a4fb93b9eb3a0b0afa669
|