bud
buderus2mqtt
npm i buderus2mqtt
bud

buderus2mqtt

buderus2mqtt is a gateway between a KM200 Buderus internet gateway and MQTT with the https://github.com/mqtt-smarthome topic and payload format.

by Kai Kramer

0.0.3 (see all)License:MITTypeScript:DefinitelyTyped
npm i buderus2mqtt
Readme

mqtt-km200

mqtt-smarthome NPM version Dependency Status Build Status Maintainability js-semistandard-style License: MIT

Written and (C) 2015-18 Kai Kramer, based on an idea and code from Andreas Hahn. Build with https://github.com/hobbyquaker/xyz2mqtt-skeleton from Sebastian Raff.

Provided under the terms of the MIT license.

Overview

buderus2mqtt is a gateway between a KM200 Buderus internet gateway and MQTT with the https://github.com/mqtt-smarthome topic and payload format.

Installation

The recommended way is via docker hub.

The bridge requires a configuration file with the measuring points. This file should be stored in a shared host directory.

In addition, environment variables with the addresses and the key are required.

docker run --env-file ./km200.env -v <local data directory with config.yml>:/data  --name buderus2mqtt -d krambox/buderus2mqtt

Environment variables in file km200.env

KM200_url=mqtt://<MQTT Host IP>
KM200_config=/data/config.yml
KM200_passcode=<AES k generated with https://ssl-account.com/km200.andreashahn.info/ >
KM200_km200=<KM200 IP>

Key

AES key generator for the KM200 web gateway: https://ssl-account.com/km200.andreashahn.info/

Configuration with measuring points

config.yml example

measurements:
  - url: '/system/sensors/temperatures/chimney'
  - url: '/system/sensors/temperatures/outdoor_t1'
  - url: '/system/sensors/temperatures/supply_t1_setpoint'
  - url: '/heatSources/actualSupplyTemperature'
  - url: '/heatingCircuits/hc1/temperatureLevels/day'
  - url: '/heatingCircuits/hc1/temperatureLevels/night'
  - url: '/heatingCircuits/hc1/roomtemperature'
  - url: '/heatingCircuits/hc1/temperatureRoomSetpoint'
  - url: '/dhwCircuits/dhw1/actualTemp'
  - url: '/dhwCircuits/dhw1/setTemperature'
  - url: '/system/appliance/workingTime/centralHeating'
  - url: '/system/appliance/workingTime/secondBurner'
  - url: '/system/appliance/workingTime/totalSystem'
  - url: '/dhwCircuits/dhw1/workingTime'
  - url: '/system/appliance/numberOfStarts'
  - url: '/system/appliance/fanSpeed'
  - url: '/system/appliance/flameCurrent'
  - url: '/system/appliance/actualPower'
  - url: '/system/appliance/powerSetpoint'
  - url: '/dhwCircuits/dhw1/waterFlow'

The tool scan.js is used to determine the possible and measurings. This allows you to retrieve the measuring points of the installed KM200 and display it in a table on the console.

./scan.js -p <KEY generated with https://ssl-account.com/km200.andreashahn.info/ > -k <km200 ip> gb135.txt

Or via direct call

./km200mqtt.js -u mqtt://192.168.1.13 -k 192.168.1.162 -p <AES key>

Build and run local Docker container

docker build -t km200 .

docker run --env-file ./km200.env -v <local data directory with config.yml>:/data -it km200

Local build and development

Call ./km200mqtt.js with -h option and set properties with command line.

Example

./km200mqtt.js  -url mqtt://<MQTT Host IP> \
    -config ./config.yml \
    -passcode <AES k generated with https://ssl-account.com/km200.andreashahn.info/ > \
    -km200 <KM200 IP>

Downloads/wk

3

GitHub Stars

14

LAST COMMIT

2yrs ago

MAINTAINERS

1

CONTRIBUTORS

3

OPEN ISSUES

2

OPEN PRs

7
VersionTagPublished
0.0.3
latest
5yrs ago
No alternatives found
No tutorials found
Add a tutorial