12/02/2025, 16:41:31
Bonjour,
Modification avec une carte qui affiche la date à laquelle le filtre a été remplacé et le volume filtré depuis le dernier remplacement.
![[Image: 049j.jpg]](https://zupimages.net/up/25/07/049j.jpg)
Lorsqu'on clique sur la carte :
- un clavier s'affiche pour entrer le code afin de déverrouiller la carte ; cette étape supplémentaire permet d'éviter une RAZ non souhaitée (à installer avec HACS https://github.com/iantrich/restriction-card) ;
un second clic provoque :
- le remplacement de la date par la date du jour
- la RAZ de la consommation depuis le dernier remplacement
Code d'une des cartes :
Il faut un input_texte dans le fichier configuration.yaml
Le code du sensor contenant la consommation dans knx_sensor.yaml
Et un script (dans le fichier scripts.yaml) qui envoie la RAZ au compteur (dans mon cas, un objet avec DPT 1.015 dans la GA 7/4/3) et qui écrit la date du jour dans le "input_texte"
Remarque :
Pour la mise au point, notamment pour vérifier que la date change bien, on peut utiliser l'onglet ACTIONS dans les outils de développement pour entrer une date différente de la date du jour.
1) Dans le champ "Action", saisir "input_text.set_value"
2) Copier ce code suivant dans la zone en dessous d'Action
3) Cliquer sur "Exécuter l'action"
Modification avec une carte qui affiche la date à laquelle le filtre a été remplacé et le volume filtré depuis le dernier remplacement.
![[Image: 049j.jpg]](https://zupimages.net/up/25/07/049j.jpg)
Lorsqu'on clique sur la carte :
- un clavier s'affiche pour entrer le code afin de déverrouiller la carte ; cette étape supplémentaire permet d'éviter une RAZ non souhaitée (à installer avec HACS https://github.com/iantrich/restriction-card) ;
un second clic provoque :
- le remplacement de la date par la date du jour
- la RAZ de la consommation depuis le dernier remplacement
Code d'une des cartes :
Code :
type: custom:restriction-card
restrictions:
confirm: null
pin:
text: Entrez le code
code: 1234
card:
type: custom:button-card
icon: mdi:air-filter
name: Puits 25 u + Charbon
entity: input_text.date_changement_filtres_puits
show_state: true
tap_action:
action: call-service
service: script.raz_et_maj_date
styles:
card:
- height: 120px
- background: none
icon:
- color: var(--primary-color)
- width: 40px
- margin-right: 0px
name:
- font-size: 16px
- color: white
- padding-left: 10px
state:
- font-size: 12px
- color: yellow
- padding-left: 10px
state_display: |
[[[
return "<span style='color: white;'>Changé le : </span>" + states['input_text.date_changement_filtres_puits'].state +
"<br><span style='color: white;'>Conso. depuis cette date : </span>" + states['sensor.conso_eau_totale_changement_filtres_puits'].state + " L";
]]]
Il faut un input_texte dans le fichier configuration.yaml
Code :
input_text:
date_changement_filtres_puits:
name: Date Changement Filtres Puits
max: 10
Le code du sensor contenant la consommation dans knx_sensor.yaml
Code :
#Conso eau TOTALE depuis changement des filtres puits
- name: conso_eau_totale_changement_filtres_puits
state_address: "7/4/2"
type: "volume_liquid_litre"
state_class: total_increasing
Et un script (dans le fichier scripts.yaml) qui envoie la RAZ au compteur (dans mon cas, un objet avec DPT 1.015 dans la GA 7/4/3) et qui écrit la date du jour dans le "input_texte"
Code :
################################################
# RAZ Conso eau + date changement filtres puits #
################################################
raz_et_maj_date:
alias: "RAZ consommation + mise à jour date"
sequence:
- service: knx.send
data:
address: "7/4/3"
payload: "RESET"
type: "DPT1.015"
- delay: "00:00:01"
- service: input_text.set_value
target:
entity_id: input_text.date_changement_filtres_puits
data:
value: "{{ now().strftime('%d-%m-%Y') }}"
mode: single
Remarque :
Pour la mise au point, notamment pour vérifier que la date change bien, on peut utiliser l'onglet ACTIONS dans les outils de développement pour entrer une date différente de la date du jour.
1) Dans le champ "Action", saisir "input_text.set_value"
2) Copier ce code suivant dans la zone en dessous d'Action
Code :
action: input_text.set_value
data:
value: 01-02-2025
target:
entity_id: input_text.date_changement_filtres_puits
3) Cliquer sur "Exécuter l'action"