HomeMatic Klingelsensor binary helper per template

Hallo Zusammen,

ich bin von FHEM nun auf HA umgestiegen.
Also sind meine Fähigkeiten mit HA noch mehr am Anfang als ausgereift. :slight_smile:

Aktuell häng ich gerade etwas in der Luft was meinen Klingelsensor angeht.
Besonders in Bezug auf den Sensor Light Blueprint von Blacky. 💡 Sensor Light - Motion Sensor - Door Sensor - Sun Elevation - LUX Value - Scenes - Time - Light Control - Device Tracker - Night Lights - Blueprints Exchange - Home Assistant Community

Genau geht es draum, dass der Klingelsensor nur ein “Short Press” event auslöst.
Für eine Normal Automation langt das auch, da kann man auch per Gui eine Automation erstellen und darauf triggern.

Nur bei dem Blueprint von Blacky leider nicht.
Hier wird ein Binary Sensor erwartet.
Und genau hier hänge ich!

Ich wollte nun einen Helper erstellen. Genau einen Template Helper, weil man hier auch einen Binary Sensor erstellen kann.
Allerdings komm ich hier nicht weiter, meine Fähigkeiten reichen einfach nicht aus.
Hier mal wie ich es gemacht hab, keine Ahnung was ich erstellt hab:

Kann mir jemand einen richtige Richtung schubsen oder sogar mit dem yaml code helfen?

Ich wäre sehr Dankbar dafür.

Mit einem Template Binary Sensor kommst Du nicht weiter. Du musst einen Trigger based Template Binary Sensor erstellen. Das geht aber leider nicht über die GUI, sondern nur über Yaml.

Gruß Osorkon

1 „Gefällt mir“

Danke für deine schnelle Antwort.

Würde das so aus deiner sicht passen:

template:
  - triggers:
      - trigger: event
        event_type: press_short
      - trigger: state
        entity_id: button.hm_sen_db_pcb_meq0044833_press_short
        to: "off"
    binary_sensor:
      name: HELPER.1OG.KLINGEL.BINARY
      icon: "{{ (trigger.platform == 'event') | iif('mdi:bell-ring-outline', 'mdi:bell-outline') }}"
      state: "{{ trigger.platform == 'event' }}"
      auto_off:
        seconds: 1

Wenn Osorkon schreibt, das geht nicht per Helfer, dann ist das sicherlich so.
Aber hier ein paar Hinweise, wie man Werte abfragt:

Den Status einer Entität frägst du mit {{states('sun.sun') }} ab.

Wenn der dich interessierende Wert in einem Attribut liegt:
{{state_attr('sun.sun', 'azimuth') }}

Weitere Beispiele
{{state_attr('sun.sun', 'azimuth') | float (0) }} oder
{{state_attr('sun.sun', 'azimuth') | round (0) }} oder
{{state_attr('sun.sun', 'azimuth') | round (1) }}

{{state_attr('sun.sun', 'azimuth') | round (0) == 152}}
{{state_attr('sun.sun', 'azimuth') | round (0) == 153}}

So sieht das beispielsweise aus:

Auch danke für deine Antwort.
Ich muss keine Werte abfragen, aber danke für deinen Erklärung.

Ich zweifle auch nicht an der Aussage von Osorkon.
Nur mein Problem ist, dass ich einfach die Syntax nicht kenne.
Ich weiß nicht, was ich genau ersetzen muss.
Das ist der Original Code:

# Example configuration.yaml entry
template:
  - triggers:
      - trigger: event
        event_type: YOUR_EVENT
      - trigger: state
        entity_id: binary_sensor.doorbell_rang
        to: "off"
    binary_sensor:
      name: doorbell_rang
      icon: "{{ (trigger.platform == 'event') | iif('mdi:bell-ring-outline', 'mdi:bell-outline') }}"
      state: "{{ trigger.platform == 'event' }}"
      auto_off:
        seconds: 5

Grundsätzlich muss dem Template ja sagen, worauf es lauchen soll.
Also wo das Event her kommt.

Grüße Robert

template:
  - triggers:
      - trigger: state
        entity_id: button.hm_sen_db_pcb_meq0044833_press_short
        to: "off"
    binary_sensor:
      name: Klingel
      uniqe_id: 17278860-59de-4bf4-98d9-04c94dabf374
      state: "on"
      auto_off:
        seconds: 5

Gruß Osorkon

1 „Gefällt mir“

Danke.

Sollte nach dem der Code in Configuration YAML steht, dann als Helper auftauchen?

Zuerst die Konfiguration prüfen

Entwicklungswerkzeuge → YAML → Konfiguration prüfen

und anschließend die Template-Entitäten Konfiguration neu laden.

Home Assistant Neustart ist nicht notwendig.

Gruß Osorkon

Habs noch mal probiert.
Es kommt immer eine Fehlermeldung, dass die uniqe_id nicht zulässig ist.
Aber auch nach dem entfernen der uniqe_id, wird immer noch kein Binary Sensor erzeugt, den man auswählen kann.

Ich hab noch mal genau nachgeschaut.
Wenn ich über die Entwicklungwerkzeuge nach dem Device des Homematic Klingelsensors suche, dann finde ich folgendes:

event_types:
  - press_cont
  - press_short
event_type: press_short
interface_id: RaspberryMatic-BidCos-RF
address: MEQ0044833:1
model: HM-Sen-DB-PCB
device_class: button
friendly_name: 1OG.KLINGEL ch1

Kann es Sein, dass der Trigger nicht stimmt und deshalb kein Binary Sensor angezeigt wird?

Sorry, dass ich euch so viel mühe mache.

Danke und Grüße Robert

Wie der richtige Trigger ausschaut, da kann ich auch nur auf die Doku verweisen, nutze Homematic nicht.

Gruß Osorkon

Daran hab ich mich auch orientiert:

template:
  - triggers:
    - trigger: event
      event_type: homematic.keypress
      event_data:
        name: "1OG.KLINGEL ch1"
        channel: 1
        param: PRESS_SHORT
    binary_sensor:
      name: 1OG.KLINGEL.BINARY
	  uniqe_id: 17278860-59de-4bf4-98d9-04c94dabf374
      state: "on"
      auto_off:
        seconds: 1

Scheint aber nicht zu funktioniert, zumindest taucht dann immer noch kein 1OG.KLINGEL.BINARY irgendwo auf.

Hab ich da ne Denkfehler, was den Namen angeht?

Danke und Grüße Robert

Teste den Auslöser doch erstmal in einer Automation.
Wenn Du den richtigen gefunden hast, dann kannst Du diesen für den Template Sensor verwenden.

Gruß Osorkon

In einer Automation konnte ich das ganze schon direkt per WebGui Integrieren.
Das ist der Yaml code

alias: 1OG.KLINGEL
description: ""
triggers:
  - domain: homematicip_local
    device_id: 1e41645ac7e8ae15b905dab8bfe206f2
    event_type: homematic.keypress
    address: MEQ0044833
    model: HM-Sen-DB-PCB
    interface_id: RaspberryMatic-BidCos-RF
    type: press_short
    subtype: 1
    trigger: device
conditions: []
actions:
  - action: hassio.addon_stdin
    data:
      addon: c7744bff_ha-sip
      input:
        command: dial
        number: sip:**792@192.168.178.1
        ring_timeout: 15
        sip_account: 1
        menu:
          message: Es hat geklingelt.
  - action: notify.mobile_app_robs_iphone17pro
    metadata: {}
    data:
      message: Es hat geklingelt
      title: HOFTOR KLINGEL
  - action: notify.mobile_app_robs_ipad_pro
    metadata: {}
    data:
      title: HOFTOR KLINGEL
      message: Es hat geklingelt!
  - action: notify.mobile_app_desiree_iphone
    metadata: {}
    data:
      title: HOFTOR KLINGEL
      message: Es hat geklingelt!
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
mode: single

Kann ich dann einfach den Trigger teil für ein Template übernehmen?

Danke und Grüße Robert

1 „Gefällt mir“

So hier von mir noch mal eine kurze Rückmeldung.
Mit folgendem Code funktioniert es nun.

template:
  - triggers:
    - domain: homematicip_local
      device_id: 1e41645ac7e8ae15b905dab8bfe206f2
      event_type: homematic.keypress
      address: MEQ0044833
      model: HM-Sen-DB-PCB
      interface_id: RaspberryMatic-BidCos-RF
      type: press_short
      subtype: 1
      trigger: device
    binary_sensor:
      name: 1OG.KLINGEL.BINARY
      unique_id: 17278860-59de-4bf4-98d9-04c94dabf374
      state: "on"
      auto_off:
        seconds: 1

@Osorkon danke für deine Hilfe!
Hast mich echt weiter geholfen!
@miami danke auch für deine Hilfe.

Danke und Grüße Robert