Oui, une pour le démarrage de HA qui convertir ton binary en device.tracker et une pour actualiser les états du device.tracker virtuel.
C’est ce que je comprends
En théorie, a toi de tester
Oui, une pour le démarrage de HA qui convertir ton binary en device.tracker et une pour actualiser les états du device.tracker virtuel.
C’est ce que je comprends
En théorie, a toi de tester
m’houais …bon , ben ,… j’vais encore passer mon weekend la dessus …
Allez, je vais t’aider.
j’ai fais un test, dans outils de dev et service, j’ai lancer le service:
service: device_tracker.see
data:
dev_id: esps3tracker
location_name: |
{% if states('binary_sensor.s3_display_statut') == 'on' %}
home
{% elif states('binary_sensor.s3_display_statut') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
Ca me créer une entité device tracker
Et quand je vais dans personne, pour choisir un device tracker. Magie !!!
Faut faire les deux automatisations et fini
là tu sait pas ou tu t’engage …question boulet …
déjà
ca j’ai pas …
si j’ai trouvé …
oui , je viens de le voir … je m’en suis jamais servis …
j’essais …
quand je te dis que c’est pas gagné …
j’ai fais un copié collé de ton code , j’ai redemarré , et ben non ,… j’ai rien dans personne …
du cout , j’ai modifié le nom du binary_sensor , j’ai mis le mien
service: device_tracker.see
data:
dev_id: esps3tracker
location_name: |
{% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9_display_statut') == 'on' %}
home
{% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9_display_statut') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
non plus …
j’ai fais un copié collé de ton code , j’ai redemarré , et ben non ,… j’ai rien dans personne …
Faut remplacer dans mon code binary_sensor.s3_display_statut
par ton binary a toi
Quand ta appeler le service, l’entité est créer directement. Pas besoin de redémarré et tu la verra dans personne.
Le code sert que de test. Si tu redémarre HA , l’entité est effacer. C’est pour ca qu’il faut deux automatisations pour recréer l’entité a chaque démarrage de HA et une pour actualiser c’est entité virtuel.
service: device_tracker.see
data:
dev_id: esps3tracker
location_name: |
{% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'on' %}
home
{% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
sans redemarré , oui, ca j’avais pas pigé , non plus
.
.
je quitte , je verrais demain , il est l’heure de passer a table …
Quand tu met le code dans outils de dev / services, tu copie le code dans la fenêtre et tu appuie sur le bouton appeler service
?
oui …oui …
mince , il faud 20 carracteres …
ils disent
dev_id = ID de l'appareil (recherchez l'ID dans `known_devices.yaml`).
donc j’ai mis le mien
.
service: device_tracker.see
data:
dev_id: galaxy_s9
location_name: |
{% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'on' %}
home
{% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
.
.
toujour pas …
essaye d’actualiser ta page et regarde dans états.
Salut @didier02100
après mes essais de hier, je me suis rendu compte que quand j’ai appeler le service device_tracker.see
avec ma code:
service: device_tracker.see
data:
dev_id: esps3tracker
location_name: |
{% if states('binary_sensor.s3_display_statut') == 'on' %}
home
{% elif states('binary_sensor.s3_display_statut') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
ça ma créer un fichier known_devices.yaml
et ma fait c’est configue:
esps3tracker:
name: esps3tracker
mac:
icon:
picture:
track: true
Petite parenthèse, j’ai fais des tests pour affichier une image dans une carte picture, héberger sur mon HA.
Comme un con, je me suis fait ban mon ip ( j’ai 4 essais ) de HA . Obliger de supprimer le fichier ban_ip.yaml et rebooter pour me débloquer ( mon pc ).
Au reboot, je me suis rendu compte que le device.tracker créer avec le code etait toujours présent.
comme on le vois le device tracker est sur not_home et n’a pas de source_type, après le reboot
Faut créer une automatisation pour le démarrage, qui changera l’état et validera le source_type.
alias: Presence ESP32S3 Tracker Restart
description: ''
trigger:
- platform: homeassistant
event: start
condition: []
action:
- service: device_tracker.see
data:
dev_id: esps3tracker
location_name: |
{% if states('binary_sensor.s3_display_statut') == 'on' %}
home
{% elif states('binary_sensor.s3_display_statut') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
mode: single
Et une automatisation pour actualiser l’état du device tracker quand HA fonctionne.
alias: Presence ESP32S3 Tracker Actualisation
description: ''
trigger:
- platform: state
entity_id: binary_sensor.s3_display_statut
condition: []
action:
- service: device_tracker.see
data:
dev_id: esps3tracker
location_name: |
{% if trigger.to_state.state == 'on' %}
home
{% elif trigger.to_state.state == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
mode: single
#####################################################################################
ils disent
dev_id = ID de l'appareil (recherchez l'ID dans `known_devices.yaml`).
Citation
dev_id
no Theobject_id
, for exampletardis
fordevice_tracker.tardis
Dans dev_id
mets ce que tu veut, c’est le nom du tracker.
exemple:
dev_id: didier02100
Le device tracker ce nommera device_tracker.didier02100
. Tu le vois dans mon exemple plus haut dev_id: esps3tracker
mon device tracker ce nomme device_tracker.esps3tracker
.
Attention, n’utilise pas dans dev_id
un nom déja utiliser par t’es appareil.
donc j’ai mis le mien
service: device_tracker.see data: dev_id: galaxy_s9 location_name: | {% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'on' %} home {% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'off' %} not_home {% else %} unknown {% endif %} source_type: router
test ce code:
service: device_tracker.see
data:
dev_id: ibeacons9
location_name: |
{% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'on' %}
home
{% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
Appelle le service ( il doit passer en vert quand c’est ok ).
et regarde dans états
si ta bien un device_tracker.ibeacons9
.
Regarde aussi ton fichier known_devices.yaml
, si ta un appareil ibeacons9
créer.
Bonne lecture
MAMAN !!!
Bon , la bonne nouvelle c’est que j’ai bien :
test ce code:
Appelle le service ( il doit passer en vert quand c’est ok ).
ca ok c’est bon, et ca passe bien au vert ( c’est deja ca ! )
.
dans know_devices.yaml , j’ai bien mon ibeacons9 ( plus les autres que j’enleverrais aprés …)
nut_2:
name: nut sac juliane
mac: BLE_C4:C9:E5:81:EC:A5
icon:
picture:
track: true
esp32_buro_4e1b04_ibeacon_s9:
name: esp32_buro_4e1b04_ibeacon_s9
mac:
icon:
picture:
track: false
esps3tracker:
name: esps3tracker
mac:
icon:
picture:
track: false
esps9tracker:
name: esps9tracker
mac:
icon:
picture:
track: false
ibeacons9:
name: ibeacons9
mac:
icon:
picture:
track: false
par contre ils sont en track: false !!!
mais je les vois toujour pas dans
regarde dans
états
si ta bien undevice_tracker.ibeacons9
.
J’adore, ca marche pas ! mais si ca marche !
Je les passent en true , j’enregistre , je redemarre , je relance le service qui se met bien en vert
.
et BIM !!!
Pourquoi c’était pas sur true, je serais pas te dire. Si en le modifiant c’est bon, tant mieux
alors ca … mystére de la prog … oui , aprés du moment que ca fonctionne …
encore merci de ton aide … c’est presque nikel , et je progresse …
j’ai testé dans tous les sens , et j’ai un souci …
le device_tracker.ibeacons9
au demarrage est en inconnus … et devient present ou abscent seulement aprés un changement d’état du tel … ou si je lance à la mains le service
pourtant j’ai pourtant bien fait les 2 automatismes .
.
Le changement d’état lui a bien l’air de fonctionner
.
alias: Presence esp32_buro_4e1b04_ibeacon_s9
description: " "
trigger:
- platform: state
entity_id: binary_sensor.esp32_buro_4e1b04_ibeacon_s9
condition: []
action:
- service: device_tracker.see
data:
dev_id: ibeacons9
location_name: |
{% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'on' %}
home
{% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
mode: single
max: 10
.
par contre le restart … ?
.
alias: Presence Ibeacon Tracker Restart
description: " "
trigger:
- platform: homeassistant
event: start
condition: []
action:
- service: device_tracker.see
data:
dev_id: ibeacons9
location_name: |
{% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9 ') == 'on' %}
home
{% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9 ') == 'off'
%}
not_home
{% else %}
unknown
{% endif %}
source_type: router
mode: single
max: 10
.
lui n’a pas l’air de fonctionner …
Apres , il suffit d’attendre que je change de piece et il reprend son etat … mais j’ai peut etre encore fait une erreur …
Je vois un espace en trop a l’entité ('binary_sensor.esp32_buro_4e1b04_ibeacon_s9 ')
entre le 9 et ’ ,et un retour a la ligne. l’autre automatisation c’est bon, compare tu verra ton erreur.
code corriger, essaie avec celui la.
alias: Presence Ibeacon Tracker Restart
description: " "
trigger:
- platform: homeassistant
event: start
condition: []
action:
- service: device_tracker.see
data:
dev_id: ibeacons9
location_name: |
{% if states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'on' %}
home
{% elif states('binary_sensor.esp32_buro_4e1b04_ibeacon_s9') == 'off' %}
not_home
{% else %}
unknown
{% endif %}
source_type: router
mode: single
max: 10