Anpassungen
Entdecke verschiedene Beispiele, um die Doorman-Firmware anzupassen und zu erweitern. Vom Hinzufügen benutzerdefinierter Sensoren bis hin zum Anpassen von Automatisierungseinstellungen helfen dir diese Beispiele, das Gerät nach deinen individuellen Bedürfnissen zu gestalten. Folge den Anleitungen um das Beste aus deiner Konfiguration herauszuholen.
Erstelle einen einfachen TC Telegram Binary Sensor
Du kannst problemlos benutzerdefinierte Binärsensoren für jeden TC-Befehl hinzufügen, zusätzlich zu den bereits vorkonfigurierten. Damit kannst du auf jeden anderen Busbefehl hören und darauf reagieren, um die Funktionalität deines Systems zu erweitern.
# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
binary_sensor:
- platform: tc_bus
name: "Custom Telegram"
type: open_door
address: 0
web_server:
sorting_group_id: sorting_group_listeners# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
binary_sensor:
- platform: tc_bus
name: "Custom Telegram"
telegram: 0x00001100
web_server:
sorting_group_id: sorting_group_listenersSteuere die interne RGB-Status-LED
Um die Onboard-RGB-LED mit einem Button (zum Beispiel) zu steuern, kannst du einfach die Licht-Entität mit der internen ID: doorman_rgb_status_led referenzieren.
# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
button:
- platform: template
name: "Turn on Status RGB LED to red"
on_press:
- light.turn_on:
id: doorman_rgb_status_led
red: 100%
green: 0%
blue: 0%Verwende den externen Hardware-Button
Wenn du den externen Button verwenden möchtest, um Automatisierungen auszulösen, erweitere den Block on_press und füge deine eigenen Aktionen hinzu.
# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
binary_sensor:
- id: !extend doorman_external_button
on_press:
- logger.log: "External button pressed!"Verwende I²C-Sensoren
Falls du Sensoren über den I²C-Bus hinzufügen möchtest, kannst du die beiden verfügbaren GPIO-Pins verwenden und die I²C-Komponente zu deiner Konfiguration hinzufügen. Du kannst dann deine Sensoren an diese beiden I²C-GPIO-Pins anschließen.
# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
i2c:
sda: GPIO40
scl: GPIO48
scan: true
id: i2c_busErstelle dein eigenes Klingelmuster
Wenn du ein benutzerdefiniertes Klingelmuster erstellen möchtest, kannst du die vorhandenen Klingel-Entities ganz einfach erweitern. Weitere Informationen zu Mustern findest du in der ESPHome-Dokumentation.
# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Erweitere die Klingelmuster-Event-Entität
# Füge einen neuen speziellen Ereignistyp hinzu
event:
- id: !extend apartment_doorbell_pattern
event_types:
- "special"
# Erweitere die Ring-To-Open-Musterbedingungen
# Du musst jede Türmuster-Bedingung erweitern, bei der du das Muster verwenden möchtest
select:
- id: !extend rto_apartment_door_pattern_condition
options:
- "special"
# Erweitere die apartment_doorbell / entrance_doorbell-Entity
# und füge dein neues spezielles Muster hinzu
binary_sensor:
- id: !extend apartment_doorbell
on_multi_click:
# Spezielles Muster
- timing:
# Drücke zweimal schnell mit höchstens einer halben Sekunde dazwischen.
- ON for at most 0.3s
- OFF for at most 0.5s
- ON for at most 0.3s
- OFF for 1s to 1.5s
# Drücke einmal langsam mit höchstens 1,5 Sekunden dazwischen.
- ON for at most 0.3s
- OFF for 1s to 1.5s
# Drücke einmal.
- ON for at most 0.3s
- OFF for at least 2s
then:
- logger.log: "Spezielles Muster erkannt!"
- event.trigger:
id: apartment_doorbell_pattern
# Verwende hier den vorher definierten neuen Ereignistyp
event_type: specialLicht an, wenn die Eingangsklingel betätigt wird
Du kannst eine Automatisierung einrichten, die das Licht einschaltet, wenn jemand die Eingangsklingel betätigt. Dies ist nützlich, um es leichter zu machen, zu sehen, wer an der Tür ist. Konfiguriere einfach die Automatisierung, um das Licht basierend auf dem Klingelereignis einzuschalten.
# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
binary_sensor:
- id: !extend entrance_doorbell
on_press:
- tc_bus.send:
type: "light"# Doorman S3 Firmware
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
# Import Doorman Stock Firmware Config
packages:
AzonInc.Doorman: github://azoninc/doorman/firmware/configurations/esp32-s3.ha.stock.dev.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Importiere den Home Assistant-Sonnenhöhen-Sensor
sensor:
- platform: homeassistant
id: sun_elevation
entity_id: sun.sun
attribute: elevation
# Erweitere den Eingangsklingelsensor
binary_sensor:
- id: !extend entrance_doorbell
on_press: # [!!code focus]
# Sonnenhöhe <= 0 (dunkel)
- if:
condition:
sensor.in_range:
id: sun_elevation
below: 1
then:
# Schalte das Licht ein
- tc_bus.send:
type: "light"Do It Yourself
Möchtest du die Firmware anpassen und nur die Funktionen nutzen, die du wirklich brauchst? Gute Nachrichten!
Die Doorman-Firmware ist modular aufgebaut und in Pakete unterteilt, die du ganz einfach kombinieren kannst.
Brauchen du eine Funktion, zum Beispiel die Einstellungen der Innenstation, nicht? Dann kommentiere sie einfach in deiner Konfiguration aus. Die Reihenfolge der Pakete ist wichtig, da manche aufeinander aufbauen.
Sieh dir das folgende YAML-Beispiel zur Orientierung an:
Beispielkonfiguration
# Doorman S3 DIY Firmware
# You can change a few options here.
substitutions:
name: "doorman-s3"
friendly_name: "Doorman S3"
log_level: "INFO"
# Required for "External Components"
branch: "dev"
packages:
# Device type
# Either esp32, esp32-s3 or esp32-s3-quad
host: github://azoninc/doorman/firmware/hosts/esp32-s3.yaml@dev
# host: github://azoninc/doorman/firmware/hosts/esp32-s3-quad.yaml@dev
# host: github://azoninc/doorman/firmware/hosts/esp32.yaml@dev
# External Components (REQUIRED)
external_components: github://azoninc/doorman/firmware/components/external-components.yaml@dev
# RGB Status LED (REQUIRED)
rgb_status_led: github://azoninc/doorman/firmware/components/rgb-status-led.yaml@dev
rgb_status_led_effects: github://azoninc/doorman/firmware/components/rgb-status-led.effects.yaml@dev
# Base Doorman Firmware (REQUIRED)
base: github://azoninc/doorman/firmware/base.yaml@dev
# Improv BLE
# Incompatible with Nuki Bridge
bluedroid_ble: github://azoninc/doorman/firmware/components/bluedroid-ble.yaml@dev
# OTA via Webserver & Device Builder
ota_update: github://azoninc/doorman/firmware/components/ota-update.esphome.yaml@dev
# Smart Home Integration
# Either homeassistant, mqtt, homekit or custom
# Use custom, if you just want to use it via wifi (http requests)
api: github://azoninc/doorman/firmware/components/api.homeassistant.yaml@dev
# api: github://azoninc/doorman/firmware/components/api.mqtt.yaml@dev
# api: github://azoninc/doorman/firmware/components/api.homekit.yaml@dev
# api: github://azoninc/doorman/firmware/components/api.custom.yaml@dev
# TC:BUS debug tools
debug_utilities: github://azoninc/doorman/firmware/components/debug-utilities.yaml@dev
# ESPHome debug sensors
debug_component: github://azoninc/doorman/firmware/components/debug-component.yaml@dev
debug_component_psram: github://azoninc/doorman/firmware/components/debug-component.psram.yaml@dev
# Pattern events
pattern_events: github://azoninc/doorman/firmware/components/pattern-events.yaml@dev
# Ring To Open automation
ring_to_open: github://azoninc/doorman/firmware/components/ring-to-open.yaml@dev
# TC:BUS Device Settings (Indoor Station)
# Ringtones, Volume
indoor_station_settings: github://azoninc/doorman/firmware/components/indoor-station-settings.yaml@dev
# Nuki Bridge
# Incompatible with Improv BLE (bluedroid-ble)
# addon_nuki_bridge: !include github://azoninc/doorman/firmware/components/nuki-bridge.yaml@dev
# Interactive Setup Mode
interactive_setup: github://azoninc/doorman/firmware/components/interactive-setup.yaml@dev
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password