Skip to content

Commit

Permalink
Merge pull request #7 from AzonInc/dev
Browse files Browse the repository at this point in the history
Update Readme
  • Loading branch information
AzonInc authored Jun 4, 2024
2 parents 447c758 + 53940e4 commit 36b0fe7
Show file tree
Hide file tree
Showing 8 changed files with 3,092 additions and 3,527 deletions.
27 changes: 21 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@ If your intercom is not a TCS or Koch one but operates on a 2-wire bus within th

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 for sponsoring this Project.
Thanks a lot to [PCBWay](https://pcbway.com) for sponsoring this Project.
Scroll down to "Manufacturing" to read more.

** Please also take a look at the Getting started section for first-use instructions.**

## 📦 Interested in buying one?

Feel free to contact me on [Discord](https://discord.gg/t2d34dvmBf), [GitHub Issues](https://github.com/AzonInc/Doorman/issues) or by [E-Mail](mailto:flo@azon.ai?subject=Doorman).
Expand Down Expand Up @@ -93,7 +95,7 @@ If it is connected in 3-wire mode you should be able to use the P-Line to power

> [!NOTE]
> On some installations the a and b wires are twisted but it doesn't matter because Doorman has an integrated bridge rectifier to handles that for you.
> However if you want to power your Doorman in two-wire-mode using the bus wire it's only possible with hardware revision >= V1.4.
<!--> However if you want to power your Doorman in two-wire-mode using the bus wire it's only possible with hardware revision >= V1.4.-->
> [!WARNING]
> The minimum output current of the intercom power supply **must be 60mA** in order to achieve a stable operation!\
Expand Down Expand Up @@ -126,7 +128,7 @@ If it is connected in 3-wire mode you should be able to use the P-Line to power
3. Connect the b-wire (Ground) to the other TCS:BUS-Terminal of your Doorman
4. Connect an external Power Supply via USB-C Port

#### 2-Wire Mode (with power via a-Terminal)
<!--#### 2-Wire Mode (with power via a-Terminal)
<img src=".github/images/wiring_2wire_power_a_terminal.png" alt="2 Wire Installation" height="275">
> [!IMPORTANT]
Expand All @@ -136,7 +138,7 @@ If it is connected in 3-wire mode you should be able to use the P-Line to power
2. Connect the a-wire (24V Bus) to one of the TCS:BUS-Terminals of your Doorman
3. Connect the b-wire (Ground) to the other TCS:BUS-Terminal of your Doorman
4. Connect the a-wire (24V Bus) to the P-Terminal of your Doorman

-->
#### 3-Wire Mode (with sufficient Intercom Power Supply - min. 60mA)
<img src=".github/images/wiring_3wire.png" alt="3 Wire Installation" height="275">

Expand All @@ -159,14 +161,14 @@ You can find a detailed explanation in the repository. It's kinda similar.

<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.\
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.

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.

If you need a good quality one stop manufacturer I can definitely recommend PCBWay :)
If you need a good quality one stop manufacturer I can definitely recommend [PCBWay](https://pcbway.com) :)

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

Expand All @@ -176,6 +178,19 @@ In case you want an enclosure you can print your own one.\
Just use the STL files provided [here](https://github.com/AzonInc/Doorman/tree/master/enclosure) and you'll be good to go.\
<img src=".github/images/enclosure.png" alt="Doorman S3" height="275">

## 🚀 Getting started

When you power on your Doorman-S3 for the first time it opens an Access Point called "Doorman-S3 Setup".
The AP Password is "open-sesame".
You can setup your WiFi credentials there or also via Improv Serial + Improv Bluetooth.

Thanks to mDNS Support Homeassistant will find your Doorman out of the box.
After adding your Doorman to Homeassistant you need to enable the Last Bus Command Sensor to capture the Bus commands of your intercom.

When you obtained all neccessary commands you can adopt the device in your ESPHome Dashboard and flash the `stock.example.yaml` firmware with adjusted command values.

That's basically everything you need to do. Happy automating!

## ⚠️ Disclaimer

Please DO NOT use the +24V P-Line if the Power Supply is not powerful enough.\
Expand Down
32 changes: 20 additions & 12 deletions firmware/addons/nuki-bridge.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
esphome:
libraries:
- Preferences
- https://github.com/vinmenn/Crc16.git
- https://github.com/h2zero/NimBLE-Arduino
- https://github.com/vinmenn/Crc16
- https://github.com/AzonInc/NukiBleEsp32

external_components:
Expand All @@ -12,19 +13,26 @@ binary_sensor:
- platform: gpio
pin:
number: GPIO0
inverted: True
internal: True
inverted: true
mode:
input: true
pullup: true
ignore_strapping_warning: true
internal: true
id: doorman_boot_button
on_multi_click:
- timing:
- ON for at least 5s
then:
if:
condition:
binary_sensor.is_on: nuki_paired
then:
- nuki_lock.unpair:
- lambda: |
ESP_LOGI("pairing", "Pairing Mode: TODO");
else:
- nuki_lock.set_pairing_mode: true
- if:
condition:
binary_sensor.is_on: nuki_paired
then:
- nuki_lock.unpair:
id: nuki_smart_lock
- lambda: |
ESP_LOGI("pairing", "Pairing Mode: TODO");
- nuki_lock.set_pairing_mode:
id: nuki_smart_lock
pairing_mode: true
19 changes: 11 additions & 8 deletions firmware/base.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ esphome:

project:
name: "AzonInc.Doorman S3"
version: "1.3.0"
version: "1.4.0"

on_boot:
then:
Expand All @@ -18,24 +18,27 @@ esphome:
red: 0%
green: 56%
blue: 52%
brightness: 60%
- wait_until:
condition:
wifi.connected:
- light.turn_on:
id: doorman_rgb_status_led
effect: slow_pulse
red: 0%
green: 30%
green: 50%
blue: 100%
brightness: 60%
- wait_until:
condition:
api.connected:
- light.turn_on:
id: doorman_rgb_status_led
effect: none
red: 0%
green: 30%
green: 50%
blue: 100%
brightness: 60%
- delay: 3s
- script.execute: reset_led

Expand Down Expand Up @@ -112,11 +115,11 @@ switch:
turn_on_action:
- light.turn_on:
id: doorman_rgb_status_led
red: 100%
green: 100%
red: 80%
green: 80%
blue: 3%
effect: slow_partymode

effect: slow_pulse
brightness: 60%
turn_off_action:
- light.turn_off: doorman_rgb_status_led

Expand Down Expand Up @@ -161,7 +164,7 @@ light:
chipset: ws2812
gamma_correct: 1
default_transition_length: 0ms
color_correct: [50%, 50%, 50%]
color_correct: [60%, 60%, 60%]
effects:
- pulse:
name: pulse
Expand Down
2 changes: 2 additions & 0 deletions firmware/doorman-nuki-bridge.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ lock:
green: 0%
blue: 100%
effect: pulse
brightness: 60%

on_pairing_mode_off_action:
- light.turn_off:
Expand All @@ -81,6 +82,7 @@ lock:
red: 100%
green: 0%
blue: 100%
brightness: 60%
- delay: 3s
- light.turn_off:
id: doorman_rgb_status_led
Loading

0 comments on commit 36b0fe7

Please sign in to comment.