Skip to main content

API library for Webasto ThermoConnect devices

Project description

Current Release

Buy Me A Coffee

This Python module provides access to controlling and reading states of Webasto heaters connected to https://my.webastoconnect.com

The API is reverse engineered, as Webasto doesn't want to contribute with documentation, to let us integrate this in to our own solutions, such as smart homes.

Hence:

!USE THIS MODULE AT YOU OWN RISK!

Installation

Run this command to install the latest release from the PyPI repository:
pip3 install pywebasto

Usage

The following example shows how to get the current temperature measurement from your connected device(s):

from pywebasto import WebastoConnect

webasto = WebastoConnect("your-email", "your-password")
webasto.connect()
webasto.update()

for id, device in webasto.devices.items():
    print(f"Found device: {device.name} (ID: {device.device_id})")
    print(f"Temperature: {device.temperature}")

More examples can be found in the test.pyfile

Available properties

This list indicates the available properties for a heater

Property Description Type Example
timeout_heat Heat mode timeout in seconds int
timeout_ventilation Ventilation mode timeout in seconds int
timeout_aux1 AUX1 timeout in seconds int
timeout_aux2 AUX2 timeout in seconds int
icon_heat Icon used in the webinterface str car_heat
icon_vent Icon used in the webinterface str
icon_aux1 Icon used in the webinterface str
icon_aux2 Icon used in the webinterface str
temperature Measured temperature int 18
voltage Measured battery voltage float 12.4
location Location of the vehicle, if location is enabled.
state indicating if location service is enabled
lat and lon showing latitude and longitude
timestamp unix timestamp of last location update
dict {'state': 'ON', 'lat': 'x.xxxxxx', 'lon': 'x.xxxxxx', 'timestamp': 1766325670}
output_main State of main output channel bool True
output_aux1 State of AUX1 output channel bool False
output_aux2 State of AUX2 output channel bool False
is_ventilation Is the main output set to ventilation mode? bool False
temperature_unit The configured temperature unit of the heater. Either °C or °F str °C
hardware_version Hardware version of the device str
software_version Software (firmware) of the device str
software_variant Software variant(?!) str
allow_location Is location services enabled? bool True
low_voltage_cutoff At this voltage, the heater will automatically turn off float 11.5
temperature_compensation The set deviation from actual to measured temperature float -4.0
device_id The API ID of the device str 9254659033752365
name Name of the device, as set in the app or webinterface str My heater device
output_main_name Name of the main output channel str Primary
output_aux1_name Name of AUX1 output channel str Output 1
output_aux2_name Name of AUX2 output channel str Output 2
subscription_expiration When the current subscription will expire datetime datetime.datetime(2025, 12, 21, 16, 6, 28, 254801)

Functions

This list indicates the available functions

Function Description Params
connect Function used to connect to the API
update Fetch latest data from the API device_id if set, only update this device
set_output_main Set current state of main output device send command to this device of WebastoDevice class
state bool indicating if it should be switched on (true) or off (false)
set_output_aux1 Set current state of AUX1 output device send command to this device of WebastoDevice class
state bool indicating if it should be switched on (true) or off (false)
set_output_aux2 Set current state of AUX2 output device send command to this device of WebastoDevice class
state bool indicating if it should be switched on (true) or off (false)
ventilation_mode Switch main output to ventilation mode or heater mode device send command to this device of WebastoDevice class
state bool indicating if it should be set to ventilation mode (true) or heater mode (false)
set_main_timeout Set the timeout for auto off for the main output device send command to this device of WebastoDevice class
heater optional int indicating heater timeout in seconds
ventilation optional int indicating ventilation timeout in seconds
set_aux_timeout Set the timeout for auto off for an AUX output device send command to this device of WebastoDevice class
timeout int indicating timeout in seconds
aux optional Outputs ENUM indicating AUX to be changed, default: Outputs.AUX1
set_low_voltage_cutoff Sets the minimum voltage before shutting off the device device send command to this device of WebastoDevice class
value minimum voltage as float
set_temperature_compensation Set the temperature compensatioon for the device device send command to this device of WebastoDevice class
value temperature compensation as float

My heater doesn't show up

If your heater doesn't show up in the module, please make sure it is connected to the e-mail used.

Make sure your device is listed under devices

If your device is NOT listed under devices:

  • Open the ThermoConnect app on your phone
  • Select the missing device (If you have more than one connected)
  • Click on the "My Webasto Connect button in the lower left
  • Choose Login with mobile browser
  • Login with your existing email and password

The device should now be linked to your email account and will show up at next run

Project details


Download files

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

Source Distribution

pywebasto-2.0.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pywebasto-2.0.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file pywebasto-2.0.0.tar.gz.

File metadata

  • Download URL: pywebasto-2.0.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for pywebasto-2.0.0.tar.gz
Algorithm Hash digest
SHA256 58d85a24a561691a3e9a5234ef951919ad3c3f43f3429c918428e57e59c585d4
MD5 75fdf93913999fa5c3c067e17e8f3619
BLAKE2b-256 1382ed52a31f1c22076a74cbab07f6b17efa75237fd75b1811b71f76c2326f8e

See more details on using hashes here.

File details

Details for the file pywebasto-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: pywebasto-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.11.0-1018-azure

File hashes

Hashes for pywebasto-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4e26c94df39725018d5de33411f58602a53717879d77961bad6943072c1ffe5
MD5 e16fbcfcf0b66394e87122186cad9267
BLAKE2b-256 e70767b26035fd4753a999c9b938c8a243f252b151a1e17b984f3d063a5f682a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page