Bonjour, l’objectif est de mettre en place des sensors (tracker ) de personnes plus poussé et utiles
Pour le moment le but est d’avoir un sensor int de 0 a 100 qui définit l’état de la personne et de l’utiliser
présent / abs / (plus tard au travail)
en statu ne pas déranger
endormis
Pour le moment :
J’utilise simplement le tracker du téléphone pour ‹ home › ou pas (+50%) donc a la maison 50 hors maison 0 device_tracker.wp10
J’utilise le sensor (home assistant compagnon) de mon téléphone pour ajouter 25% au sensor is_state('sensor.wp10_do_not_disturb_sensor', 'priority_only')
Et pour le sommeil, j’utilise 2 sensors de mon tel, la luminosité et le sleep confidence {%set t = ((as_timestamp(now()) - as_timestamp(states.sensor.wp10_sleep_confidence.last_changed))/60)|float(0) %} {% set l=states('sensor.wp10_light_sensor')|int %}
J’utilise par exemple pour régler le volume des google nest de la maison
Je veux développer ça, modifier les entités personne automatiquement, gérer les pièces 1 personne/ 2 personnes / lieux communs
Travailler en commun la dessus intéresse quelqu’un ?
template:
- sensor:
- name: "state_johann"
unit_of_measurement: '%'
state: >
{% set ret = 0 %}
{% if is_state('device_tracker.wp10', 'home') %}
{% set ret = ret + 50 %}
{% else %}
{% set ret = ret + 0 %}
{% endif %}
{% set t=((as_timestamp(now()) - as_timestamp(states.sensor.wp10_sleep_confidence.last_changed))/60)|float(0) %}
{% set l=states('sensor.wp10_light_sensor')|int %}
{% if t > 20 and l<10 %}
{% set ret = ret + 49 %}
{% else %}
{% if is_state('sensor.wp10_do_not_disturb_sensor', 'priority_only') %}
{% set ret = ret + 25 %}
{% endif %}
{% endif %}
{{ret}}
- name: "state_sophie"
unit_of_measurement: '%'
state: >
{% set ret = 0 %}
{% if is_state('device_tracker.tel_sophie', 'home') %}
{% set ret = ret + 50 %}
{% else %}
{% set ret = ret + 0 %}
{% endif %}
{% set t=((as_timestamp(now()) - as_timestamp(states.sensor.tel_sophie_sleep_confidence.last_changed))/60)|float(0) %}
{% set l=states('sensor.tel_sophie_light_sensor')|int %}
{% if t > 20 and l<10 %}
{% set ret = ret + 49 %}
{% else %}
{% if is_state('sensor.tel_sophie_do_not_disturb_sensor', 'priority_only') %}
{% set ret = ret + 25 %}
{% endif %}
{% endif %}
{{ret}}
- name: "state_alexandre"
unit_of_measurement: '%'
state: >
{% set ret = 0 %}
{% if is_state('device_tracker.y4800', 'home') %}
{% set ret = ret + 50 %}
{% else %}
{% set ret = ret + 0 %}
{% endif %}
{% set t=((as_timestamp(now()) - as_timestamp(states.sensor.y4800_sleep_confidence.last_changed))/60)|float(0) %}
{% set l=states('sensor.y4800_light_sensor')|int %}
{% if t > 20 and l<50 %}
{% set ret = ret + 49 %}
{% else %}
{% if is_state('sensor.y4800_do_not_disturb_sensor', 'priority_only') %}
{% set ret = ret + 25 %}
{% endif %}
{% endif %}
{{ret}}
- name: "state_aurore"
unit_of_measurement: '%'
state: >
{% set ret = 0 %}
{% if is_state('device_tracker.wp5_pro', 'home') %}
{% set ret = ret + 50 %}
{% else %}
{% set ret = ret + 0 %}
{% endif %}
{% set t=((as_timestamp(now()) - as_timestamp(states.sensor.wp5_pro_sleep_confidence.last_changed))/60)|float(0) %}
{% set l=states('sensor.wp5_pro_light_sensor')|int %}
{% if t > 20 and l<50 %}
{% set ret = ret + 49 %}
{% else %}
{% if is_state('sensor.wp5_pro_do_not_disturb_sensor', 'priority_only') %}
{% set ret = ret + 25 %}
{% endif %}
{% endif %}
{{ret}}
- name: "state_personnes"
unit_of_measurement: '%'
state: >
{% set s=0 %}
{% set n=0 %}
{% if is_state('device_tracker.wp10', 'home') %}
{% set s=s + states('sensor.state_johann')|int %}
{% set n=n+1 %}
{% endif %}
{% if is_state('device_tracker.tel_sophie', 'home') %}
{% set s=s + states('sensor.state_sophie')|int %}
{% set n=n +1 %}
{% endif %}
{% if is_state('device_tracker.y4800', 'home') %}
{% set s=s + states('sensor.state_alexandre')|int %}
{% set n=n +1 %}
{% endif %}
{% if is_state('device_tracker.wp5_pro', 'home') %}
{% set s=s + states('sensor.state_aurore')|int %}
{% set n=n +1 %}
{% endif %}
{% if n==0 %}
{% set n= 1 %}
{% endif %}
{% set s=s/n %}
{{ s }}
effectivement, dans l’évolution je veux placer ses ‹ sensors › directement dans les trakers automatiquement a la création des personnes , idem pour les occupant de pièces pour le réglage des nests en mode POO mais apprend a mesure l’utilisation sur HA pour le moment 2 mois et j’ai encore beaucoup a appréhender sur les spécificités de HA
Clair, c’est pas évident…
Mais tu as tout intérêt à faire avec les bonnes méthodes au plus vite. Le souci de faire ça à la main sans connaitre c’est qu’on a toutes les chances de faire ça de façon pas optimale et corriger à postériori, c’est encore plus compliqué quand on est allé trop loin.
Disons que la je teste et améliore a mesure, le captage sommeil était important pour moi
Et écrire des lignes de code a chaque nouvelle personne ne me convient pas, je cherche à optimiser au maximum
En plus le capteur sleep est vraiment efficace bien que j’aimerais trouver l’algorithme pour en sortir plus
oui donc pas suffisant, un seul bt et selon l’installation physique, pas forcement au bon endroit, je regarde plus vers triangulation avec esp32 a chaque entrées et 2/3 dans la maison
je test la sur esp32 d’un de mes camera mais je vois qu’il faut un esp dédié, la plus d’image sur l’esp32cam ;-p
salut, je voudrais intégrer les sensores créé en attributs de personnes
template:
- sensor:
- name: "state_johann"
unit_of_measurement: '%'
state: >
{% set ret = 0 %}
{% if is_state('device_tracker.wp10', 'home') %}
{% set ret = ret + 50 %}
{% else %}
{% set ret = ret + 0 %}
{% endif %}
{% set t=((as_timestamp(now()) - as_timestamp(states.sensor.wp10_sleep_confidence.last_changed))/60)|float(0) %}
{% set l=states('sensor.wp10_light_sensor')|int %}
{% if t > 20 and l<10 %}
{% set ret = ret + 49 %}
{% else %}
{% if is_state('sensor.wp10_do_not_disturb_sensor', 'priority_only') %}
{% set ret = ret + 25 %}
{% endif %}
{% endif %}
{{ret}}