Création d'un bouton à 2 états pour absent présent avec fonction derrière pour couper les caméras

Je me suis rendu compte que j’ai pas configuré mon input_boolean.absent_present

car je sais pas comment faire dans la formule yaml ( événement manuel pour dire que je dois peser sur le bouton armé / desarme )

as tu pas hasard un exemple pour que je comprenne comment réaliser la formule ?

merci encore pour ton aide

Mike

Tu peux créer ton bouton directement par ui

Il faut aller dans paramètres et sélectionner appareils et service

Ensuite tu clic sur entrée (1), et créé une entrée(2).

Puis tu sélectionne interrupteur

Ensuite tu rempli

bon et bien cela ne marche pas encore !

quand je pèse sur mon bouton je recois cela que le script est introuvable

mon bouton à cette configuration et il dit qu’il ne trouve pas les scripts `

type: custom:button-card
entity: input_boolean.absent_present
name: |
  [[[ 
    if (entity.state == "on") return "Mode Absent"; 
    else return "Mode Présent";
  ]]]
show_entity_picture: true
size: 100%
styles:
  card:
    - height: 80%
layout: icon_name
aspect_ratio: 3/1
entity_picture: |
  [[[ 
    if (entity.state == "on") return "/local/images/Armer.png"; 
    else return "/local/images/Desarmer.png";
  ]]]
tap_action:
  action: perform-action
  perform_action: |
    [[[ 
      if (entity.state == "on") return "script.je_suis_absent"; 
       else return "script.je_suis_present";
    ]]]

pour tant les scripts existe

je suis absent

alias: je_suis_absent
sequence:
  - data:
      entity_id: media_player.homepod2
      message: >
        J'ai pris note que vous vous absentez. Vous avez une minute pour sortir.
        Après ce délai, les caméras seront actives. Bonne balade.
      language: fr
    action: tts.google_translate_say
  - action: switch.turn_off
    metadata: {}
    data: {}
    target:
      device_id: 4181ca9fb0a0edb1e906362297f5f362
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - type: turn_on
    device_id: c223c06665dbb285d9fc534b73687f6d
    entity_id: 078aad2010d3acc17ee4a8103c7bf81f
    domain: switch
  - type: turn_on
    device_id: 32c70732d942c1c1b4a46522a023a3c2
    entity_id: ec053253ae9cb7e5107dcf99bffb93e9
    domain: switch
mode: single
description: ""

je suis present

sequence:
  - data:
      entity_id: media_player.homepod2
      message: |
        Bon retour à la maison. Le système vidéo est maintenant désactivé.
      language: fr
    action: tts.google_translate_say
  - delay:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
  - action: switch.toggle
    metadata: {}
    data: {}
    target:
      device_id: 796dac4b64afcf49d1d3b081b9f8cf8d
  - type: turn_off
    device_id: c223c06665dbb285d9fc534b73687f6d
    entity_id: 078aad2010d3acc17ee4a8103c7bf81f
    domain: switch
  - type: turn_off
    device_id: 32c70732d942c1c1b4a46522a023a3c2
    entity_id: ec053253ae9cb7e5107dcf99bffb93e9
    domain: switch
alias: je_suis_present
mode: single
description: ""

besoin d’aide !!

mercim d’avance

mike

Comme dit plus haut, je t’ai indiqué que je n’étais pas sûr du code de la carte, car je n’utilise pas cette façon de faire.

Par contre, avec un automatisme et cette carte, cela fonctionne chez moi.

Code pour le bouton (créé une deuxième carte) :

type: custom:button-card
entity: input_boolean.absent_present
name: |
  [[[ 
    if (entity.state == "on") return "Mode Absent"; 
    else return "Mode Présent";
  ]]]
show_entity_picture: true
size: 100%
styles:
  card:
    - height: 80%
layout: icon_name
aspect_ratio: 3/1
entity_picture: |
  [[[ 
    if (entity.state == "on") return "/local/images/Armer.png"; 
    else return "/local/images/Desarmer.png";
  ]]]

Code pour l’automatisme :

description: ""
mode: single
triggers:
  - trigger: state
    entity_id:
      - input_boolean.absent_present
    id: "on"
    to: "on"
  - trigger: state
    entity_id:
      - input_boolean.absent_present
    id: "off"
    to: "off"
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - "on"
        sequence:
          - action: script.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: script.je_suis_present
      - conditions:
          - condition: trigger
            id:
              - "off"
        sequence:
          - action: script.turn_on
            metadata: {}
            data: {}
            target:
              entity_id: je_suis_absent

Salut

merci pour l’info mais le code pour l’automatisme je créer une automation et je l’enregistre sous quel nom pour le lier ?

merci pour ton aide

mIKE

Salut,
peu importe le nom de l’automatisation, c’est ton input_bolean qui sert de déclancheur dans l’automatisation. Puis ton button qui utilise le input_bolean.

Salut

j’ai essayé de reprendre le code de l’automatisme de pascal_ha

et j’ai voulu le créer dans automatisme mais au moment de l’enregistrer il me donne ce message

J’ai repris le code de ta carte avec un de mes input_boolean et deux de mes scripts (sans image) et ça fonctionne.
Tes scripts sont bien dans scripts.yaml avec “script: !include scripts.yaml” dans configuration.yaml ?

type: custom:button-card
entity: input_boolean.lave_linge
name: |
  [[[ 
    if (entity.state == "on") return "Mode Absent"; 
    else return "Mode Présent";
  ]]]
show_entity_picture: true
size: 100%
styles:
  card:
    - height: 80%
layout: icon_name
aspect_ratio: 3/1
entity_picture: |
  [[[ 
    if (entity.state == "on") return "/local/images/Armer.png"; 
    else return "/local/images/Desarmer.png";
  ]]]
tap_action:
  action: perform-action
  perform_action: |
    [[[ 
      if (entity.state == "on") return "script.volume_40"; 
       else return "script.volume_50";
    ]]]

Bob

Maintenant les scripts tu les fais avec l’UI :face_savoring_food:

Encore au Moyen Âge @Bob :wink:

Vous plaisantez ! Toujours par l’UI moi :wink:
Même si je rajoute parfois du code, vous me peinez les amis :weary:

L'artiste {{state_attr('media_player.denon_avc_x3700h','media_artist')}} chante {{state_attr('media_player.denon_avc_x3700h','media_title')}} de l'album, {{state_attr('media_player.denon_avc_x3700h','media_album_name')}}. Mode d'écoute, {{state_attr('media_player.denon_avc_x3700h_2','sound_mode')}}. Bonne journée Bruno

Comme il ne trouve pas ses scripts, mieux vaut vérifier où il les a caché :rofl:

Bob

Surtout, vérifier le nom exact de l’entité script.

Exemple mon script Allumer Platine, l’entité s’appelle script.nouveau_script (car j’ai renommé après l’enregistrement du script) , mais ça a gardé l’ancien nom.

Quand je vois ça en fin de script je me demande comment ils ont été écrit mais bon.

@mike413muo, je ne connais pas ton “niveau” HA mais pour compléter la réponse de @WarC0zes , tu peux aller vérifier les noms par là, tu cherche script:

ça me permet de voir que j’en ai un étrange qui traine depuis 2022 :rofl:

Bob

tient toi aussi :rofl:

Ça serait tellement plus simple avec un booléen :face_savoring_food:

Salut @Bob

J’ai repris ton code, et chez moi ça ne fonctionne pas. Le bouton ne bascule même pas de on a off.

Je n’ai pas de message d’erreur. Je comprends pas trop pourquoi.

Le code:

type: custom:button-card
entity: input_boolean.noel_on_off
name: |
  [[[ 
    if (entity.state == "on") return "Mode noel on"; 
    else return "Mode noel off";
  ]]]
show_entity_picture: true
size: 100%
styles:
  card:
    - height: 80%
layout: icon_name
aspect_ratio: 3/1
entity_picture: |
  [[[ 
    if (entity.state == "on") return "/local/images/on.png"; 
    else return "/local/images/off.png";
  ]]]
tap_action:
  action: perform-action
  perform_action: |
    [[[ 
      if (entity.state == "on") return "script.noel_on"; 
       else return "script.noel_off";
    ]]]

Oui et en faisant tout à la souris avec la carte bouton, chacun son style!

Bob

Même pas avec un custom button card tout con

type: custom:button-card
name: Absent
label: |
  [[[
    return states['input_boolean.absent'].state=== 'on' ? 'absent' : 'présent';
  ]]]
show_label: true
show_name: false
show_icon: true
aspect_ratio: 2
section_mode: true
grid_options:
  rows: 2
  columns: 6
entity: input_boolean.absent
icon: |
  [[[
    return states['input_boolean.absent'].state === 'on' ? 'mdi:home-export-outline' : 'mdi:home';
  ]]]
styles:
  icon:
    - color: |
        [[[
          return states['input_boolean.absent'].state === 'on' ? 'orange' : 'forestgreen';
        ]]]

Bonsoir @pascal_ha
J’ai juste testé que ça lançait un script ou l’autre en cliquant le bouton avant et après avoir basculé input_boolean.lave_linge de Off à On.
Je n’ai pas regardé l’histoire des images, je n’utilise que des icones dans mon dasboard.

Bob

Comme dirait André Dussollier dans Les Enfants du marais : Mais quelle aventure :wink:

Perso ce genre de chose c’est géré par la présence / absence de mon téléphone à la maison, ça fonctionne nickel avec le GPS, mais ça aussi c’est une aventure différente pour chacun.

Et puis nativement il y a aussi l’alarme native HA, ou Alarmo.

Bob