Skip to content

Commit

Permalink
Merge pull request #26 from AzonInc/dev
Browse files Browse the repository at this point in the history
2024.11.0
  • Loading branch information
AzonInc authored Nov 14, 2024
2 parents 2a35fbe + 83481b2 commit 3b73f69
Show file tree
Hide file tree
Showing 99 changed files with 14,317 additions and 8,507 deletions.
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report_component.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: TC:BUS Component Bug Report
description: Report bugs or get help with the TC:BUS ESPHome component
labels: ["bug"]
assignees:
- AzonInc
body:
- type: textarea
id: description
attributes:
label: Description
description: Please describe the bug you encountered, and what you expected to happen instead.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: Please copy and paste any relevant log output.
render: plain text
- type: input
id: esphome-version
attributes:
label: If you're using an ESPHome YAML config, which version of ESPHome are you running?
placeholder: "2024.3.0"
- type: textarea
id: esphome-config
attributes:
label: ESPHome Config
description: If you have your own ESPHome YAML configuration, please paste it here. Remember to redact any sensitive information like encryption keys or passwords.
render: YAML
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Bug Report
name: Doorman Firmware Bug Report
description: File a bug report or get help with an issue.
labels: ["bug"]
assignees:
Expand All @@ -21,7 +21,7 @@ body:
id: config-version
attributes:
label: Which version of the ESPHome Doorman firmware config are you running?
placeholder: "1.0.0"
placeholder: "2024.8.0"
- type: dropdown
id: update-management
attributes:
Expand All @@ -33,7 +33,7 @@ body:
id: esphome-version
attributes:
label: If you're using an ESPHome YAML config, which version of ESPHome are you running?
placeholder: "2024.3.0"
placeholder: "2024.8.0"
- type: textarea
id: esphome-config
attributes:
Expand Down
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Feature Request
description: Have a good idea? Tell me :)
labels: ["enhancement"]
assignees:
- AzonInc
body:
- type: textarea
id: description
attributes:
label: Description
description: Please describe the new feature.
validations:
required: true
Binary file modified .github/images/pcb_bottom_dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .github/images/pcb_top_dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .github/images/title_dark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .github/workflows/build-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ jobs:
run: |
sed -i 's/@master/@dev/g' */guide/getting-started.md
sed -i 's/master/dev/g' */guide/enclosure/3d-printing.md
sed -i 's/@master/@dev/g' */reference/schematics.md
sed -i 's/@master/@dev/g' */guide/firmware/minimal.example.yaml
- name: Install dependencies
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/build-nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,26 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Compile Stock Firmware
- name: Compile Stock (ESP32-S3) Firmware
uses: esphome/build-action@v4.0.1
with:
yaml-file: firmware/doorman-stock.yaml
version: latest
complete-manifest: true

- name: Compile Nuki Bridge Firmware
- name: Compile Nuki Bridge (ES32-S3) Firmware
uses: esphome/build-action@v4.0.1
with:
yaml-file: firmware/doorman-nuki-bridge.yaml
version: latest
complete-manifest: true

- name: Compile Component Test (ESP8266) Firmware
uses: esphome/build-action@v4.0.1
with:
yaml-file: firmware/tc-bus-component-8266.yaml
version: latest

- name: Send Discord failure notification
if: failure()
uses: appleboy/discord-action@master
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/bundle-assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,16 @@ jobs:
name: vitepress-docs
path: output

- name: Download Doorman Stock artifact
- name: Copy interactive BOM
run: cp pcb/bom/ibom.html output/

- name: Download Doorman Stock (ESP32-S3) artifact
uses: actions/download-artifact@v4
with:
name: firmware-doorman-stock
path: output/firmware/release

- name: Download Doorman Nuki Bridge artifact
- name: Download Doorman Nuki Bridge (ESP32-S3) artifact
uses: actions/download-artifact@v4
with:
name: firmware-doorman-nuki-bridge
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
# Build stable firmware
build-doorman-stock-stable-firmware:
if: github.ref == 'refs/heads/master'
name: Build Doorman Stock Firmware (stable)
name: Build Doorman Stock (ESP32-S3) Firmware (stable)
uses: ./.github/workflows/build-esphome.yml
with:
files: firmware/doorman-stock.yaml
Expand All @@ -38,7 +38,7 @@ jobs:

build-doorman-nuki-bridge-stable-firmware:
if: github.ref == 'refs/heads/master'
name: Build Doorman Nuki Bridge Firmware (stable)
name: Build Doorman Nuki Bridge (ESP32-S3) Firmware (stable)
uses: ./.github/workflows/build-esphome.yml
with:
files: firmware/doorman-nuki-bridge.yaml
Expand All @@ -50,7 +50,7 @@ jobs:
# Build dev firmware
build-doorman-stock-dev-firmware:
if: github.ref != 'refs/heads/master'
name: Build Doorman Stock Firmware (dev)
name: Build Doorman Stock (ESP32-S3) Firmware (dev)
uses: ./.github/workflows/build-esphome.yml
with:
files: firmware/doorman-stock.dev.yaml
Expand All @@ -60,7 +60,7 @@ jobs:

build-doorman-nuki-bridge-dev-firmware:
if: github.ref != 'refs/heads/master'
name: Build Doorman Nuki Bridge Firmware (dev)
name: Build Doorman Nuki Bridge (ESP32-S3) Firmware (dev)
uses: ./.github/workflows/build-esphome.yml
with:
files: firmware/doorman-nuki-bridge.dev.yaml
Expand Down
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ production
*autosave*
*auto_save*
/coverage
/src/client/shared.ts
/src/node/shared.ts
*.log
*.tgz
.DS_Store
Expand All @@ -21,4 +19,7 @@ examples-temp
node_modules
pnpm-global
TODOs.md
*.timestamp-*.mjs
*.timestamp-*.mjs
__pycache__
.esphome
/*.yaml
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
</h1>

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.
It's also compatible with some rebranded [Niko](https://www.niko.eu/), [Scantron](https://scantron.dk/) and older [Jung](https://www.jung-group.com/) intercoms, which are counterparts of TCS and Koch models.

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 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.
If your intercom isn't a TCS, Koch, Niko, Scantron or Jung model but operates on a 2-wire bus within the 14-24V DC range, you might be able to implement other protocols. Additionally, you can monitor the voltage levels on older intercoms (14-24V), allowing you to trigger specific actions based on the voltage readings.

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.
Expand All @@ -25,7 +25,7 @@ Be sure to visit the [Doorman Docs](https://doorman.azon.ai/) for all the inform

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

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.
I offer fully assembled and tested Doorman-S3 units with the [Stock Firmware](firmware/stock-firmware) pre-installed, ready for direct integration and adoption into Home Assistant.

## 🤖 Features

Expand All @@ -38,7 +38,7 @@ I offer fully assembled and tested Doorman-S3 units with the [Stock Firmware](fi
- 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.
- Can be used as a Nuki Bridge with the [Nuki Bridge Firmware](https://doorman.azon.ai/guide/firmware/nuki-bridge-firmware). Note that this firmware is incompatible with the Nuki app, but it works with the Home Assistant app.

## ✔️ Compatibility

Expand All @@ -51,6 +51,7 @@ The repository is organized into the following directories:

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

## 🛠️ Manufacturing
Expand Down Expand Up @@ -92,4 +93,7 @@ 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)**\
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.
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.

**[calibanorg](https://github.com/calibanorg)**\
Thank you so much for your support, both in terms of encouragement and financial assistance, in the development of Doorman.
27 changes: 6 additions & 21 deletions blueprints/confirmable_open_door_notification.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,6 @@ blueprint:
entity:
integration: esphome
domain: binary_sensor
open_door_command:
name: "Open Door Command"
description: "This Command will be sent to open the Door"
default: "1100"
selector:
text:
open_door_button_command:
name: "Open Door Button Command"
description: "This command will be used to check if the physical 'Open Door' button of your intercom was pressed."
default: "1c30ba80"
selector:
text:

notification_details_section:
name: "Notification Details"
Expand Down Expand Up @@ -81,9 +69,12 @@ blueprint:
name: "Confirmation Action"
description: "Action to run when notification is confirmed"
default:
- service: esphome.doorman_s3_send_tcs_command
- service: esphome.doorman_s3_send_tc_command
data:
command: "{{ open_door_command | int(base=16) }}"
type: "open_door"
address: "0"
payload: "0"
serial_number: "0"
selector:
action:
dismiss_action:
Expand All @@ -107,8 +98,6 @@ action:
variables:
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
open_door_command: !input open_door_command
open_door_button_command: !input open_door_button_command
- parallel:
- sequence:
- alias: "Send notification"
Expand Down Expand Up @@ -166,11 +155,7 @@ action:
- platform: event
event_type: esphome.doorman
event_data:
command: !input open_door_command
- platform: event
event_type: esphome.doorman
event_data:
command: !input open_door_button_command
type: "open_door"
continue_on_timeout: false
timeout:
hours: 0
Expand Down
Loading

0 comments on commit 3b73f69

Please sign in to comment.