Hacking my door phone connect it with Z-Wave
Background
The intercom/buzzer/doorphone in my flat is a Siedle HTS 711-01, and i wanted to be able to press the the button remotely, to trigger the lock downstairs in my building.
The ringer also makes a deeply horrible sound when some rings my bell, the next part for this project is to sense the ring singlas when this happens, and play an actually pleasant sound instead. Being able to automate and schedule when it is on/off based on the rest of the state of my flat will also be nice. But i started with the easy part, triggering the door unlocking.
Adding a relay to trigger the buzzer
Since the buzzer for the house door is triggred by a simple switch, all we need is a relay that we can control remotely. I personally mainly use Z-Wave (with Z-Wave JS) devices, controlled with Home Assistant.
I used used a Fibaro FGBS-222 implant that i had on hand, which is (among other things) a relay.
This is a really simple switch, it just closes a circuit which triggers the buzzer. I soldered wires to each end of the open side of the circuit that the button closess, and use one of the relay contacts on the FGBS-222 to close it.
Home Assistant templating
Configuration for Home Assistant can be found at infra:roles/hass/files/packages/doorbell.yaml
:
---
script:
momentary_switch:
icon: mdi:button-pointer
mode: parallel
sequence:
- service: switch.toggle
target:
entity_id: "{{ target_switch }}"
- delay:
milliseconds: "{{ press_for_ms | int }}"
- service: switch.toggle
target:
entity_id: "{{ target_switch }}"
fields:
target_switch:
description: >-
entity_id of the switch to toggle like a button (a list of
entity_id's also works)
example: switch.smart_implant_out1
press_for_ms:
description: how long to press the button, in milliseconds
default: 200
template:
- binary_sensor:
- name: doorbell_buzzer
state: >-
{{ is_state("switch.doorbell_buzzer", "on") }}
icon: >-
{% if is_state("switch.doorbell_buzzer", "on") %}
mdi:electric-switch-closed
{% else %}
mdi:electric-switch
{% endif %}
- button:
name: doorbell_buzzer
icon: >-
{% if is_state("switch.doorbell_buzzer", "on") %}
mdi:electric-switch-closed
{% else %}
mdi:electric-switch
{% endif %}
press:
- service: script.momentary_switch
data:
target_switch: switch.doorbell_buzzer
press_for_ms: 200
This assumes that the switch
entity on the FGBS-222 module is named switch.doorbell_buzzer
, and creates
a button.doorbell_buzzer
entity that triggers the relay.
Files
Filename | |
---|---|
Systemhandbuch_1+n-Technik_2019_210009634-00_DE.pdf | Datasheet and wiring diagrams |
CHANGELOG
Date | Comment |
---|---|
2023-03-08 | Connected the buzzer to Fibaro FGBS-222 and HA |
2023-09-08 | Added example YAML config for HA |