Skip to content

Commit

Permalink
Update Docs
Browse files Browse the repository at this point in the history
  • Loading branch information
AzonInc committed Aug 25, 2024
1 parent ff53320 commit 382aca4
Show file tree
Hide file tree
Showing 19 changed files with 257 additions and 255 deletions.
68 changes: 32 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,78 +7,74 @@
<br>
</h1>

This repository contains the source files for the Doorman S3 Intercom Gateway, a device which lets you connect your [TCS](https://www.tcsag.de/) or [Koch](https://www.kochag.ch/) intercom to any home automation system.\
There are also some rebranded [Niko](https://www.niko.eu/) and [Scantron](https://scantron.dk/) intercoms which are counterparts of the TCS and Koch ones.
This repository provides the source files for the Doorman S3 Intercom Gateway, a device designed to connect your [TCS](https://www.tcsag.de/) or [Koch](https://www.kochag.ch/) intercom to any home automation system.\
It's also compatible with some rebranded [Niko](https://www.niko.eu/) and [Scantron](https://scantron.dk/) intercoms, which are counterparts of TCS and Koch models.

However it's not limited to these intercoms only.
With the integrated relay you can easily simulate a button press to trigger the door opener or the light (up to 40V, max 2.5A).
The Doorman S3 isn't limited to these intercoms alone. With its integrated relay, it can simulate button presses to trigger door openers or lights (supporting up to 40V and a maximum of 2.5A).

If your intercom is not a TCS or Koch one but operates on a 2-wire bus within the 14-24V range it might be possible to implement other protocols as well.
If your intercom isn't a TCS, Koch, Niko or Scantron model but operates on a 2-wire bus within the 14-24V range, you might be able to implement other protocols. Additionally, you can monitor the voltage levels on older intercoms (14-24V) by replacing the tcs_intercom component with a template Binary Sensor combined with the ADC, allowing you to trigger specific actions based on the voltage readings.

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.

Thanks a lot to [PCBWay](https://pcbway.com) for sponsoring this Project.
Scroll down to "Manufacturing" to read more.
A big thanks to [PCBWay](https://pcbway.com) for sponsoring this project!
For more details on the manufacturing process, scroll down to the "Manufacturing" section.

## 🚀 Getting started

Make sure to check out the [Doorman Docs](https://doorman.azon.ai/).\
You will find everything you need. If you don't I'm happy to answer your questions on [Discord](https://discord.gg/t2d34dvmBf) or [GitHub Issues](https://github.com/AzonInc/Doorman/issues).
Be sure to visit the [Doorman Docs](https://doorman.azon.ai/) for all the information you need. If you have any questions or need further assistance, feel free to reach out on [Discord](https://discord.gg/t2d34dvmBf) or [GitHub Issues](https://github.com/AzonInc/Doorman/issues). I'm here to help!

## 📦 Interested in buying one?

Feel free to contact me on [Discord](https://discord.com/users/275370456163287040) or by [E-Mail](mailto:flo@azon.ai?subject=Doorman).
Feel free to contact me on [Discord](https://discord.gg/t2d34dvmBf) or via [E-Mail](mailto:flo@azon.ai?subject=Doorman).

I offer you a fully assembled and tested Doorman-S3 which comes with the Stock Firmware pre-installed for direct integration and adoption into Home Assistant.
I offer fully assembled and tested Doorman-S3 units with the [Stock Firmware](firmware/nuki-bridge-firmware) pre-installed, ready for direct integration and adoption into Home Assistant.

## 🤖 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
- Compact design that fits almost anywhere
- Configurable WS2812B RGB LED to indicate specific events
- 2 additional GPIO via Screw Terminal for easy expansion with your own sensors and devices (i.e. I²C)
- 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 for the Bus-wire input to correct polarity
- TCS Bus Communication (e.g. Open the front door, Detect Doorbell)
- You can optionally use your Doorman as a Nuki Bridge with the [Nuki Bridge Firmware](https://doorman.azon.ai/firmware/nuki-bridge-firmware). It is incompatible with the Nuki App, Bluetooth LE only.
- Two additional GPIOs for easy expansion with your own sensors and devices (e.g., I²C)
- Solid-state relay for switching up to 40V (max. 2.5A), ideal for older intercom systems
- External Button (G + BTN)
- Bridge rectifier for bus-wire input to correct polarity
- TCS bus communication for functions like opening the front door and detecting the doorbell
- Can be used as a Nuki Bridge with the [Nuki Bridge Firmware](https://doorman.azon.ai/firmware/nuki-bridge-firmware). Note that this firmware is incompatible with the Nuki app, but it works with the Home Assistant app.

## ✔️ Compatibility

If your TCS or Koch Intercom got a, b and P labeled Screw Terminals and is operating on 24V DC it's likely compatible.\
Make sure to check out the [Compatibility Docs](https://doorman.azon.ai/guide/hardware-compatibility).
If your TCS or Koch intercom has screw terminals labeled `a`, `b`, and `P` and operates on 24V DC, its likely compatible with Doorman.\
For detailed compatibility information, check out the [Compatibility Docs](https://doorman.azon.ai/guide/hardware-compatibility).

## 🚩 Repository Structure

At the root of the repository you will find these directories:
The repository is organized into the following directories:

- `pcb`: KiCad schematic and PCB design files
- `firmware`: ESPHome configuration files
- `enclosure`: Enclosure STL Files
- `pcb`: Contains KiCad schematic and PCB design files
- `firmware`: Includes ESPHome configuration files
- `enclosure`: Provides STL files for the enclosure design

## 🛠️ Manufacturing

<img src=".github/images/pcbway_delivery.png" alt="PCBWay Delivery" height="275">

I didnt know which PCB manufacturer is good but fortunately PCBWay reached out to me and offered to sponsor PCB fabrication.\
Well... I'm more than satisified with the quality, especially the nice colors. Everything looks clean and part sourcing was an ease. They also sent me two more unpopulated PCBs extra.
I soldered the ESP Modules using a heating plate myself because I still had ESP32 Modules at home.
I was unsure which PCB manufacturer to choose, but fortunately, PCBWay reached out and offered to sponsor the PCB fabrication. I couldn't be happier with the results—the quality is exceptional, especially with the vibrant colors. Everything arrived in pristine condition, and sourcing parts was hassle-free. They even included two extra unpopulated PCBs.

I handled the soldering of the ESP modules myself using a heating plate, as I already had ESP32 modules at home.

It was really easy to get in touch with them and whenever there rised a question they didn't hesitate to ask.
A special thanks goes to Liam and Lynne for supporting me throughout the entire process. Even tho I made a lot of changes they were always very patient with me. It was a pleasure working with you guys.
PCBWay made the entire process straightforward and responsive. A special thanks to Liam and Lynne for their support throughout, especially given the numerous changes I made. Their patience and assistance were greatly appreciated.

If you need a good quality one stop manufacturer I can definitely recommend [PCBWay](https://pcbway.com) :)
If you're looking for a reliable, high-quality PCB manufacturer, I highly recommend [PCBWay](https://pcbway.com) :)

You can find all the neccessary files [here](https://github.com/AzonInc/doorman/tree/master/pcb).

## 🙌 Contributing
If you would like to contribute, please feel free to open a Pull Request.
If you'd like to contribute to the Doorman project, we welcome your involvement!\
Please feel free to open a Pull Request. Your contributions, whether they are code improvements, bug fixes, or documentation updates, are greatly appreciated.

## 📜 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. ❤️
Doorman is heavily built on the code and insights from the following projects and individuals.\
This project would not have been possible without their contributions. ❤️

**[TCSIntercomArduino](https://github.com/atc1441/TCSintercomArduino)**\
Different Methods to read from and write to the TCS Bus.\
Expand All @@ -96,4 +92,4 @@ The main goal is to provide a proper PCB for his Doorman Project.
This module builds an ESPHome lock platform for Nuki Smartlock (nuki_lock).

**[AStrehlau](https://github.com/AStrehlau)**\
Thanks a lot for your time, patience, knowledge and every single valuable advice that made this Project better, smaller and more affordable.
Thank you so much for your time, patience, expertise, and every piece of invaluable advice that helped make this project better, smaller, and more affordable.
30 changes: 20 additions & 10 deletions docs/creators.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ const members = [
{
avatar: 'https://www.github.com/AzonInc.png',
name: 'AzonInc',
title: 'Creator of the Doorman-S3 PCB and ESPHome based Firmware',
title: 'Creator of the Doorman-S3 PCB and ESPHome-based firmware',
links: [
{ icon: 'github', link: 'https://github.com/AzonInc' },
]
},
{
avatar: 'https://www.github.com/peteh.png',
name: 'peteh',
title: 'Creator of the original Doorman Custom Firmware',
title: 'Creator of the original Doorman custom firmware',
links: [
{ icon: 'github', link: 'https://github.com/peteh' },
]
Expand All @@ -33,14 +33,21 @@ const members = [
links: [
{ icon: 'github', link: 'https://github.com/atc1441' },
]
},
{
avatar: 'https://www.github.com/uriyacovy.png',
name: 'uriyacovy',
title: 'Creator of the ESPHome Nuki Lock component',
links: [
{ icon: 'github', link: 'https://github.com/uriyacovy' },
]
}
]
</script>

# Thank you ❤️

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.
Doorman is built upon the code and information from the following projects and individuals. This project would not have been possible without their contributions.

### Amazing People

Expand All @@ -50,13 +57,16 @@ This project would not have been possible without all of them.
### Projects

**[TCSIntercomArduino](https://github.com/atc1441/TCSintercomArduino)**\
Different Methods to read from and write to the TCS Bus.\
Feel free to watch the [Reverse Engineering Video](https://www.youtube.com/watch?v=xFLoauqj9yA) if you're interested.
Different methods to read from and write to the TCS Bus.\
If you're interested, feel free to watch the [Reverse Engineering Video](https://www.youtube.com/watch?v=xFLoauqj9yA).

**[tcs-monitor](https://github.com/Syralist/tcs-monitor)**\
An mqtt monitor for listening to the TCS Bus.\
You can find more information in this [Blog Post](https://blog.syralist.de/posts/smarthome/klingel/).
A MQTT monitor for listening to the TCS Bus.\
You can find more information in this [blog post](https://blog.syralist.de/posts/smarthome/klingel/).

**[Doorman](https://github.com/peteh/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.
A significant portion of the Doorman project is based on peteh's work.\
The primary goal was to provide a robust PCB for his Doorman project.

**[ESPHome_nuki_lock](https://github.com/uriyacovy/ESPHome_nuki_lock)**\
This module builds an ESPHome lock platform for Nuki Smartlock (nuki_lock).
6 changes: 3 additions & 3 deletions docs/guide/automation/blueprints.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Blueprints for Home Assistant

This is a collection of community contributed Blueprints.
This is a collection of community-contributed blueprints.

## Confirmable Doorbell Open Door Notification

This Blueprint allows you to send a confirmable notification to a device with the Home Assistant app whenever someone rings the doorbell.
This blueprint enables you to send a confirmable notification to a device with the Home Assistant app whenever someone rings the doorbell.

The default confirm action will send a command to open the entrance door but you can modify it to your needs.
The default confirmation action triggers a command to open the entrance door, but you can customize it to suit your needs.

[![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://my.home-assistant.io/badges/blueprint_import.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FAzonInc%2FDoorman%2Fblob%2Fdev%2Fblueprints%2Fconfirmable_open_door_notification.yaml)
16 changes: 8 additions & 8 deletions docs/guide/automation/pattern-events.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Pattern Events

The Doorman Firmware includes pattern event entities which you can use in [Home Assistant](https://www.home-assistant.io/) automations.
The Doorman firmware includes pattern event entities that you can use in [Home Assistant](https://www.home-assistant.io/) automations.

Each pattern is configured like:
Each pattern is configured as follows:
- Push
- Maximum 1 second break
- Maximum 1-second break
- Push

Take a look at the [advanced examples](../firmware/stock-firmware#advanced-examples) to see how to extend the patterns with your very own pattern.
Check out the [advanced examples](../firmware/stock-firmware#advanced-examples) to learn how to create and customize your own patterns.

## Doorbell Pattern

Expand All @@ -20,8 +20,8 @@ Take a look at the [advanced examples](../firmware/stock-firmware#advanced-examp
- entrance_triple

### Example Automation
::: details Automatically open the door when the Entrance Doorbell is pressed 2 times in a certain way.
You have to change the `entity_id` to your Doorman entities.
::: details Automatically open the door when the Entrance Doorbell is pressed twice in a specific pattern.
Make sure to replace the `entity_id` with your specific Doorman entities.
```yaml
alias: Automatically open the entrance door
description: "Open the entrance door after pressing the entrance doorbell two times."
Expand Down Expand Up @@ -50,8 +50,8 @@ mode: single
- triple
### Example Automation
::: details Toggle Ring To Open Mode when you quickly pick up the phone 3 times.
You have to change the `entity_id` to your Doorman entities.
::: details Toggle Ring To Open Mode by quickly picking up the phone three times.
Make sure to replace the `entity_id` with your specific Doorman entities.
```yaml
alias: Toggle Ring To Open Mode (Phone pick up Pattern)
description: "Toggle Ring To Open Mode when you quickly pick up the phone 3 times."
Expand Down
18 changes: 8 additions & 10 deletions docs/guide/automation/ring-to-open.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
# Ring To Open <Badge type="warning" text="Party Mode" />

The Doorman Firmware offers a `Ring To Open` automation, also known as `Party Mode`.
The Doorman firmware features a Ring To Open automation, which was previously known as Party Mode.

### What does it do?
As the name already says, the entrance door will be opened as soon as someone rings the entrance doorbell.
It could be useful when you have a party. That way your guests can just enter the building by ringing.
As the name implies, the entrance door will open automatically when someone rings the doorbell.
This feature is especially useful during a party, allowing guests to enter the building simply by ringing the bell.

### How do I use it?
You can enable and disable the `Ring To Open` automation with the switch in Home Assistant or the `Ring To Open Toggle Command`.
You can enable or disable the Ring To Open automation using the switch in Home Assistant or by issuing the `Ring To Open Toggle Command`.

#### Configuration Options:

::: info Toggle Command
This setting is useful when you have an unused function button on your intercom phone.\
The button can quickly toggle the `Ring To Open` automation.
This setting is useful if you have an unused function button on your intercom phone. The button can be configured to quickly toggle the Ring To Open automation.
:::

::: info Confirmation
If you enable this setting, your apartment doorbell will ring whenever you enable the `Ring To Open` automation via command.
If you enable this setting, your apartment doorbell will ring each time you activate the Ring To Open automation via command.
:::

::: info Delay
This setting allows you to configure a delay for the `Open Entrance Door Command`.\
If you set the delay to 60 seconds it will choose a random delay between 5 and 15 seconds.
This setting allows you to configure a delay for the `Open Entrance Door Command`. If you set the delay to 60 seconds, it will randomly select a delay between 5 and 15 seconds whenever the automation is executed.
:::

::: info Timeout
You have the options to disable the `Ring To Open` automation after 5 to 60 minutes, after a single ring or never.
You can choose to disable the Ring To Open automation after 5 to 60 minutes, after a single ring, or never.
:::
6 changes: 3 additions & 3 deletions docs/guide/enclosure/3d-printing.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Enclosure

In case you want an enclosure you can print your own one.\
Just click on the the images below to open the STL file on Github.
If you need an enclosure, you can print your own.\
Simply click on the images below to open the STL file on GitHub.

Top | Bottom
:-------------------------:|:-------------------------:
[![](./enclosure_top.png){width=300px}](https://github.com/AzonInc/Doorman/blob/master/enclosure/Top.stl) | [![](./enclosure_bottom.png){width=300px}](https://github.com/AzonInc/Doorman/blob/master/enclosure/Bottom.stl)

::: tip
The STL files are optimized for resin printers, you will achieve the best results by using such a printer.
The STL files are optimized for resin printers, so you'll achieve the best results using one.
:::
Loading

0 comments on commit 382aca4

Please sign in to comment.