Automation solange ausführen wenn der Tür Kontakt offen ist, bis er geschlossen ist

Hallo,

ich versuche für unser Bad ein bisschen Musik einzuspielen.
Dafür habe ich einen Türkontakt an der Toilette.
Der spielt Musik wenn der Deckel offen ist. Das klappt auch wunderbar.
Nun möchte ich aber das die Musik auch wieder stoppt, wenn der Deckel geschlossen ist. Und das bekomme ich nich thin.
Kann mir da jemand helfen?

Anbei das YAML:

description: ""
triggers:
  - type: opened
    device_id: 6ac3d6e232c1d0a4d3252726137a6293
    entity_id: 68a53fba902487b118632894bd661cb6
    domain: binary_sensor
    trigger: device
conditions:
  - condition: time
    after: "06:00:00"
actions:
  - action: spotifyplus.player_set_volume_level
    metadata: {}
    data:
      entity_id: media_player.spotifyplus_sn0rrii
      volume_level: 20
      device_id: Badezimmer
  - action: spotifyplus.player_set_shuffle_mode
    metadata: {}
    data:
      state: true
      entity_id: media_player.spotifyplus_sn0rrii
      device_id: Badezimmer
  - action: spotifyplus.player_media_play_tracks
    metadata: {}
    data:
      entity_id: media_player.spotifyplus_sn0rrii
      uris: https://open.spotify.com/playlist/1hsGpmL1GPtiQv1WFHaB0R
      device_id: Badezimmer
  - action: spotifyplus.player_media_play_tracks
    metadata: {}
    data:
      entity_id: media_player.spotifyplus_sn0rrii
      uris: https://open.spotify.com/playlist/1vm8GNDZzYEkVQcoArNySo
      device_id: Badezimmer
    enabled: false
mode: single```

Ich habe das bei mir so gelöst, dass auf einen Auslöser gewartet wird, in deinem Fall dann das Schließen des Kontakts. Danach wird dann die Musik ausgeschaltet. Als Backup kann man noch eine Zeit einstellen, in der die Automation weiterlaufen soll auch ihne Auslöser.

Hallo,

Kannst du mir dafür den Code geben und wo er eingefügt werden muss?
Danke

Hier ein Beispiel mit zwei Triggern und Trigger-ID:

description: ""
mode: single
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.schlafzimmerfenster
    to: "on"
    id: offen
  - trigger: state
    entity_id:
      - binary_sensor.schlafzimmerfenster
    to: "off"
conditions: []
actions:
  - if:
      - condition: trigger
        id:
          - offen
    then:
      - action: light.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: light.badlicht
    else:
      - action: light.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: light.badlicht
1 „Gefällt mir“

Hier ein Beispiel aus meiner Automation,
einfach dann am Ende deiner Automation einfügen.
ab wait_for_trigger wäre dann der Code neu

actions:
  - action: media_player.volume_set
    metadata: {}
    data:
      volume_level: 0.2
    target:
      entity_id:
        - media_player.echo_dot
  - action: media_player.play_media
    metadata: {}
    data:
      media_content_id: Vogelgezwitscher
      media_content_type: AMAZON_MUSIC
    target:
      entity_id: media_player.echo_dot
  - wait_for_trigger:
      - trigger: state
        entity_id:
          - binary_sensor.bewegungsmelder_bad_occupancy
        from: "on"
        to: "off"
        for:
          hours: 0
          minutes: 1
          seconds: 0
    timeout:
      hours: 0
      minutes: 10
      seconds: 0
      milliseconds: 0
  - action: media_player.media_stop
    target:
      entity_id:
        - media_player.echo_dot
    data: {}
mode: single

mit Trigger ID ist auch eine gute Lösung

Super vielen Dank. Hat geklappt :slight_smile:

1 „Gefällt mir“