skillfed

PyViCare

Library to communicate with the Viessmann ViCare API.

pyvicare v2.61.0 84.6K downloads/30d#13,985 on PyPI168
Permissive license Apache-2.0 Active released

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 on this page — 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

pyvicare on PyPI

pip

pip install pyvicare

uv

uv add pyvicare

poetry

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 the current Python release (<4.0,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — authlib, deprecated, requests
Maintenance actively maintained — 31 days since the last release
Last repo commit
First released
Downloads 84,587/month — #13,985 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyvicare-2.61.0-py3-none-any.whl

Keywords: viessmann, vicare, api

Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries :: Python Modules

Tags

viessmann api clientvicare heating device controlviessmann boiler integrationsmart heating system pythonviessmann iot device accessheating system monitoring apivicare oauth authentication
home-automationiot-device-controloauth-client

More Python Modules packages