You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

stone-connect

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stone-connect

Async Python library for controlling Stone Connect WiFi electric heaters

0.1.1
pipPyPI
Maintainers
1

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.

Keywords

automation

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts