BLE Proxy Esp 32 -- qui a vue qui?

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 :wink:

En théorie, a toi de tester :stuck_out_tongue:

m’houais …bon , ben ,… j’vais encore passer mon weekend la dessus … :grinning:

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 :wink:

là tu sait pas ou tu t’engage …question boulet … :cry:
déjà

ca j’ai pas …
si j’ai trouvé …

dev_id: est le nom que tu veut donner au device tracker.

oui , je viens de le voir … je m’en suis jamais servis …
j’essais …

1 « J'aime »

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 …


.
.

.
. C’est pas compliqué quand même …!

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 …

Faut remplacer dans mon code binary_sensor.s3_display_statut par ton binary a toi :sweat_smile:
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
image
.

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 :rofl:. 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

#####################################################################################

Citation
dev_id no The object_id, for example tardis for device_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.

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 :sweat_smile:

MAMAN !!!
Bon , la bonne nouvelle c’est que j’ai bien :

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


Je les passent en true , j’enregistre , je redemarre , je relance le service qui se met bien en vert
.
et BIM !!!
.


grinning
.
et donc
.

.
reste plus qu’a mettre ca dans les automatismes , je teste et je reviens …

J’adore, ca marche pas ! mais si ca marche ! :rofl: :rofl:

Pourquoi c’était pas sur true, je serais pas te dire. Si en le modifiant c’est bon, tant mieux :slight_smile:

alors ca … mystére de la prog … oui , aprés du moment que ca fonctionne … :+1:

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