Event Button Press abfangen

Hallo,
ich habe folgendes Problem:
Im Bad habe ich einen Bewegungsmelder der auch perfekt funktioniert.
Nun gibt es aber immer mal wieder die Anforderung, dass man das Licht gerne dauerhaft angeschaltet lassen möchte.
Also habe ich mir einen Helfer erstellt, der den Bewegungsmelder deaktiviert.
Soweit so gut. Jetzt dachte ich mir ich könnte das ganze am Schalter anfangen, also wenn der Schalter gedrückt wird. Bei Homematic habe ich ein Event dafür: homematic.keypress. Das funktioniert.
Leider ist der Schalter im Bad auf Grund eine fehlenden Neutralleiters kein Homematic, sondern Zigbee => Zigbee2MQTT

Gibt es dort auch die Option den Tastendruck abzufangen?

Vielen Danke für eure Antworten und einen guten Rutsch ins Jahr 2025 :four_leaf_clover: :four_leaf_clover: :four_leaf_clover:

Gruß
Markus

Mit einer Automation oder der switch Manager Integration

Gruß

1 „Gefällt mir“

Klar, einfach im Event Explorer lauschen und das Event dann als Auslöser verwenden: https://youtu.be/xQ9F_Bn3kpE?t=2532&si=qn3axMUeGUET8nkC

1 „Gefällt mir“

Hi,
Frohes neues Jahr :slight_smile:
Das problem ist, dass die state_changed Events die gleichen sind ob ich am Schalter die Taste drücke oder ob ich per Bewegungsmelder das Licht schalten lasse… :frowning:

Oder gibt es da noch einen Weg?

der Schalter sendet ein anderes Event als der Bewegungsmelder.

wie @SteuerDeinLeben schon schrieb, im Event Explorer (Entwicklerwerkzeuge) mal kurz auf die Zigbee2MQTT Events lauschen.

und dann ggf den SwitchManager (Integration), wie @Wolfi schon schrieb, nutzen, um drauf zu reagieren. Geht natürlich auch mit eigener Automation.

@Moderatoren
evtl sammeln wir irgendwo mal SwitchManager Blueprints … :slight_smile:

Also vielleicht bin ich ja zu blöd dazu aber die Events sind fast identisch, is auf eine parent ID beim Auslösen durch den BWM

Ausgelöst durch Schalter druck…

event_type: state_changed
data:
  entity_id: light.licht_bad
  old_state:
    entity_id: light.licht_bad
    state: "off"
    attributes:
      effect_list:
        - blink
        - breathe
        - okay
        - channel_change
        - finish_effect
        - stop_effect
      supported_color_modes:
        - brightness
      effect: null
      color_mode: null
      brightness: null
      friendly_name: Licht Bad
      supported_features: 44
    last_changed: "2025-01-02T17:46:00.886721+00:00"
    last_reported: "2025-01-02T17:46:00.886721+00:00"
    last_updated: "2025-01-02T17:46:00.886721+00:00"
    context:
      id: 01JGM1ZKSPTM6SMEX38H8A3MYJ
      parent_id: null
      user_id: null
  new_state:
    entity_id: light.licht_bad
    state: "on"
    attributes:
      effect_list:
        - blink
        - breathe
        - okay
        - channel_change
        - finish_effect
        - stop_effect
      supported_color_modes:
        - brightness
      effect: null
      color_mode: brightness
      brightness: 255
      friendly_name: Licht Bad
      supported_features: 44
    last_changed: "2025-01-02T18:49:30.170397+00:00"
    last_reported: "2025-01-02T18:49:30.170397+00:00"
    last_updated: "2025-01-02T18:49:30.170397+00:00"
    context:
      id: 01JGM5KVSTGEK0Z1XW711M5JNY
      parent_id: null
      user_id: null
origin: LOCAL
time_fired: "2025-01-02T18:49:30.170397+00:00"
context:
  id: 01JGM5KVSTGEK0Z1XW711M5JNY
  parent_id: null
  user_id: null

Ausgelöst durch BWM:

event_type: state_changed
data:
  entity_id: light.licht_bad
  old_state:
    entity_id: light.licht_bad
    state: "off"
    attributes:
      effect_list:
        - blink
        - breathe
        - okay
        - channel_change
        - finish_effect
        - stop_effect
      supported_color_modes:
        - brightness
      effect: null
      color_mode: null
      brightness: null
      friendly_name: Licht Bad
      supported_features: 44
    last_changed: "2025-01-02T18:50:51.587157+00:00"
    last_reported: "2025-01-02T18:50:51.587157+00:00"
    last_updated: "2025-01-02T18:50:51.587157+00:00"
    context:
      id: 01JGM5PBA374Q1VX2NNCN0ENB4
      parent_id: null
      user_id: null
  new_state:
    entity_id: light.licht_bad
    state: "on"
    attributes:
      effect_list:
        - blink
        - breathe
        - okay
        - channel_change
        - finish_effect
        - stop_effect
      supported_color_modes:
        - brightness
      effect: null
      color_mode: brightness
      brightness: 255
      friendly_name: Licht Bad
      supported_features: 44
    last_changed: "2025-01-02T18:51:06.189091+00:00"
    last_reported: "2025-01-02T18:51:06.189091+00:00"
    last_updated: "2025-01-02T18:51:06.189091+00:00"
    context:
      id: 01JGM5PSF0JQ9WBPQPGTXT02AV
      parent_id: 01JGM5PSF0GP2JH5RM98R4J8Y0
      user_id: null
origin: LOCAL
time_fired: "2025-01-02T18:51:06.189091+00:00"
context:
  id: 01JGM5PSF0JQ9WBPQPGTXT02AV
  parent_id: 01JGM5PSF0GP2JH5RM98R4J8Y0
  user_id: null```

Du hast aber die state_changed Events vom light.licht_bad gepostet.

Ja weil ja der Bewegungsmelder das Licht im Bad schaltet
Also grundsätzlich nichts anderes macht als den Lichtschalter betätigen

Du möchtest doch aber das Event des Schalters abfangen, oder habe ich dich da falsch verstanden?

Meine Frage war ob es eine Unterscheidung zwischen dem auslösen durch den BWM und des manuellen betätigen des Schalters gibt.

Ziel soll sein, dass wenn der Schalter manuell gedrückt wird, der Bewegungsmelder deaktiviert wird.

Ich hatte es so verstanden, dass dein Schalter ein Zigbee-Schalter ist. Wenn du den drückst, dann wird ein Ereignis ausgelöst, auf welches du entsprechend reagieren kannst. Wie schaltest du denn deine Lampe am Ende, durch eine Automation?

Japp Schalter ist ein zugebe Schalter und der BWM hat in der automation die Action „Schalter einschalten“

alias:%20Licht%20Bad%20mit%20BWM%20schalten%0Adescription%3A%20Licht%20im%20Bad%20per%20Bewegungsmelder%20schalten%0Ause_blueprint%3A%0A%20%20path%3A%20Blackshome/sensor-light.yaml%0A%20%20input:%0A%20%20%20%20motion_trigger:%0A%20%20%20%20%20%20-%20binary_sensor.bwm_bad_occupancy%0A%20%20%20%20light_switch:%0A%20%20%20%20%20%20entity_id:%20light.licht_bad%0A%20%20%20%20time_delay:%203%0A%20%20%20%20include_light_control:%0A%20%20%20%20%20%20-%20use_brightness%0A%20%20%20%20%20%20-%20use_transition%0A%20%20%20%20light_transition_on:%200%0A%20%20%20%20light_transition_off:%202%0A%20%20%20%20include_bypass:%0A%20%20%20%20%20%20-%20bypass_enabled_turn_on%0A%20%20%20%20motion_bypass_lights_on:%0A%20%20%20%20%20%20-%20input_boolean.bwm_deaktivieren%0A%20%20%20%20motion_bypass_lights_off:%20%5B%5D%0A%20%20%20%20include_ambient:%20ambient_enabled%0A%20%20%20%20ambient_light_sensor:%20sensor.bwm_bad_illuminance_lux%0A%20%20%20%20include_night_lights:%20night_lights_enabled%0A%20%20%20%20night_lights_conditions:%0A%20%20%20%20%20%20-%20entity_state_enabled%0A%20%20%20%20night_lights_after_time:%20%2201:00:00%22%0A%20%20%20%20night_lights_before_time:%20%2208:00:00%22%0A%20%20%20%20night_lights:%0A%20%20%20%20%20%20entity_id:%20light.licht_bad%0A%20%20%20%20night_time_delay:%202%0A%20%20%20%20include_night_light_control:%0A%20%20%20%20%20%20-%20use_brightness%0A%20%20%20%20%20%20-%20if_lights_are_on_adjust_when_crossing_over%0A%20%20%20%20%20%20-%20use_transition%0A%20%20%20%20night_light_brightness:%2015%0A%20%20%20%20night_light_transition_off:%202%0A%20%20%20%20ambient_light_options:%20ambient_light_option_enabled%0A%20%20%20%20ambient_light_value:%2040%0A%20%20%20%20night_lights_entity_state:%0A%20%20%20%20%20%20-%20input_boolean.gute_nacht_modus%0A%20%20%20%20ambient_light_high_value:%20100%0A

Sorry irgendwie geht der Code nicht sauber

Prinzipiell könntest du schon auf das Ereignis des Schalters reagieren, aber du benutzt ja ein Blueprint, welches man sich dan wohl genauer ansehen müsste. Versuch es doch erstmal mit einer normalen Automation.