peteh / doorman

ESP based mqtt bridge for TCS and Koch door control systems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Doorman

Doorman is an ESP32 or ESP8266 based mqtt bridge to connect your TCS or Koch Intercom to any home automation system.

doorman opener

Main Features

  • Support for TCS bus based intercom systems from TCS AG (Germany) or Koch AG (Switzerland)
  • Automatic Homeassistant discovery via MQTT
  • MQTT integration for all messages read from the bus and for writing messages to the bus
  • Button push pattern detection - you can define a pattern and assign a code that is written to the bus if the pattern is detected (Example: automatically open the door if the doorbell is pressed x times in a certain way). A successfully detected pattern is also published via mqtt.
  • Party mode (When this is enabled, the door opener automatically opens if the door bell is pressed)

Party Mode

When Party mode is enabled, a code (default: entry door buzzer code) is automatically sent when a certain code has been received on the bus (default: entry door bell code).

This allows you to enable party mode during a party and your guests can just enter by pressing your door bell when they arrive or go for a smoke.

Party mode can be turned on or off by using the switch on in Homeassistant, or by quickly lifting up you handset 3x (if your handset code has been configured correctly).

How to get Codes

Connect doorman to an mqtt broker by setting up WiFi credentials and mqtt broker.

If you already have Homeassistant configured with the mqtt integration on the same broker, go to Settings -> Devices -> Doorman. You should see a text entity called "TCS Bus". This entity allows to read all messages from the bus and write to the bus. Do the action for the signal you want to get the code of (apartment door bell, entry door bell or lifting up your handset). In the history of the TCS Bus entity you should see all codes that have been read from the bus. Then you can copy the values to the configuration settings in the home assistant device.

The codes that are specific to your flat are the long ones (without 0000 prefix).

TCS Bus

Prebuilt PCB and Case

AzonInc created a PCB with the doorman circuits and 3D printable housing. The project supports integration via ESPhome.

https://github.com/AzonInc/Doorman

It's currently a work in progress and I haven't added official support to the platformio project yet.

Wiring

wiring If you open your phone in your flat (check TCS website for manuals), you will probably find the following screw terminal lines: A, B, E, P.

A and B are the bus lines. You have to make sure which one is 24V+ and wire this to A of the setup. The other one is GND.

The P line can be used for power supply. You can also skip the part and power through the USB port of the Wemos D1.

Part list

TODO

There are still a view things open.

  • Allow wifi/mqtt configuration without the need for project compilation

Credits

Doorman is heavily built on the code and the information of the following two projects:

Doorman S3 PCB and case for TCS intercom with ESPhome firmware
https://github.com/AzonInc/Doorman

TCSIntercomArduino different methods to read from and write to TCS bus
Reverse Engineering video: https://www.youtube.com/watch?v=xFLoauqj9yA&t=11s
https://github.com/atc1441/TCSintercomArduino

tcs-monitor an mqtt monitor for listening to the TCS bus
Blog Post: https://blog.syralist.de/posts/smarthome/klingel/
https://github.com/Syralist/tcs-monitor

About

ESP based mqtt bridge for TCS and Koch door control systems

License:GNU General Public License v3.0


Languages

Language:C++ 59.9%Language:C 23.3%Language:HTML 13.3%Language:Smarty 2.5%Language:Python 1.0%