System Health
version |
2021.1.1 |
installation_type |
Home Assistant Container |
dev |
false |
hassio |
false |
docker |
true |
virtualenv |
false |
python_version |
3.8.7 |
os_name |
Linux |
os_version |
5.4.83-v7l+ |
arch |
armv7l |
timezone |
Europe/Paris |
Home Assistant Community Store
GitHub API |
ok |
Github API Calls Remaining |
4940 |
Installed Version |
1.10.0 |
Stage |
running |
Available Repositories |
773 |
Installed Repositories |
6 |
Home Assistant Cloud
logged_in |
false |
can_reach_cert_server |
ok |
can_reach_cloud_auth |
ok |
can_reach_cloud |
ok |
Lovelace
dashboards |
1 |
mode |
storage |
views |
8 |
resources |
4 |
*** HA 2021.1.1 on RPI4 4 GB under docker***
Personnaliser noms carte Alarm Control panel
Bonjour,
J’ai cherché l’info sur le forum mais je n’ai rien trouvé sur ce point.
Est-il possible de changer le nom des 4 états de l’alarm en les personnalisant ?
Voici ma configuration d’alarme dans le fichier configuration.yaml :
alarm_control_panel:
- platform: manual
name: Home Alarm
arming_time: 0
delay_time: 0
trigger_time: 0
disarmed:
trigger_time: 0
armed_home:
arming_time: 0
delay_time: 0
Du coup que Armer deviennent Armer Maison ou activer l’alarme…
De plus j’aurai aimé savoir à quoi correspondent les autres états décrits sur le site d’HA
arm_home
arm_away
arm_night
arm_custom_bypass
Merci d’avance pour vos retours !
Salut,
Alors je ne crois pas que l’on puisse changer les intitulés des états de l’entité alarm control panel : armed_home, armed_away, arming, disarmed, etc
Pourquoi souhaites-tu les modifier ? Pour que ce soit plus parlant à l’affichage de la carte ? Ne t’en fais pas, les noms des états sont bien plus parlant sur la carte.
En ce qui concerne les différents états tu peux t’en servir suivants tes besoins… Par exemple, moi je me sers seulement de deux états : armed_home et armed_away :
-
Pour l’un, je déclenche mon scénario d’alarme intrusion seulement si une porte ou bien une fenêtre s’ouvre au rdc. idéale quand on est présent dans la maison et qu’on veut pas que les détecteurs de mouvement déclenche l’alarme.
-
Pour l’autre, idem que plus haut, mais avec en plus des capteurs d’ouverture, un détecteur de mouvement qui déclenche l’alarme si un mouvement est repéré. idéale quand on est pas à la maison.
Après voilà avec tous ces états différents tu peux prévoir plusieurs scénarios de déclenchement d’alarme quoi… Moi je le vois comme ça.
A+
Hello @Heihachi31
Merci pour ton retour. Dans l’idée c’était surtout pour activer certaines caméras et pas d’autres comme celle de la piscine quand les enfants sont dehors et pas les autres, …
Après si tu veux bien me partager tes cartes je veux bien !
Voili voilou
Pour résumer ce qu’à dit @Heihachi31 :
- il utilise
armed_home
quand il est présent chez lui afin de déclencher l’alarme seulement sur les ouvertures sans prendre en compte les détecteurs de mouvements intérieur.
- il utilise
armed_away
quand il n’est pas chez lui, du coup en plus des détecteurs d’ouvertures , il a ajouté le déclenchement sur une détection de mouvement sur l’un de ses capteurs.
-
armed_night
et armed_custom_bypass
peuvent également être utilisé.
Tu demandes la carte mais je pense que c’est plus les automatisations qui sont intéressantes car ce sont elles qui contiennent la liste des capteurs à prendre en compte pour déclencher l’alarme.
La configuration de la carte n’est pas insurmontable car elle contient très peu de configuration.
1 « J'aime »
Bonsoir,
@Clemalex tu as une capacité à synthétiser les choses, c’est clair et concis quand tu t’exprimes
@Nikos3296 la carte alarm control panel est vraiment simple à mettre en œuvre. Ce qui est intéressant c’est plutôt les automatisations associés aux états de l’alarm control panel.
Comme demandé je te met l’automatisation de mon alarme intrusion ci-dessus. Je débute sur HA, le code n’est sûrement pas optimisé mais en tout cas ça marche.
Actuellement mon système d’alarme est composé de 4 capteurs d’ouverture de porte/fenêtre, 1 détecteur de mouvement et 1 sirène d’alarme.
L’automatisation :
alias: Alarme d'intrusion
description:
1) entité alarm control panel sur armed_home.
Envoi d''une notification pushbullet si une porte ou une fenêtre s''ouvre au RDC.
Si la portée d''entrée s''ouvre, un délai de 10 secondes s''active. Si après ce
délai l''alarme n''est pas désarmée, la sirène se déclenche en boucle et une notification
pushbullet est envoyée. N''importe quelle autres ouvertures de porte ou de fenêtre
du RDC déclenchent la sirène d''alarme sans délai.
2) entité alarm control panel sur armed_away.
Même scénario que pour l''état armed_home + détection de mouvement au RDC. Si
un mouvement est détecté, un délai de 10 secondes s''active. Si après ce délai,
l''alarme n''est pas désarmée, la sirène se déclenche en boucle et une notification
pushbullet est envoyée.
trigger:
- platform: state
entity_id: binary_sensor.door_window_detector_sensor_4
from: 'off'
to: 'on'
- platform: state
entity_id: binary_sensor.door_window_detector_sensor_3
from: 'off'
to: 'on'
- platform: state
entity_id: binary_sensor.door_window_detector_sensor_2
from: 'off'
to: 'on'
- platform: state
from: 'off'
to: 'on'
entity_id: binary_sensor.door_window_detector_sensor
- platform: state
entity_id: binary_sensor.nas_pd02z_battery_powered_pir_sensor_v2_home_security_motion_detected
from: 'off'
to: 'on'
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.door_window_detector_sensor_4
state: 'on'
- condition: or
conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_home
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Avertissement
message: La porte d'entrée est ouverte.
- service: media_player.volume_set
data:
volume_level: 1
entity_id: media_player.enceinte
- service: tts.google_translate_say
data:
entity_id: media_player.enceinte
message: L'alarme va se déclencher dans moins de dix secondes !
- delay: '10'
- choose:
- conditions:
- condition: or
conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_home
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: L'alarme n'a pas été désarmée au bout de 10 secondes. La sirène
est déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
default: []
- conditions:
- condition: state
entity_id: binary_sensor.door_window_detector_sensor_3
state: 'on'
- condition: or
conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_home
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: La fenêtre de la cuisine est ouverte. La sirène est déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
- conditions:
- condition: state
entity_id: binary_sensor.door_window_detector_sensor_2
state: 'on'
- condition: or
conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_home
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: La porte fenêtre de droite du salon est ouverte. La sirène est
déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
- conditions:
- condition: or
conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_home
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
- condition: state
entity_id: binary_sensor.door_window_detector_sensor
state: 'on'
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: La porte fenêtre de gauche du salon est ouverte. La sirène est
déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
- conditions:
- condition: state
entity_id: binary_sensor.nas_pd02z_battery_powered_pir_sensor_v2_home_security_motion_detected
state: 'on'
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Avertissement
message: Un mouvement a été détecté dans le RDC.
- service: media_player.volume_set
data:
volume_level: 1
entity_id: media_player.enceinte
- service: tts.google_translate_say
data:
entity_id: media_player.enceinte
message: L'alarme va se déclencher dans moins de dix secondes !
- delay: '10'
- choose:
- conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: L'alarme n'a pas été désarmée au bout de 10 secondes. La sirène
est déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
default: []
default: []
mode: parallel
max: 6
A+
Je dirais qu’il a le mérite d’être compréhensible et facile à reproduire.
On peut toujours chercher à optimiser le code mais de nos jours, avec les ressources de nos machines je privilégie en 1er la maintenance et avoir un code compréhensible facilite la tâche.
Dans ton cas, où tu informe quel capteur est déclenché, il n’y a peu (voire pas) d’optimisation.
La seule que je vois comme ça c’est ce bloc qui pourrait au lieu d’être dans la clé choose
pourrais être dans la clé condition
(celui au même niveau que trigger
et action
) afin de gagner quelques lignes qui sont répétées…
- conditions:
- condition: or
conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_home
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
1 « J'aime »
@Clemalex oui c’est clair, le fonctionnement du code saute aux yeux en le lisant (même pour un novice comme moi) donc je préfère ça plutôt qu’un code hyper optimisé où j’y comprend pas les 3/4
Ah ouais merci pour l’astuce ! Mais si je passe ces conditions dans la clé condition, ça veut dire que toutes les actions qui vont suivre dépendent de ces 2 conditions c’est bien ça? Exceptée l’action sur détection de mouvement au RDC car elle a sa propre condition : alarm_control_panel.alarme_ha sur armed_away
Le fait de mettre or
signifie que les actions seront exécutés seulement si l’alarme est home
ou away
, oui
Les mettres un cran au dessus te donnera pour les actions :
action:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.door_window_detector_sensor_4
state: 'on'
sequence:
- service: notify.pushbullet
data:
title: Avertissement
message: La porte d'entrée est ouverte.
- service: media_player.volume_set
data:
volume_level: 1
entity_id: media_player.enceinte
- service: tts.google_translate_say
data:
entity_id: media_player.enceinte
message: L'alarme va se déclencher dans moins de dix secondes !
- delay: '10'
- choose:
- conditions:
- condition: not
conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: disarmed
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: L'alarme n'a pas été désarmée au bout de 10 secondes. La sirène
est déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
default: []
- conditions:
- condition: state
entity_id: binary_sensor.door_window_detector_sensor_3
state: 'on'
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: La fenêtre de la cuisine est ouverte. La sirène est déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
- conditions:
- condition: state
entity_id: binary_sensor.door_window_detector_sensor_2
state: 'on'
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: La porte fenêtre de droite du salon est ouverte. La sirène est
déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
- conditions:
- condition: state
entity_id: binary_sensor.door_window_detector_sensor
state: 'on'
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: La porte fenêtre de gauche du salon est ouverte. La sirène est
déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
- conditions:
- condition: state
entity_id: binary_sensor.nas_pd02z_battery_powered_pir_sensor_v2_home_security_motion_detected
state: 'on'
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Avertissement
message: Un mouvement a été détecté dans le RDC.
- service: media_player.volume_set
data:
volume_level: 1
entity_id: media_player.enceinte
- service: tts.google_translate_say
data:
entity_id: media_player.enceinte
message: L'alarme va se déclencher dans moins de dix secondes !
- delay: '10'
- choose:
- conditions:
- condition: state
entity_id: alarm_control_panel.alarme_ha
state: armed_away
sequence:
- service: notify.pushbullet
data:
title: Intrusion détectée !
message: L'alarme n'a pas été désarmée au bout de 10 secondes. La sirène
est déclenchée.
- service: script.sirene_dalarme_en_boucle_max
data: {}
default: []
default: []
mode: parallel
Tu remarqueras l’utilisation de la condition not
plutôt que or
.
Ca reste tout aussi compréhensible je pense
1 « J'aime »
Merci beaucoup pour cette optimisation. Ça me permet d’apprendre de nouvelle condition (nottament le not). Je modifie ça ce week-end. Ca sera encore plus carré comme ça
1 « J'aime »
Merci à tous pour vos explications.
Je sais qu’on peut personnaliser le tout grâce aux automatisations.
J’aurai juste aimé avoir une lecture claire des noms des alarmes pour que ma femme sache laquelle activer quand il le faut.
Merci et bonne soirée !
Après avec un peu d’expérience et de temps, tu peux largement arriver à quelque chose de sympa avec une combinaison de plusieurs cartes natives et l’utilisation du module card-mod et stack-in-card.
Par exemple, ceci :
Alors j’ai pas poussé loin la customisation (on perd le logo en haut à droite et la couleur de l’appui n’est pas customisée) mais il te suffit de remplacer alarm_control_panel.alarme_hacf
par alarm_control_panel.<nom_de_ton_alarme>
( le nom apparaît plusieurs fois)
Cliquer pour afficher le code de la carte
type: 'custom:stack-in-card'
title: Alarme
mode: vertical
cards:
- type: conditional
conditions:
- entity: alarm_control_panel.alarme_hacf
state: disarmed
card:
type: 'custom:mod-card'
style: |
ha-card {
padding: 0 0 10px 0;
}
card:
type: horizontal-stack
cards:
- type: button
tap_action:
action: call-service
service: alarm_control_panel.alarm_arm_home
service_data:
entity_id: alarm_control_panel.alarme_hacf
name: Présent
hold_action:
action: none
style: >
ha-card{ box-shadow:none; margin: 0px 5%;border:
solid;border-color: var(--mdc-button-outline-color, rgba(0, 0, 0,
0.12)) !important; border-width: var(--mdc-button-outline-width,
1px) !important; border-radius: var(--mdc-shape-small, 4px)
!important; } ha-card > span{ color: var(--mdc-theme-primary,
#6200ee);
font-family: var(--mdc-typography-button-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif));
font-size: var(--mdc-typography-button-font-size, 0.875rem);
font-weight: var(--mdc-typography-button-font-weight, 500);
letter-spacing: var(--mdc-typography-button-letter-spacing,
0.0892857em);
text-decoration: var(--mdc-typography-button-text-decoration,
none);
text-transform: var(--mdc-typography-button-text-transform,
uppercase);
}
- type: button
tap_action:
action: call-service
service: alarm_control_panel.alarm_arm_away
service_data:
entity_id: alarm_control_panel.alarme_hacf
name: Absent
hold_action:
action: none
style: >
ha-card{box-shadow:none; margin: 0px 5%;border:
solid;border-color: var(--mdc-button-outline-color, rgba(0, 0, 0,
0.12)) !important; border-width: var(--mdc-button-outline-width,
1px) !important; border-radius: var(--mdc-shape-small, 4px)
!important; } ha-card > span{ color: var(--mdc-theme-primary,
#6200ee);
font-family: var(--mdc-typography-button-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif));
font-size: var(--mdc-typography-button-font-size, 0.875rem);
font-weight: var(--mdc-typography-button-font-weight, 500);
letter-spacing: var(--mdc-typography-button-letter-spacing,
0.0892857em);
text-decoration: var(--mdc-typography-button-text-decoration,
none);
text-transform: var(--mdc-typography-button-text-transform,
uppercase);
}
- type: button
tap_action:
action: call-service
service: alarm_control_panel.alarm_arm_night
service_data:
entity_id: alarm_control_panel.alarme_hacf
name: NUIT
hold_action:
action: none
style: >
ha-card{ box-shadow:none; margin: 0px 5%;border:
solid;border-color: var(--mdc-button-outline-color, rgba(0, 0, 0,
0.12)) !important; border-width: var(--mdc-button-outline-width,
1px) !important; border-radius: var(--mdc-shape-small, 4px)
!important; } ha-card > span{ color: var(--mdc-theme-primary,
#6200ee);
font-family: var(--mdc-typography-button-font-family,
var(--mdc-typography-font-family, Roboto, sans-serif));
font-size: var(--mdc-typography-button-font-size, 0.875rem);
font-weight: var(--mdc-typography-button-font-weight, 500);
letter-spacing: var(--mdc-typography-button-letter-spacing,
0.0892857em);
text-decoration: var(--mdc-typography-button-text-decoration,
none);
text-transform: var(--mdc-typography-button-text-transform,
uppercase);
}
- type: conditional
conditions:
- entity: alarm_control_panel.alarme_hacf
state_not: disarmed
card:
type: alarm-panel
states:
- arm_home
- arm_away
entity: alarm_control_panel.alarme_hacf
style: |
.card-header{
display: none;
}
ha-card > ha-label-badge{
display: none;
}
1 « J'aime »
Waaaaooooouuuuuu !!! Mais c’est génial !!!
C’est ça que je recherchais !!!
Trop fort @Clemalex !!!
Et du coup il faut faire comment pour retrouver le logo et la couleur de l’appui ?
J’ai essayé d’éditer le visualiseur de code de la carte de base mais ce n’est pas dedans…
Merci d’avance !!!
PI : je n’ai pas pu copier coller ton code car j’ai dû modifier et installer un autre module « custom » : vertical-stack-in-card
Oups ! C’est stack-in-card
! Je mets à jour mon post
1 « J'aime »
Pour la couleur de l’appui, c’est des propriétés css, pour le badge c’est plus compliqué et comme ça je vois pas (c’est possible, mais faudrait y passer quelques minutes/heures que je n’ai pas actuellement)
1 « J'aime »
Ok ça marche ! Après c’est peut-être possible sur le net de trouver le code original de la carte ?
Je vais chercher car CSS c’est pas du tout mon truc…
SI je trouve je posterai !
Bonne journée !
Bien sûr ! L’avantage du open source
1 « J'aime »
Oui… Ben je n’y connais rien… Et malheureusement je n’ai pas trop le temps d’approfondir là dessus…
Après, si j’ai bien compris, le style c’est là que tu rentres ton code CSS ?
Et le style pour rajouter ce bouton doit être tout en bas du code (celui de la « grande carte ») ? Pas dans le style de chaque « card » ?
…ça dépend de là où tu veux ajouter une customisation…
Oh ben comme sur ma capture d’écran. Là où il y l’icône originale !
Oui j’avais compris
Je répondais à cette question, le style tu peux l’utiliser partout…ça dépend ce que tu cible
1 « J'aime »