--- id: pyvicare version: "2.61.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # PyViCare — Library to communicate with the Viessmann ViCare API. License: permissive · Maintenance: active · Downloads: 84.6K/mo ## What it is and what it does PyViCare is a Python client library for the official Viessmann ViCare API, enabling programmatic control and monitoring of Viessmann heating systems. It abstracts the OAuth authentication flow and REST API calls, allowing developers to query device status, read temperatures, adjust heating programs, and manage circuits, burners, and compressors through a unified Python interface. The library supports multiple heating device types (gas boilers, heat pumps, hybrid systems, pellet and oil boilers, fuel cells) and handles device-specific feature availability by raising exceptions for unsupported operations. It depends on authlib for OAuth, requests for HTTP communication, and deprecated for backward-compatibility warnings. Breaking changes across major versions (1.x, 2.x, 2.8.x, 2.27.x) reflect API redesigns and device model separation; users upgrading should review the changelog. Use it for: - Integrate Viessmann heating systems into home automation platforms like Home Assistant for remote monitoring and control. - Build custom dashboards to display real-time temperature data, heating circuit status, and program schedules from multiple Viessmann devices. - Automate heating schedules and setpoints based on external conditions (weather, occupancy, time of day) via programmatic API calls. - Monitor burner and compressor activity for predictive maintenance or energy usage analysis. - Fetch device capabilities at runtime to gracefully handle unsupported features across different Viessmann hardware models. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. PyViCare provides Python access to Viessmann heating devices through the official Viessmann API, supporting gas boilers, heat pumps, pellet boilers, oil boilers, fuel cells, and hybrid systems. Yes. PyViCare is actively maintained, has low install friction, carries no known vulnerabilities, and is the official Python client for Viessmann devices. Install it if you need programmatic access to a Viessmann heating system; the main gotcha is the prerequisite OAuth setup with the Viessmann Developer Portal, which is documented but requires manual registration. ## Install pip install pyvicare uv add pyvicare poetry add pyvicare ## Installing PyViCare Before you install: Low install friction with a pure Python wheel and three lightweight runtime dependencies (authlib, deprecated, requests). Active maintenance with a release 31 days ago and ongoing repository activity. License in practice: Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes. Quickstart: pip install pyvicare from PyViCare.PyViCare import PyViCare vicare = PyViCare() vicare.initWithCredentials(email, password, client_id, "token.save") device = vicare.devices[0] print(device.getModel()) Requires a Viessmann Developer Portal account and registered OAuth client (Client ID); Python 3.10 or later. Verify before relying: - Whether all Viessmann device types are equally well-supported or if some have limited feature coverage. - Current state of the Viessmann API rate limits and how frequently they are encountered in typical usage. - Whether the library handles token refresh automatically or requires manual intervention. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 84.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags viessmann api client, vicare heating device control, viessmann boiler integration, smart heating system python, viessmann iot device access, heating system monitoring api, vicare oauth authentication, home-automation, iot-device-control, oauth-client [View on SkillFed](https://skillfed.io/packages/pyvicare) · [View on PyPI](https://pypi.org/project/pyvicare/)