Skip to main content

Library to communicate with the Viessmann ViCare API

Project description

PyViCare

Implements an object to interact with the Viessmann ViCare API. The OAuth2 authentication token can optionally be stored in a file to be reused. Tokens are automatically renewed.

A few nice feature removed from the app are available though the API (Comfort and Eco modes).

Version 0.1.0

Note that the version 0.1.0 DOES BREAK a few things. ViCareSession is deprecated (but you can still import it using f"rom PyViCare.PyViCare import ViCareSession"). You can now use the following objects:

from PyViCare.PyViCareDevice import Device # generic device
from PyViCare.PyViCareGazBoiler import GazBoiler # gaz boiler
from PyViCare.PyViCareHeatPump import HeatPump # heat pump

Basic usage

Simple example:

import sys
import logging
sys.path.insert(0, 'PyViCare')
from PyViCare.PyViCareDevice import Device
from PyViCare.PyViCareGazBoiler import GazBoiler
from PyViCare.PyViCareService import ViCareService
from PyViCare.PyViCare import ViCareSession

t=GazBoiler("email@domain","password","token.save")
print(t.getDomesticHotWaterConfiguredTemperature()) 
print(t.getDomesticHotWaterStorageTemperature())
print(t.getOutsideTemperature())
print(t.getRoomTemperature())
print(t.getSupplyTemperature())
print(t.getOutsideTemperature()) 
print(t.getHeatingCurveShift()) 
print(t.getHeatingCurveSlope()) 
print(t.getBoilerTemperature())
print(t.getActiveProgram())
print(t.getPrograms())

print(t.getCurrentDesiredTemperature())
print(t.getMonthSinceLastService())
print(t.getLastServiceDate())

print(t.getDesiredTemperatureForProgram("comfort"))
print(t.getActiveMode())

print(t.getDesiredTemperatureForProgram("comfort"))
print(t.setProgramTemperature("comfort",21))
print(t.activateProgram("comfort"))
print(t.setDomesticHotWaterTemperature(59))
print(t.activateProgram("comfort"))
print(t.deactivateComfort())

Postman example

Follow these steps to access the API in Postman:

  1. Create an access token in the Authorization tab with type OAuth 2.0 and following inputs:

    A login popup will open. Enter your ViCare username and password.

  2. Use this URL to access your installationId and gatewaySerial:

    https://api.viessmann-platform.io/general-management/installations

    • installationId is entities[0].properties.id
    • gatewaySerial is entities[0].entities[0].properties.serial
  3. Use above data to replace {installationId} and {gatewaySerial} in this URL to investigate the Viessmann API:

    https://api.viessmann-platform.io/operational-data/v1/installations/{installationId}/gateways/{gatewaySerial}/devices/0/features

Types of heatings

  • Use ViCareSession for gas heatings
  • Use ViCareHeatPumpSession for heat pumps

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for PyViCare, version 0.1.10
Filename, size File type Python version Upload date Hashes
Filename, size PyViCare-0.1.10-py3-none-any.whl (14.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size PyViCare-0.1.10.tar.gz (8.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page