Skip to content

Commit

Permalink
Merge pull request #22 from peteh/bugfix/8266compile
Browse files Browse the repository at this point in the history
ESP8266 compilation fix and Koch TCS Support
  • Loading branch information
peteh authored Apr 8, 2024
2 parents 10e09e8 + a5c62fa commit 18b96d5
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 7 deletions.
22 changes: 17 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
# doorman
# Doorman

Doorman is an ESP32 or ESP8266 based mqtt bridge for TCS door control systems (<https://www.tcsag.de/>).
Doorman is an ESP32 or ESP8266 based mqtt bridge to connect your [TCS](https://www.tcsag.de/) or [Koch](https://www.kochag.ch/) Intercom to any home automation system.

![doorman opener](doc/doorman.gif)

## Main Features

* Mqtt integration for all messages read from the bus and for writing messages to the bus
* 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)

Expand All @@ -28,6 +30,14 @@ The codes that are specific to your flat are the long ones (without 0000 prefix)

![TCS Bus](doc/tcsbus.png)

## 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](doc/wiring.svg)
Expand Down Expand Up @@ -58,13 +68,15 @@ The P line can be used for power supply. You can also skip the part and power th

There are still a view things open.

* Refactor config management, it's a lot of code duplication at the moment
* Maybe allow wifi/mqtt configuration without the need for project compilation
* 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>
Expand Down
2 changes: 1 addition & 1 deletion doorman/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -564,7 +564,7 @@ void loop()
if (millis() - g_lastWifiConnect > WIFI_DISCONNECT_FORCED_RESTART_S * 1000)
{
log_warn("Wifi could not connect in time, will force a restart");
esp_restart();
ESP.restart();
}
g_wifiConnected = false;
g_mqttConnected = false;
Expand Down
2 changes: 1 addition & 1 deletion doorman/src/platform.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once
#include <Arduino.h>

#define VERSION "2024.4.0"
#define VERSION "2024.4.1"

#ifdef ESP8266
#define PIN_BUS_READ D5
Expand Down

0 comments on commit 18b96d5

Please sign in to comment.