Aide automatisation avec un interrupteur

bonjour,
j’ai un switch Zigbee dans un boite de dérivation pour les lumières extérieur avec un détecteur Zigbee pour l’allumage avec détection tous ça fonctionne parfaitement, mais quand je veux que la lumière reste allumé j’appuie donc sur l’interrupteur non connecté ça s’allume parfait :slight_smile: mais quand il y a un mouvement extérieur il active donc le scenario et l’éteint.
comment faire pour bloque le scenario dans j’appuie sur l’interrupteur pour passé un manuel.

Merci de votre aide

alias: Lumière extérieure avant
description: S'allume la nuit
trigger:
  - platform: state
    entity_id:
      - binary_sensor.0x70ac08fffe63d7d9_occupancy
    to: "on"
condition:
  - condition: sun
    before: sunrise
    after: sunset
    after_offset: "00:28:00"
    before_offset: "-00:28:00"
action:
  - sequence:
      - data: {}
        target:
          device_id: 14d182087c938a0ad4fdf25e1ef1778e
        action: switch.turn_on
      - wait_for_trigger:
          - type: not_occupied
            platform: device
            device_id: 61fc6ef4523dcc842de45d829cbfc7db
            entity_id: 0b22e9615dea01cafe6bd27a00429ac8
            domain: binary_sensor
      - data: {}
        target:
          device_id: 14d182087c938a0ad4fdf25e1ef1778e
        action: switch.turn_off
mode: single

Dans ton automatisation il faudrait que tu regardes si la lumière n’est pas déjà active, par exemple :

condition:
  - condition: device
    type: is_off
    device_id: xx
    entity_id: xx
    domain: switch
    for:
      hours: 0
      minutes: 0
      seconds: 1

Je vais regarder ce soir pour ça, mais par contre quand y a quelqu’un déjà dehors qui est détecté et que je veux appuyer sur l’interrupteur pour laisser allumer comment je fais?
Merci

Bonjour,
j’ai un cas un peu similaire, allumage de la cuisine via détecteur de présence et extinction si plus de présence pendant 2 minutes, mais je peux allumer aussi la cuisine via un interrupteur zigbee, et dans ce cas ça ne doit pas s’éteindre via l’automatisation sur absence.
Si j’allume avec cet interrupteur, j’active un input_boolean que je prends en condition dans les automatisations d’allumage/extinction auto, l’input_boolean repasse à 0 si j’éteins avec l’interrupteur. Ainsi les automatisations sont indépendantes.
Bob

2 « J'aime »

Passe par un input_number qui fera tampon.

Il te faut passer par un input_booleen que tu vas devoir gérer dans tes automatismes.

Par exemple un booléen « mode auto » que tu passes à vrai lorsque tu allumes la lumière via le mouvement. (ou inversement un input_booleen mode manuel comme décrit par @Bob )

Il te faut alors systématiquement tester l’état de la lumière et du booléen avant d’allumer/ éteindre de façon automatique.

Il te faut également modifier l’état du booléen lorsque tu allumes manuellement.

Il y a un exemple proche dans ma description (mais sans réussir à désactiver le mode auto car je ne sais pas vraiment détecter l’appui bouton sur un micromodule on/off).

Merci de votre après multiples recherches je ne trouve rien de concluant sur ce que vous me conseillez de faire
Avez des exemple de comment faire
Désolé je débute sur ha
Merci

Tu as regardé mes explications là: Présentation + [Mon Dashboard] BBE - #3 par BBE ?

Perso a part le faire à ta place, je ne sais pas faire beaucoup plus… d’autant plus que tu ne nous en dit pas beaucoup sur ta lumière et ton interrupteur.

@Bob a aussi une solution qui marche bien si tu peux détecter l’appui sur ton interrupteur.

Il faut transformer ton automatisation qui est actuellement:

trigger:
=> si occupancy passe à On
Condition:
=> si il fait nuit
Actions:
=> allumer 14d182087c938a0ad4fdf25e1ef1778e
=> attendre que occupancy passe Off
=> eteindre 14d182087c938a0ad4fdf25e1ef1778e

pour faire les étapes suivantes (je vais détailler la solution proposée par @Bob et pas la mienne qui est déjà expliquée dans ma description)

1/ créer un input_booléen que tu appelles lumièrerX_mode_manuel par exemple

2/ créer deux automatisations déclenchées par ton interrupteur:

  • allumage manuel :
    trigger:
    => si interrupteur passe On
    Actions:
    => mettre booleen lumièrerX_mode_manuel à ON
    => allumer lumière 14d182087c938a0ad4fdf25e1ef1778e

  • extinction manuelle :
    trigger:
    => si interrupteur passe Off
    Actions:
    => mettre booleen lumièrerX_mode_manuel à OFF
    => eteindre lumière 14d182087c938a0ad4fdf25e1ef1778e

3/ créer deux automatisations déclenchées par l’allumage auto:

  • allumage auto:
    trigger:
    => si occupancy passe à On
    Condition:
    => si il fait nuit
    => si booleen lumièrerX_mode_manuel = OFF (ou si lumière 14d182087c938a0ad4fdf25e1ef1778e est éteinte… c’est equivalent dans ce cas)
    Actions:
    => allumer lumière 14d182087c938a0ad4fdf25e1ef1778e

  • extinction auto:
    trigger:
    => si occupancy passe Off
    Condition:
    => si booleen lumièrerX_mode_manuel = OFF
    Actions:
    => eteindre lumière 14d182087c938a0ad4fdf25e1ef1778e

Si tu ne peux pas détecter l’appui sur ton interrupteur, ce qui est possible avec un micro module où on ne peut pas toujours détecter l’appui sur le bouton il faut faire l’inverse:
1/ créer un input_booléen que tu appelles lumièrerX_mode_auto par exemple

2/ créer une automatisation déclenchées par ta lumière:

  • extinction manuelle :
    trigger:
    => si lumière 14d182087c938a0ad4fdf25e1ef1778e passe Off
    Actions:
    => mettre booleen lumièrerX_mode_auto à OFF

3/ créer deux automatisations déclenchées par l’allumage auto:

  • allumage auto:
    trigger:
    => si occupancy passe à On
    Condition:
    => si il fait nuit
    => si lumière 14d182087c938a0ad4fdf25e1ef1778e est OFF.
    Actions:
    => mettre le booleen lumièrerX_mode_auto à ON
    => allumer lumière 14d182087c938a0ad4fdf25e1ef1778e

  • extinction auto:
    trigger:
    => si occupancy passe Off
    Condition:
    => si booleen lumièrerX_mode_auto = ON
    Actions:
    => mettre le booleen lumièrerX_mode_auto à OFF
    => eteindre lumière 14d182087c938a0ad4fdf25e1ef1778e

1 « J'aime »

Merci pour ton aide effectivement je peux pas détecter l’appui sur mon interrupteur, il faut que je trouve comment faire un input_booléen. je débute sur HA pas facile de comprend les langues

je reviens donné des infos quand j’ai réussi

Merci aussi a tous

Créer un input booléen n’est pas très difficile:
Parametres: Appareils et services:

cliquer sur Entrées:

Puis sur + créer une entrée (en bas à droite)

Cliquer sur interrupteur:

Lui donner un nom, et une icone (optionnel)

Et c’est fait…

il ne te restera plus qu’à créer 3 automatisations comme décrites plus haut:

Avec ce système, l’automatisation n’éteindra que si c’est l’automatisation qui a allumé.
Et si l’automatisation allume, mais que tu veux que la lumière reste allumée, il te suffira d’éteindre et rallumer avec l’interrupteur .

1 « J'aime »

Merci pour tous j’ai fait comme tu ma dit, peux tu me dire si j’ai bon ?
merci

alias: "Lumiere avant déclenchées par l’allumage auto:"
description: ""
trigger:
  - type: occupied
    platform: device
    device_id: 61fc6ef4523dcc842de45d829cbfc7db
    entity_id: 0b22e9615dea01cafe6bd27a00429ac8
    domain: binary_sensor
condition:
  - condition: sun
    before_offset: "-00:28:00"
    before: sunrise
    after: sunset
    after_offset: "00:28:00"
action:
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.lumierera_vant_mode_auto
  - action: switch.turn_on
    metadata: {}
    data: {}
    target:
      device_id: 14d182087c938a0ad4fdf25e1ef1778e
mode: single

alias: Lumiere avant OFF entree logique
description: ""
trigger:
  - platform: device
    type: turned_off
    device_id: 14d182087c938a0ad4fdf25e1ef1778e
    entity_id: 53a51c31739af6f21792a5890b2fb2a5
    domain: switch
condition: []
action:
  - action: input_boolean.turn_off
    target:
      entity_id:
        - input_boolean.lumierera_vant_mode_auto
    data: {}
mode: single

alias: lumiere extinction auto déclenchées par l’allumage auto
description: ""
trigger:
  - type: not_occupied
    platform: device
    device_id: 61fc6ef4523dcc842de45d829cbfc7db
    entity_id: 0b22e9615dea01cafe6bd27a00429ac8
    domain: binary_sensor
condition:
  - condition: state
    entity_id: input_boolean.lumierera_vant_mode_auto
    state: "on"
action:
  - action: input_boolean.turn_off
    target:
      entity_id:
        - input_boolean.lumierera_vant_mode_auto
    data: {}
  - action: switch.turn_off
    target:
      device_id:
        - 14d182087c938a0ad4fdf25e1ef1778e
    data: {}
mode: single

edite:
après test il y a un problème quand j’allume avec l’interrupteur est qu’il y a une détection quand il viens en non occupe il éteint la lumière.
est il s’allume toujours qaund il y a une détection alors que je suis en manuel

Quelques remarques:

  • il manque des conditions (test si la lumière est off avant d’allumer en auto par exemple).
  • n’as tu pas une faute de frappe là: input_boolean.lumierera_vant_mode_auto ?
  • utilise les entités plutôt que les devices, ce sera plus lisible.
1 « J'aime »

Merci pour tous, tous fonctionne

1 « J'aime »

Parfait…

Tu peux aussi poster ton code final, comme ça si quelqu’un a la même problématique que toi, il aura ta solution définitive…