Skip to main content

Python API for talking to Bosch™ Heating gateway using HTTP

Project description

bosch-thermostat-http-client-python

Python3 asyncio package to talk to Bosch Thermostats via their gateway, especially for Buderus KM200/KM50 and Nefit IP modules used in Enviline heat pumps. These gateways support Http access in local network.

example :

import asyncio 
import aiohttp

from buderus.gateway import Gateway
async def main():
    async with aiohttp.ClientSession() as session:
        gateway =  Gateway(session, '<Local IP of gateway>','<gateway password>','<user password>')
        await gateway.initialize()


        print(gateway.info.uuid)

        for sensor in gateway.sensors.items:
            print (sensor.name, sensor.value)

asyncio.get_event_loop().run_until_complete(main())

To run this code do the following:

  • create file data_file.txt and insert like this:
ip
access_key
password

replace strings with proper values

  • run in dir python3 -m venv .
  • run python3 test.py

Helper

Now there is extra command added with this package bosch_scan.

Usage: bosch_scan [OPTIONS] COMMAND [ARGS]...

  A tool to create rawscan of Bosch thermostat.

Options:
  --ip TEXT                       IP address of gateway  [required]
  --token TEXT                    Token from sticker without dashes.
                                  [required]
  --password TEXT                 Password you set in mobile app.
  -o, --output TEXT               Path to output file of scan. Default to
                                  [raw/small]scan_uuid.json
  --stdout                        Print scan to stdout
  -d, --debug
  -s, --smallscan [HC|DHW|SENSORS]
                                  Scan only single circuit of thermostat.
  --help                          Show this message and exit.

Examples

SENSORS:

bosch_examples sensors --help
bosch_examples sensors --ip {IP} --token {TOKEN} --password {PASS} -s outdoor_t1

DHW:

bosch_examples dhw --help
bosch_examples dhw --ip {IP} --token {TOKEN} --password {PASS} -t --op_modes --setpoints -m

HC:

bosch_examples hc --help
bosch_examples hc --ip {IP} --token {TOKEN} --password {PASS} -t --op_modes --setpoints -m

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

bosch-thermostat-http-client-0.7.2.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file bosch-thermostat-http-client-0.7.2.tar.gz.

File metadata

  • Download URL: bosch-thermostat-http-client-0.7.2.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.1

File hashes

Hashes for bosch-thermostat-http-client-0.7.2.tar.gz
Algorithm Hash digest
SHA256 6fb30845928f267d52258e2a493b47d1d0ca5aeda7a9c993ffedb3d6c86d7ac4
MD5 1bcbe748f844475ae50562b0fb4b61fb
BLAKE2b-256 97a5f5efa457fbc5c5e8b5241a2a54535d20cff0e353e208ae02e4513cb4c984

See more details on using hashes here.

File details

Details for the file bosch_thermostat_http_client-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: bosch_thermostat_http_client-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.8.1

File hashes

Hashes for bosch_thermostat_http_client-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c0a913fc9ee3b8d569cf3e6b30d74d6021f0bdeff012fe20a3401cc558292ecf
MD5 8ccb3450dc86e5fd7310da00e8051d70
BLAKE2b-256 e06e5dead11dd7227de06321e4b709517c4be4d3c45dd0090f7cc979e17424f7

See more details on using hashes here.

Supported by

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