From df43edc5c4aa06ff38a94bd6c20e08c85010402a Mon Sep 17 00:00:00 2001 From: martin Date: Mon, 27 Jul 2026 14:55:44 +0000 Subject: [PATCH] Add HM-PB-6-WM55 Wandtaster Blueprint (6 Tasten, CCU2) --- .../automation/hm_pb_6_wm55_taster.yaml | 307 ++++++++++++++++++ 1 file changed, 307 insertions(+) create mode 100644 blueprints/automation/hm_pb_6_wm55_taster.yaml diff --git a/blueprints/automation/hm_pb_6_wm55_taster.yaml b/blueprints/automation/hm_pb_6_wm55_taster.yaml new file mode 100644 index 0000000..99770af --- /dev/null +++ b/blueprints/automation/hm_pb_6_wm55_taster.yaml @@ -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