Add HM-PB-6-WM55 Wandtaster Blueprint (6 Tasten, CCU2)
This commit is contained in:
parent
5c48e1c2a5
commit
df43edc5c4
1 changed files with 307 additions and 0 deletions
307
blueprints/automation/hm_pb_6_wm55_taster.yaml
Normal file
307
blueprints/automation/hm_pb_6_wm55_taster.yaml
Normal file
|
|
@ -0,0 +1,307 @@
|
||||||
|
blueprint:
|
||||||
|
name: Homematic Wandtaster HM-PB-6-WM55 (CCU2)
|
||||||
|
description: >
|
||||||
|
Ordnet den 6 Tasten eines Homematic-Wandtasters HM-PB-6-WM55 (angebunden
|
||||||
|
über eine CCU2) jeweils eine Zielentität und eine Aktion (Umschalten,
|
||||||
|
Einschalten, Ausschalten) zu. Kurzer und langer Tastendruck (PRESS_SHORT /
|
||||||
|
PRESS_LONG) lösen dieselbe Aktion aus.
|
||||||
|
|
||||||
|
Passt für normale Schalter/Lampen genauso wie für ein Garagentor als
|
||||||
|
cover-Entität: "Umschalten" öffnet bzw. schließt das Tor dann automatisch
|
||||||
|
passend zum aktuellen Zustand – ganz ohne Sonderlogik. Ungenutzte Tasten
|
||||||
|
einfach leer lassen, dann passiert bei ihnen nichts.
|
||||||
|
|
||||||
|
Für jedes physische Taster-Gerät wird eine eigene Automatisierungs-Instanz
|
||||||
|
aus diesem Blueprint angelegt. Der Gerätename lässt sich über
|
||||||
|
Entwicklerwerkzeuge → Ereignisse (Event-Typ homematic.keypress) ablesen,
|
||||||
|
z. B.:
|
||||||
|
event_type: homematic.keypress, data: {name: "Taster Garage", param:
|
||||||
|
PRESS_SHORT, channel: 1}
|
||||||
|
domain: automation
|
||||||
|
input:
|
||||||
|
device_name:
|
||||||
|
name: Taster-Gerätename
|
||||||
|
description: >
|
||||||
|
Name des Homematic-Geräts, wie er im Event homematic.keypress unter
|
||||||
|
"name" steht (z. B. "Taster Garage"). Muss exakt übereinstimmen –
|
||||||
|
zu finden über Entwicklerwerkzeuge → Ereignisse.
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
|
||||||
|
button_1_entity:
|
||||||
|
name: Taste 1 – Zielentität
|
||||||
|
description: Entität, die bei Taste 1 (channel 1) geschaltet wird. Leer lassen für keine Aktion.
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- switch
|
||||||
|
- light
|
||||||
|
- cover
|
||||||
|
- fan
|
||||||
|
- input_boolean
|
||||||
|
- lock
|
||||||
|
- valve
|
||||||
|
- siren
|
||||||
|
|
||||||
|
button_1_action:
|
||||||
|
name: Taste 1 – Aktion
|
||||||
|
description: >
|
||||||
|
Umschalten passt für normale Schalter/Lampen und für ein Garagentor
|
||||||
|
(cover-Entität, öffnet/schließt automatisch je nach Zustand).
|
||||||
|
Ein-/Ausschalten eignet sich z. B. für Wippen-Tastenpaare.
|
||||||
|
default: toggle
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
mode: dropdown
|
||||||
|
options:
|
||||||
|
- value: toggle
|
||||||
|
label: Umschalten
|
||||||
|
- value: turn_on
|
||||||
|
label: Einschalten
|
||||||
|
- value: turn_off
|
||||||
|
label: Ausschalten
|
||||||
|
|
||||||
|
button_2_entity:
|
||||||
|
name: Taste 2 – Zielentität
|
||||||
|
description: Entität, die bei Taste 2 (channel 2) geschaltet wird. Leer lassen für keine Aktion.
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- switch
|
||||||
|
- light
|
||||||
|
- cover
|
||||||
|
- fan
|
||||||
|
- input_boolean
|
||||||
|
- lock
|
||||||
|
- valve
|
||||||
|
- siren
|
||||||
|
|
||||||
|
button_2_action:
|
||||||
|
name: Taste 2 – Aktion
|
||||||
|
description: >
|
||||||
|
Umschalten passt für normale Schalter/Lampen und für ein Garagentor
|
||||||
|
(cover-Entität, öffnet/schließt automatisch je nach Zustand).
|
||||||
|
Ein-/Ausschalten eignet sich z. B. für Wippen-Tastenpaare.
|
||||||
|
default: toggle
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
mode: dropdown
|
||||||
|
options:
|
||||||
|
- value: toggle
|
||||||
|
label: Umschalten
|
||||||
|
- value: turn_on
|
||||||
|
label: Einschalten
|
||||||
|
- value: turn_off
|
||||||
|
label: Ausschalten
|
||||||
|
|
||||||
|
button_3_entity:
|
||||||
|
name: Taste 3 – Zielentität
|
||||||
|
description: Entität, die bei Taste 3 (channel 3) geschaltet wird. Leer lassen für keine Aktion.
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- switch
|
||||||
|
- light
|
||||||
|
- cover
|
||||||
|
- fan
|
||||||
|
- input_boolean
|
||||||
|
- lock
|
||||||
|
- valve
|
||||||
|
- siren
|
||||||
|
|
||||||
|
button_3_action:
|
||||||
|
name: Taste 3 – Aktion
|
||||||
|
description: >
|
||||||
|
Umschalten passt für normale Schalter/Lampen und für ein Garagentor
|
||||||
|
(cover-Entität, öffnet/schließt automatisch je nach Zustand).
|
||||||
|
Ein-/Ausschalten eignet sich z. B. für Wippen-Tastenpaare.
|
||||||
|
default: toggle
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
mode: dropdown
|
||||||
|
options:
|
||||||
|
- value: toggle
|
||||||
|
label: Umschalten
|
||||||
|
- value: turn_on
|
||||||
|
label: Einschalten
|
||||||
|
- value: turn_off
|
||||||
|
label: Ausschalten
|
||||||
|
|
||||||
|
button_4_entity:
|
||||||
|
name: Taste 4 – Zielentität
|
||||||
|
description: Entität, die bei Taste 4 (channel 4) geschaltet wird. Leer lassen für keine Aktion.
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- switch
|
||||||
|
- light
|
||||||
|
- cover
|
||||||
|
- fan
|
||||||
|
- input_boolean
|
||||||
|
- lock
|
||||||
|
- valve
|
||||||
|
- siren
|
||||||
|
|
||||||
|
button_4_action:
|
||||||
|
name: Taste 4 – Aktion
|
||||||
|
description: >
|
||||||
|
Umschalten passt für normale Schalter/Lampen und für ein Garagentor
|
||||||
|
(cover-Entität, öffnet/schließt automatisch je nach Zustand).
|
||||||
|
Ein-/Ausschalten eignet sich z. B. für Wippen-Tastenpaare.
|
||||||
|
default: toggle
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
mode: dropdown
|
||||||
|
options:
|
||||||
|
- value: toggle
|
||||||
|
label: Umschalten
|
||||||
|
- value: turn_on
|
||||||
|
label: Einschalten
|
||||||
|
- value: turn_off
|
||||||
|
label: Ausschalten
|
||||||
|
|
||||||
|
button_5_entity:
|
||||||
|
name: Taste 5 – Zielentität
|
||||||
|
description: Entität, die bei Taste 5 (channel 5) geschaltet wird. Leer lassen für keine Aktion.
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- switch
|
||||||
|
- light
|
||||||
|
- cover
|
||||||
|
- fan
|
||||||
|
- input_boolean
|
||||||
|
- lock
|
||||||
|
- valve
|
||||||
|
- siren
|
||||||
|
|
||||||
|
button_5_action:
|
||||||
|
name: Taste 5 – Aktion
|
||||||
|
description: >
|
||||||
|
Umschalten passt für normale Schalter/Lampen und für ein Garagentor
|
||||||
|
(cover-Entität, öffnet/schließt automatisch je nach Zustand).
|
||||||
|
Ein-/Ausschalten eignet sich z. B. für Wippen-Tastenpaare.
|
||||||
|
default: toggle
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
mode: dropdown
|
||||||
|
options:
|
||||||
|
- value: toggle
|
||||||
|
label: Umschalten
|
||||||
|
- value: turn_on
|
||||||
|
label: Einschalten
|
||||||
|
- value: turn_off
|
||||||
|
label: Ausschalten
|
||||||
|
|
||||||
|
button_6_entity:
|
||||||
|
name: Taste 6 – Zielentität
|
||||||
|
description: Entität, die bei Taste 6 (channel 6) geschaltet wird. Leer lassen für keine Aktion.
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain:
|
||||||
|
- switch
|
||||||
|
- light
|
||||||
|
- cover
|
||||||
|
- fan
|
||||||
|
- input_boolean
|
||||||
|
- lock
|
||||||
|
- valve
|
||||||
|
- siren
|
||||||
|
|
||||||
|
button_6_action:
|
||||||
|
name: Taste 6 – Aktion
|
||||||
|
description: >
|
||||||
|
Umschalten passt für normale Schalter/Lampen und für ein Garagentor
|
||||||
|
(cover-Entität, öffnet/schließt automatisch je nach Zustand).
|
||||||
|
Ein-/Ausschalten eignet sich z. B. für Wippen-Tastenpaare.
|
||||||
|
default: toggle
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
mode: dropdown
|
||||||
|
options:
|
||||||
|
- value: toggle
|
||||||
|
label: Umschalten
|
||||||
|
- value: turn_on
|
||||||
|
label: Einschalten
|
||||||
|
- value: turn_off
|
||||||
|
label: Ausschalten
|
||||||
|
|
||||||
|
variables:
|
||||||
|
channel: "{{ trigger.event.data.channel | string }}"
|
||||||
|
button_1_entity: !input button_1_entity
|
||||||
|
button_1_action: !input button_1_action
|
||||||
|
button_2_entity: !input button_2_entity
|
||||||
|
button_2_action: !input button_2_action
|
||||||
|
button_3_entity: !input button_3_entity
|
||||||
|
button_3_action: !input button_3_action
|
||||||
|
button_4_entity: !input button_4_entity
|
||||||
|
button_4_action: !input button_4_action
|
||||||
|
button_5_entity: !input button_5_entity
|
||||||
|
button_5_action: !input button_5_action
|
||||||
|
button_6_entity: !input button_6_entity
|
||||||
|
button_6_action: !input button_6_action
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
- platform: event
|
||||||
|
event_type: homematic.keypress
|
||||||
|
event_data:
|
||||||
|
name: !input device_name
|
||||||
|
|
||||||
|
action:
|
||||||
|
- choose:
|
||||||
|
- conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ channel == '1' and button_1_entity not in [none, ''] }}"
|
||||||
|
sequence:
|
||||||
|
- action: "homeassistant.{{ button_1_action }}"
|
||||||
|
target:
|
||||||
|
entity_id: "{{ button_1_entity }}"
|
||||||
|
|
||||||
|
- conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ channel == '2' and button_2_entity not in [none, ''] }}"
|
||||||
|
sequence:
|
||||||
|
- action: "homeassistant.{{ button_2_action }}"
|
||||||
|
target:
|
||||||
|
entity_id: "{{ button_2_entity }}"
|
||||||
|
|
||||||
|
- conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ channel == '3' and button_3_entity not in [none, ''] }}"
|
||||||
|
sequence:
|
||||||
|
- action: "homeassistant.{{ button_3_action }}"
|
||||||
|
target:
|
||||||
|
entity_id: "{{ button_3_entity }}"
|
||||||
|
|
||||||
|
- conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ channel == '4' and button_4_entity not in [none, ''] }}"
|
||||||
|
sequence:
|
||||||
|
- action: "homeassistant.{{ button_4_action }}"
|
||||||
|
target:
|
||||||
|
entity_id: "{{ button_4_entity }}"
|
||||||
|
|
||||||
|
- conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ channel == '5' and button_5_entity not in [none, ''] }}"
|
||||||
|
sequence:
|
||||||
|
- action: "homeassistant.{{ button_5_action }}"
|
||||||
|
target:
|
||||||
|
entity_id: "{{ button_5_entity }}"
|
||||||
|
|
||||||
|
- conditions:
|
||||||
|
- condition: template
|
||||||
|
value_template: "{{ channel == '6' and button_6_entity not in [none, ''] }}"
|
||||||
|
sequence:
|
||||||
|
- action: "homeassistant.{{ button_6_action }}"
|
||||||
|
target:
|
||||||
|
entity_id: "{{ button_6_entity }}"
|
||||||
|
|
||||||
|
mode: single
|
||||||
|
max_exceeded: silent
|
||||||
Loading…
Reference in a new issue