Skip to content

Commit

Permalink
Extend Ring To Open
Browse files Browse the repository at this point in the history
  • Loading branch information
AzonInc committed Sep 30, 2024
1 parent 6f71414 commit a2bac2b
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 11 deletions.
20 changes: 12 additions & 8 deletions docs/de/guide/automation/ring-to-open.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
# Ring To Open <Badge type="warning" text="Party Mode" />

Die Doorman-Firmware bietet eine **Ring To Open**-Automatisierung, die früher als **Party Mode** bekannt war.
Die Doorman-Firmware bietet eine **Ring To Open**-Automation, die früher als **Party Mode** bekannt war.

### Was macht es?
Wie der Name schon sagt, öffnet sich die Eingangstür automatisch, wenn jemand die Türklingel betätigt. Diese Funktion ist besonders nützlich während einer Party, da Gäste einfach durch Klingeln das Gebäude betreten können.

### Wie benutze ich es?
Du kannst die Ring To Open-Automatisierung entweder über den Schalter in Home Assistant umschalten oder durch Ausführen des `Function Button` Commands.
Du kannst die Ring To Open-Automation entweder über den Schalter in Home Assistant umschalten oder durch Ausführen des `Function Button` Commands.

#### Konfigurationsoptionen:
::: info **Confirmation**
Wenn du diese Einstellung aktivierst, wird deine Wohnungs-Klingel jedes Mal klingeln, wenn du die Ring To Open-Automatisierung per Befehl (Funktionstaste) aktivierst.
::: info Confirmation
Wenn du diese Einstellung aktivierst, wird deine Wohnungs-Klingel jedes Mal klingeln, wenn du die Ring To Open-Automation per Befehl (Funktionstaste) aktivierst.
:::

::: info **Delay**
Diese Einstellung erlaubt es dir, eine Verzögerung für den `Open Entrance Door Command` zu konfigurieren. Wenn du die Verzögerung auf 60 Sekunden einstellst, wird bei jeder Ausführung der Automatisierung zufällig eine Verzögerung zwischen 5 und 15 Sekunden ausgewählt.
::: info Delay
Diese Einstellung erlaubt es dir, eine Verzögerung für den `Open Entrance Door Command` zu konfigurieren. Wenn du die Verzögerung auf 60 Sekunden einstellst, wird bei jeder Ausführung der Automation zufällig eine Verzögerung zwischen 5 und 15 Sekunden ausgewählt.
:::

::: info **Timeout**
Du kannst die Ring To Open-Automatisierung nach 5 bis 60 Minuten, nach einem einzigen Klingeln oder nie automatisch deaktivieren.
::: info Timeout
Du kannst die Ring To Open-Automation nach 5 bis 60 Minuten, nach einem einzigen Klingeln oder nie automatisch deaktivieren.
:::

::: info Triggering Door Station
Du kannst entscheiden welche Außenstelle (Tür) die Automation auslöst.
:::
12 changes: 10 additions & 2 deletions docs/de/reference/entities.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,22 @@ Das Einstellen der Verzögerung auf das Maximum (60 Sekunden) führt dazu, dass

## Dropdowns

### Ring To Open: Timeout <Badge type="tip" text="doorman_ring_to_open_timeout_mode" /> <Badge type="info" text="Deaktiviert" />
Legt den Timeout-Modus für die [Ring To Open](../guide/automation/ring-to-open) Automatisierung fest.
### Ring To Open: Timeout <Badge type="tip" text="doorman_ring_to_open_timeout_mode" />
Legt den Timeout-Modus für die [Ring To Open](../guide/automation/ring-to-open) Automation fest.

##### Modi:
- Einmal klingeln
- 5 bis 60 Minuten
- Nie

### Ring To Open: Triggering Door Station <Badge type="tip" text="doorman_ring_to_open_door_trigger" />
Legt die auslösende Außenstelle für die [Ring To Open](../guide/automation/ring-to-open) Automation fest.

##### Optionen:
- Eingang
- Zweiter Eingang
- Egal

## Schlösser

### Nuki Lock <Badge type="tip" text="nuki_smart_lock" /> <Badge type="info" text="Nuki Bridge only" />
Expand Down
4 changes: 4 additions & 0 deletions docs/en/guide/automation/ring-to-open.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,8 @@ This setting allows you to configure a delay for the `Open Entrance Door Command

::: info Timeout
You can choose to disable the Ring To Open automation after 5 to 60 minutes, after a single ring, or never.
:::

::: info Triggering Door Station
You can choose which door station will trigger the automation.
:::
8 changes: 8 additions & 0 deletions docs/en/reference/entities.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,14 @@ Sets the timeout mode for the [Ring To Open](../guide/automation/ring-to-open) a
- 5 to 60 minutes
- Never

### Ring To Open: Triggering Door Station <Badge type="tip" text="doorman_ring_to_open_door_trigger" />
Sets the triggering door for the [Ring To Open](../guide/automation/ring-to-open) automation.

##### Options:
- Entrance
- Second Entrance
- Any


## Locks

Expand Down
46 changes: 45 additions & 1 deletion firmware/addons/ring-to-open.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ binary_sensor:
# Ring To Open Action
- if:
condition:
switch.is_on: doorman_ring_to_open
- switch.is_on: doorman_ring_to_open
- lambda: !lambda 'return id(doorman_ring_to_open_door_trigger).state == "Entrance" || id(doorman_ring_to_open_door_trigger).state == "Any";'
then:
# Deactivate Ring To Open when Ring once is selected
- if:
Expand All @@ -31,6 +32,37 @@ binary_sensor:
type: open_door
address: 0

- id: !extend second_entrance_doorbell
on_press:
then:
# Ring To Open Action
- if:
condition:
- switch.is_on: doorman_ring_to_open
- lambda: !lambda 'return id(doorman_ring_to_open_door_trigger).state == "Second Entrance" || id(doorman_ring_to_open_door_trigger).state == "Any";'
then:
# Deactivate Ring To Open when Ring once is selected
- if:
condition:
- lambda: !lambda 'return id(doorman_ring_to_open_timeout_mode).state == "Ring once";'
then:
- switch.turn_off: doorman_ring_to_open

# If delay is 60 seconds, use random delay from 5 to 15 seconds
- if:
condition:
number.in_range:
id: doorman_ring_to_open_delay
above: 59
then:
- delay: !lambda "return 5000 + (rand() % 10000);"
else:
- delay: !lambda "return (id(doorman_ring_to_open_delay).state*1000) + 300;"

- tc_bus.send:
type: open_door
address_lambda: !lambda "return id(second_door_station_id);"

- id: !extend function_button
on_press:
- switch.toggle: doorman_ring_to_open
Expand Down Expand Up @@ -111,6 +143,18 @@ select:
initial_option: Never
entity_category: CONFIG

- platform: template
id: doorman_ring_to_open_door_trigger
name: "Ring To Open: Triggering Door Staion"
icon: mdi:door
optimistic: true
options:
- Entrance
- Second Entrance
- Any
initial_option: Any
entity_category: CONFIG


script:
- id: ring_to_open_timer
Expand Down

0 comments on commit a2bac2b

Please sign in to comment.