J’aimerais créer une entité qui garde en mémoire le temps que je passe dans une zone géographique. Je travail pour plusieurs clients dans ma région et je souhaite avoir un résumé du temps que je passe chez les uns et les autres pour pouvoir vérifier en fin de mois la cohérence des factures (je ne suis pas à 20min près, c’est juste pour savoir « en gros »).
J’ai déjà créé des zones et HA remonte bien les infos de ma géolocalisation. Je vois dans mon journal que la zone passe bien à 1 quand j’y suis. Maintenant je souhaite arriver à déclencher un compteur de temps sur cette événement et garder en mémoire le temps.
edit:
J’ai créé cette automation mais c’est juste un compteur de passage dans la zone, mais je progresse
alias: client_coffy
description: ""
trigger:
- platform: zone
entity_id: person.lolo
zone: zone.client_coffy
event: enter
condition: []
action:
- service: counter.increment
data: {}
target:
entity_id: counter.test
mode: single
C’est nickel, ça marche bien sans de prise de tête, j’adore .
Pour ceux qui chercherai voici mon code configuration.YAML pour ce sensor:
sensor:
- platform: history_stats
name: Temps de travaille
entity_id: device_tracker.redmi
state: "Client"
type: time
start: '{{ now().replace(day=1).replace(hour=0).replace(minute=0).replace(second=0) }}'
end: '{{ now() }}'
Pour le start: c’est la date et heure de départ du compteur (ici en gros il prend du 1er jour du mois à 0h00min00sec. Pour le end: ici c’est « maintenant » (now()).
Du coup il me donne le temps passé chez ce client depuis le premier jour du mois jusqu’a maintenant et repartira à zéro le mois prochain.
Il existe aussi une fonction de durée pour la fin noté « duration », tout est dans le lien que Abel à donné et sur google on trouve encore plus d’explications.
Hello, top comme idée
ca marche nickel merci aussi à @Abel
est-il possible de faire l’exercice sur les données du passé? car j’ai du coup créer plusieurs sensor sur plusieurs zone qui vont calculer le temps:
par jours:
start: ‹ {{ now().replace(day=1).replace(hour=0).replace(minute=0).replace(second=0) }} ›
end: ‹ {{ now() }} ›
par semaine :
start: « {{ as_timestamp( now().replace(hour=0, minute=0, second=0, microsecond=0) )
now().weekday() * 86400 }} »
par mois :
start: « {{ now().replace(day=1, hour=0, minute=0, second=0, microsecond=0 ) }} »
end: « {{ now() }} »
par an :
end: ‹ {{ now() }} ›
duration:
days: 365
Bonjour, j’ai plusieurs fois, avec plusieur entities différentes. Mais aucun de mes sensor ne comptabilise le temps que je passe sur zone…
Je veux juste faire un genre de pointeuse pour mon travail