Problème d'incréméntation compteur

Bonjour,

incrémentation erronée.

j’ai un compteur que j’incrémente de 1 à chaque déclenchement d’une automatisation. l’automatisation fonctionne et le compteur s’incrémente … de , ou 2, ou 3 (vérifié dans outils/états) alors que l’automatisation ne s’est déclenchée qu’en fois (vérifié par envoi d’une notif) ,quelle peut être la cause du problème ?

Ma configuration


[center]## System Information

version core-2025.1.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.6.62-haos-raspi
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 4995
Installed Version 2.0.5
Stage running
Available Repositories 1562
Downloaded Repositories 22
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 14.2
update_channel stable
supervisor_version supervisor-2024.12.3
agent_version 1.6.0
docker_version 27.2.0
disk_total 117.3 GB
disk_used 6.6 GB
healthy true
supported true
host_connectivity true
supervisor_connectivity true
ntp_synchronized true
virtualization
board rpi4-64
supervisor_api ok
version_api ok
installed_addons File editor (5.8.0), Samba share (12.4.0), ESPHome Device Builder (2024.12.4), Advanced SSH & Web Terminal (20.0.0), Linky (1.5.0)
Dashboards
dashboards 2
resources 14
views 5
mode storage
Recorder
oldest_recorder_run 19 janvier 2025 à 18:20
current_recorder_run 29 janvier 2025 à 23:22
estimated_db_size 17.18 MiB
database_engine sqlite
database_version 3.47.1
[/center]

Salut

Peut être posté le code de ton automatisation, pour pouvoir y apporter un début de réponse.

alias: incrémentation_compteur
description: incrémenter compteur
triggers:
  - trigger: state
    entity_id:
      - switch.prise
    from: "off"
    to: "on"
conditions: []
actions:
  - target:
      entity_id: counter.compteur_ramassage
    data: {}
    action: counter.increment
mode: single

sachant que le swich qui déclenche l’incrémentation est basculé par un script (dessous) ; avec, pour le moment,une notif pour que j’aiune trace que ça a fonctionné; Le script est, lui, déclenché par une automatisation sur un évènement calendrier. (peut-être usine à gaz tout ça ? mais ça fonctionne)

sequence:
  - action: persistent_notification.create
    metadata: {}
    data:
      message: notification dans HA
      title: titre notif dans HA
  - type: toggle
    device_id: 586f18c147950ea57f94ebb1bc7deb74
    entity_id: b2f1d20248567f6a2176e2033c447762
    domain: switch
  - action: automation.trigger
    metadata: {}
    data:
      skip_condition: true
    target:
      entity_id: automation.nouvelle_automatisation_2
alias: Notif HA et basculement switch
description: ""

C’est le script qui déclenche le Switch, qui a son tour incrémenté le compteur.
Pourquoi ne pas incrémenter le compteur directement dans le script ?

oui effectivement.mais comme je débute j’ai commencé par installer un switch qui allume une lampe-témoin (comme en Arduino avec une led remplaçant un futur servo ou autre), et puis j’ai ajouté l’écriture d’une notif (puisqu’il faudra que j’écrive dans un fichier),puis mon compteur à par because que je n’ai pas su l’insérer sans erreur de syntaxe, après j’ai créé le déclenchement sur event.

Bref j’y vais pas à pas en tatonnant beaucoupmais tu as raison : une fois l’évènement déclenché je devrais tout gérer dans le script (il va y avoir du monde : écriture fichier, affichage (puis effacement : conditionnelle) carte (ou mieux badge) RAZ compteur et fichier).

Salut,

Tu vois un incrément directement de 2 ou 3? ou alors 1 par 1 ?

Dans « Journal » du menu latéral, tu dois pouvoir sélectionner l’entité « counter.compteur_ramassage » sur la période où la valeur a changé. Et là, tu devrais voir les changements de valeur et là ça peut te donner des indications sur quel utilisateur ou quel script a changé la valeur.

2 ou 3 le temps que je regarde dans ‹ états › mais dans le journal (j’y avais pas pensé) c’est 1 par 1 plusieurs fois à quelques secondes d’intervalle par le même script (qui ne s’exécute qu’une fois puisque je n’ai qu’une notif).
je vais affiner et après je posterais une capture du journal.

apparement ily a2 déclencheurs internes qui lancent l’incrémentationdu compteur !
je ne sais pas d’où sort le déclencheur ‹ triggered › ?

j’ai mis l’incrémentation compteur dans mon script plutôt que d’y appele une automatisation qui le fasse : ça fonctionne MAIS
j’ai une incrémentation à l’extinction et 2 à l’allumage et si je remplace l’exécution d’une action par une exécution conditionelle d’action (vérifier que le switch est à ‹ on ›) alors je n’ai plus qu’une incrémentation à l’allumage mais j’en ai toujours une à l’extinction ?

Pour moi c’est normal vu que dans ton script tu appelle 2 fois l’automatisation.
Une fois par switch.toggle et une fois par automation.trigger

oui,dis par toi ça apparait clairement … sauf que c’est ce que la bouzin a écrit ! là je n’ai rien fait en YAML (j’en serais, dans ce cas, bien incapable)
finalement j’y suis arrivé par tatonnements , en insérant des exécutions conditionnelles … ce qui m’a permis de m’apercevoir d’une bizarrerie : comme au lieu de ‹ notif switch › j’ai mis 2 messages différents , un à l’allumage et un à l’extinction (de l’ampoule témoin) ben la condition ‹ activé › pour le switch c’est quand elle est éteinte ! l’état repos c’est switch fermé ! pas vraiment intuitif.
donc ça roule sauf que je n’arrive pas à écrire dans le journal (pour le moment).
est-ce qu’on peut écrire dans un fichier dédié ? et je veux aussi afficher une carte (ou un badge) et je ne trouve pas d’action qui le permette dans les possibilités du script mais je creuse