Giter Site home page Giter Site logo

azoninc / doorman Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 1.0 35.22 MB

ESP32-S3 based Intercom Gateway (TCS:Bus / Koch TC:Bus / Niko / Analogue Systems)

License: GNU General Public License v3.0

HTML 100.00%
esp32-s3 kicad pcb tcs esp32 pcb-design esp esphome koch tc-bus

doorman's Introduction


Doorman S3

Doorman S3

This repository contains the source files for the Doorman S3 Intercom Gateway, a device which lets you connect your TCS or Koch intercom to any home automation system.

However it's not limited to TCS and Koch intercoms only. With the integrated relais you can easily simulate a button press to trigger the door opener or the light (up to 40V, max 2.5A).

If your intercom is not a TCS or Koch one but operates on a 2-wire bus (14-24V) it might be possible to implement other protocols as well.

You could also monitor the voltage level on older intercoms (14-24V) by replacing the tcs_intercom component with a template Binary Sensor combined with ADC and trigger specific actions based on it.

πŸ“« Have a question? Ran into a problem?

I'm happy to answer your questions on Discord or GitHub Issues.

🚩 Repository Structure

At the root of the repository you will find these directories:

  • pcb: KiCad schematic and PCB design files
  • firmware: ESPHome configuration files
  • enclosure: Enclosure STL Files

πŸ€– Features

  • Powered by ESP32-S3
  • USB-C port for easy flashing (and because USB-C is cool 😎)
  • It's super small (37mm x 37mm) and fits almost everywhere
  • Configurable WS2812B RGB LED to indicate specific events
  • 2 additional GPIO via Screw Terminal for easy expansion with your own sensors and devices
  • 1 Relay via Screw Terminal to switch up to 40V (max. 2.5A) for oldschool intercom systems
  • 1 External Button via Screw Terminal (G + BTN)
  • Bridge Rectifier on the Bus Input to correct wire polarity
  • TCS Bus Communication (e.g. Open the front door, Detect Doorbell)
  • You can optionally use your Doorman as a Nuki Bridge (incompatible with Nuki App, Bluetooth only)

πŸš€ Automation

The ESPHome Doorman Stock Firmware implements the following:

  • Party Mode
    Automatically opens the Door when the Doorbell is pressed.
    The Party Mode Switch Entity is disabled by default.

Furthermore you could implement the following:

  • Doorbell Button Pattern Detection
    Automatically open the door when the Doorbell is pressed x times in a certain way.
    You can find an Example in the Firmware Examples directory.

βœ”οΈ Compatibility

Hardware

If your TCS or Koch Intercom got a, b and P labeled Screw Terminals and is operating on 24V DC it's likely compatible.

Firmware

You can use Doorman S3 with your prefered Firmware.
There are a few Options:

  • ESPHome - Doorman Stock
    This is the prefered Firmware as it works out of the Box with the Doorman S3 Firmware Configuration Files.

  • ESPHome - Doorman Nuki-Bridge
    This Configuration inherits everything from the Stock Firmware and adds a Nuki Bridge Component via BLE on top.

  • Doorman by peteh
    You need to adjust a few things to make it work with Doorman S3.

⚑ Wiring

If your Intercom is connected in 2-wire mode and you dont have a separate 24V P-Line you need to use an external Power Supply via USB-C or P (+5V to +24V) and B (Ground) Screw Terminal.
If it is connected in 3-wire mode you should be able to use the P-Line to power your Doorman in most cases.

Intercom Screw Terminal Explanation:

  • a is usually the Bus line (+24V)
  • b is usually GND
  • P is the +24V line in 3-wire mode or just the apartment bell button in 2-wire mode

βœ… On some installations the a and b wires are twisted but it doesn't matter because Doorman has an integrated bridge rectifier to fix that for you.

⚠️ BE AWARE
The minimum output current of the intercom power supply must be 60mA in order to achieve a stable operation!
However it is possible that some other devices using the 24V-wire are taking too much current so it's not sufficient to power Doorman anymore.
A best case scenario would be that you can use the P-wire with 60mA. That doesn't work for everyone tho.\

Please power your Doorman with an external Power Supply (USB-C or Screw Terminal) if your Intercom provides less than 60mA or whenever you notice an unstable operation.

Steps:

⚠️ DO NOT USE THE +24V P-LINE AND USB-C AT THE SAME TIME

2-Wire Mode (with external Power Supply)

  1. Open the Intercom enclosure
  2. Connect the a-wire (24V Bus) to the a-Terminal of your Doorman
  3. Connect the b-wire (Ground) to the b-Terminal of your Doorman
  4. Connect an external Power Supply via USB-C Port or P (+5V to +24V) and b (Ground) Screw Terminals of your Doorman

3-Wire Mode (with sufficient Intercom Power Supply - min. 60mA)

  1. Open the Intercom enclosure
  2. Connect the a-wire (24V Bus) to the a-Terminal of your Doorman
  3. Connect the b-wire (Ground) to the b-Terminal of your Doorman
  4. Connect the P-wire (+24V) to the P-Terminal of your Doorman

πŸ“Ÿ Obtaining Command Codes from the Bus

Depending on the Firmware you are using, there are different methods to obtain Command Codes.

  • ESPHome
    If you use the ESPHome Doorman Firmware from this Repository, every received Command Code is logged in the ESPHome Console and also published as an Home Assistant Event. Besides that there is a "Last Bus Command" Text Sensor (disabled by default) which also shows the last Bus Command.

  • Doorman by peteh
    You can find a detailed explanation in the repository. It's kinda similar.

πŸ› οΈ Manufacturing

TODO

πŸ–¨οΈ Enclosure

Depending on your needs you can print your own Doorman Enclosure.
Just use the STL files provided here.
Doorman S3

⚠️ Disclaimer

Please DO NOT use the +24V P-Line if the Power Supply is not powerful enough.
Check your Power Supply first as there are some Power Supply Models which supply less than 60mA on 24V and that won't be enough to power the ESP32.

πŸ™Œ Contributing

If you would like to contribute, please feel free to open a Pull Request.

πŸ“œ Credits

Doorman is heavily built on the code and the information of the following projects and people.
This project would not have been possible without all of them. ❀️

TCSIntercomArduino
Different Methods to read from and write to the TCS Bus.
Feel free to watch the Reverse Engineering Video if you're interested.

tcs-monitor
An mqtt monitor for listening to the TCS Bus.
You can find more information in this Blog Post.

Doorman
A lot of this Doorman project is based on peteh's one.
The main goal is to provide a proper PCB for his Doorman Project.

ESPHome_nuki_lock
This module builds an ESPHome lock platform for Nuki Smartlock (nuki_lock).

AStrehlau
Thanks a lot for your time, patience and every single valuable advice that made this Project better, smaller and more affordable.

doorman's People

Contributors

azoninc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

dannyyy

doorman's Issues

Produktion

Ich pack das jetzt hier nochmal als Info rein damit alles an einem Ort am Ende landet.

Wer ein Board haben mΓΆchte:

Name Assembly ESP32-S3-WROOM-1 Screw Terminal Revision
@peteh X N8R8 X 1.3
@alkue1 X N8R8 X 1.3
@AzonInc X N8R8 X 1.3
@m33x X N8R8 X 1.3
@peralta X N8R8 X 1.3
@peteh X N16R2(?) X 1.4
@calibanorg X N16R2(?) X 1.4
@gee33 X N16R2(?) 1.4
@peralta X N16R2(?) X 1.4
@dannyyy X N16R2(?) X 1.4
@zopieux X N16R2(?) X 1.4

Aktueller Bestand:
6 x ESP32-S3-WROOM-1 N8R8
5 x ESP32-S3-WROOM-1 N16R2
5x 3er Schraubklemme

Discord Invite Link Invalid

Description

Hi,

I'm interested in ordering a Doorman S3. Unfortunately, the provided Discord link to join the community expired.

Best

Logs

No response

Which version of the ESPHome Doorman firmware config are you running?

No response

How do you manage your Doorman's updates?

None

If you're using an ESPHome YAML config, which version of ESPHome are you running?

No response

ESPHome Config

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.