Bonjour a tous,
j’ai trouvé chez GIFI un ITAG a 4.89€ avec bouton et bip. Il y en a en blanc et noir. La portée est de 15-20m et fonctionne sur HA en Bluetooth LE ou avec ESPHOME. Il y a besoin d’une pile CR2032, qui peut être changer.
Vue le prix, ca vaut le coût, car faut compter 10-15€ pour ce genre de produit.
Avec ESPHOME:
8 « J'aime »
salut, tu a mis ou le code, dans esphome ou dans ha?
C’est des codes a mettre dans esphome
Salut,
c’est dans esphome a mettre le code.
1 « J'aime »
Bob
Juin 12, 2024, 6:01
5
Bonsoir,
@WarC0zes , je rentre de chez Gifi avec mes tags ;-), reste à remettre la main sur mes CR2032
Rien en bluetooth à ce jour sur HA.
De souvenir d’un test, je mets ça sur un de mes ESP32 pour pouvoir récupérer mes objets bluetooth ?
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
active: true
bluetooth_proxy:
active: true
Les valeurs de ces paramètres proviennent d’où ?
service_uuid: 'ffe0'
characteristic_uuid: 'ffe1'
Bob
Salut,
je sais pas , c’est de la doc esphome. Mais je pense qu’avec bluetooth scanner sur mobile, tu dois trouver ces infos.
Pour la configue sur esphome, ces tags on besoin d’une connexion permanente, je sais pas comment ca peut fonctionner avec des Bluetooth proxy.
J’utilise l’intégration Bluetooth LE de HA et une clé Bluetooth. J’ai utiliser l’application Bluetooth scanner sur mobile pour trouver le MAC du iTAG , pour éviter de scanner tout les appareils Bluetooth sur HA.
dans mon know-devices.yaml:
itag_white:
name: 'iTAG White'
mac: BLE_FF:22:07:xx:xx:xx
icon: mdi:tag
picture:
track: true
itag_black:
name: 'iTAG Black'
mac: BLE_FF:22:07:xx:xx:xx
icon: mdi:tag
picture:
track: true
Pour esphome, j’ai tester c’est configue pour utiliser le bouton ( 2 click ) , ta peut faire sonner le itag. Ta le niveau de batterie et le rssi. Faut ajouter le tracker.
esp32_ble_tracker:
scan_parameters:
active: true
bluetooth_proxy:
active: true
ble_client:
- mac_address: FF:22:07:xx:xx:xx
id: itag_white
sensor:
- platform: ble_client
id: itag_white_ble_button_logic
type: characteristic
ble_client_id: itag_white
service_uuid: "ffe0"
characteristic_uuid: "ffe1"
notify: true
update_interval: never
on_notify:
then:
- if:
condition:
lambda: 'return !id(itag_button_state_helper).state;'
then:
- binary_sensor.template.publish:
id: itag_button_state_helper
state: ON
- binary_sensor.template.publish:
id: itag_button_state_helper
state: OFF
else:
- binary_sensor.template.publish:
id: itag_white_button_doubleclick
state: ON
- binary_sensor.template.publish:
id: itag_white_button_doubleclick
state: OFF
- platform: ble_client
type: characteristic
ble_client_id: itag_white
name: "iTag white Battery"
service_uuid: "180f"
characteristic_uuid: "2a19"
icon: "mdi:battery"
unit_of_measurement: "%"
- platform: ble_client
type: rssi
ble_client_id: itag_white
name: "iTag white RSSI"
switch:
- platform: ble_client
ble_client_id: itag_white
name: "Connect iTag white"
- platform: template
id: itag_button_state_helper
filters:
delayed_off: 500ms
on_release:
then:
- if:
condition:
lambda: 'return !id(itag_white_button_doubleclick).state;'
then:
- logger.log: "Single button press detected!"
- binary_sensor.template.publish:
id: itag_white_button
state: ON
- binary_sensor.template.publish:
id: itag_white_button
state: OFF
- platform: template
id: itag_white_button
name: "iTag white button"
filters:
delayed_off: 200ms
- platform: template
id: itag_white_button_doubleclick
name: "iTag white button doubleclick"
filters:
delayed_off: 1000ms
button:
- platform: template
name: "iTag white alert"
on_press:
- ble_client.ble_write:
id: itag_white
service_uuid: "1802"
characteristic_uuid: "2a06"
value: [0x01]
- delay: 10s
- ble_client.ble_write:
id: itag_white
service_uuid: "1802"
characteristic_uuid: "2a06"
value: [0x00]
Pas contre, la pile a pas l’air de tenir longtemps. 1 mois, voir un peu plus
Je ferais un retour, ca fais que 2 semaine que j’en utilise.
edit:
regarde ce sujet BLE Proxy détection adresse MAC
Bob
Juin 12, 2024, 6:48
7
Super, merci @WarC0zes , je vais regarder ça rapidement.
Bob
Bob
Juin 21, 2024, 10:50
8
Bonjour @WarC0zes
Tu as ajouté une clé Bluetooth ? Sur quoi ?
Je pensais pouvoir utiliser juste des ESP32 pour trouver mes iTags, bon, je n’ai pas encore commencé mais je crois que je vais avoir de la lecture avant
Bob
Oui, une clé ZEXMTE BT-DG54 sur mon RPI4. J’ai tester le bluetooth du RPI4 mais moins bon que la clé.
C’est possible.
Je confirme, je les utilise via mon esp32
C’est possible que tu partage ton code esp pour le itag?
esphome:
name: esp
friendly_name: Esp
esp32:
board: esp32dev
framework:
type: arduino
esp32_ble_tracker:
ble_client:
# Replace with the MAC address of your device.
- mac_address: FF:22:07:08:1F:A5
id: itag_black
auto_connect: true
- mac_address: FF:22:07:0B:2A:EB
id: itag_white
auto_connect: true
# Enable logging
logger:
button:
- platform: template
name: "iTag black alert"
on_press:
- ble_client.ble_write:
id: itag_black
service_uuid: "1802"
characteristic_uuid: "2a06"
value: [0x01]
- delay: 10s
- ble_client.ble_write:
id: itag_black
service_uuid: "1802"
characteristic_uuid: "2a06"
value: [0x00]
- platform: template
name: "iTag white alert"
on_press:
- ble_client.ble_write:
id: itag_white
service_uuid: "1802"
characteristic_uuid: "2a06"
value: [0x01]
- delay: 10s
- ble_client.ble_write:
id: itag_white
service_uuid: "1802"
characteristic_uuid: "2a06"
value: [0x00]
# Enable Home Assistant API
api:
encryption:
key: "="
ota:
platform: esphome
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp Fallback Hotspot"
password: ""
captive_portal:
binary_sensor:
#Etat de la connection
- platform: template
id: black_button
name: "Black iTag Button"
filters:
delayed_off: 200ms
- platform: ble_presence
mac_address: FF:22:07:08:1F:A5
name: "Black iTag"
- platform: template
id: white_button
name: "White iTag Button"
filters:
delayed_off: 200ms
- platform: ble_presence
mac_address: FF:22:07:0B:2A:EB
name: "White iTag"
sensor:
- platform: ble_client
type: characteristic
ble_client_id: itag_black
name: "Black iTag btn"
service_uuid: 'ffe0'
characteristic_uuid: 'ffe1'
notify: true
update_interval: never
on_notify:
then:
- binary_sensor.template.publish:
id: black_button
state: ON
- binary_sensor.template.publish:
id: black_button
state: OFF
- platform: ble_client
type: characteristic
ble_client_id: itag_white
name: "White iTag btn"
service_uuid: 'ffe0'
characteristic_uuid: 'ffe1'
notify: true
update_interval: never
on_notify:
then:
- binary_sensor.template.publish:
id: white_button
state: ON
- binary_sensor.template.publish:
id: white_button
state: OFF
- platform: ble_client
type: characteristic
ble_client_id: itag_black
name: "Black iTag Battery"
service_uuid: '180f'
characteristic_uuid: '2a19'
icon: 'mdi:battery'
unit_of_measurement: '%'
- platform: ble_client
type: characteristic
ble_client_id: itag_white
name: "White iTag Battery"
service_uuid: '180f'
characteristic_uuid: '2a19'
icon: 'mdi:battery'
unit_of_measurement: '%'
switch:
- platform: ble_client
ble_client_id: itag_black
name: "Connect iTag black"
- platform: ble_client
ble_client_id: itag_white
name: "Connect iTag white"
1 « J'aime »
R_hum1:
platform: ble_presence
Salut,
j’ai tester sur un esp le ble_presence, mais l’entité reste activé que 5 min et repasse en désactiver.
le button fonctionne bien, la l’air d’être connecter au ESP.
Quelle paramètre modifier pour que ca reste sur activé avec le ble_presence ?
Bonjour,
Je ne serais te dire, j’ai pris du code un peu à droite à gauche
R_hum1:
platform: ble_presence
mac_address: FF:22:07:0B:2A:EB
name: « White iTag »
Chez toi l’entité ble_presence, reste activé ?
edit:
avec le capteur RSSI, ca pourrais servir de device tracker. L’entité s’actualise souvent et reste connecté, comme le buton.
par contre le ble_presence ce déconnecte au bout de 5min, chaque fois que j’allume.
avec l’intégration Bluetooth_LE, le itag fonctionne bien.
edit2:
Avec un template et l’entité rssi, j’ai trouver ca sur le net:
{% set home_rssi = states('sensor.m5stickc_plus2_ble_white_itag_rssi') %}
{% if home_rssi == 'unknown' %}
{% set home_rssi = -120 | float %}
{% else %}
{% set home_rssi = home_rssi | float %}
{% endif %}
{% set sensor_values = [home_rssi] %}
{% set max_rssi = max([home_rssi]) %}
{% if home_rssi == -120 %}
not_home
{% elif max_rssi == home_rssi %}
home
{% else %}
Error in Locating
{% endif %}
Non ça ne fonctionnait pas, merci pour tes compléments. Toujours au top !
Salut,
j’ai trouvé la solution pour que le ble_presence fonctionne bien avec le itag.
J’ai juste utilise le ble_presence et le rssi en capteur, et tout le reste ble_client , button, batterie j’ai supprimer.
substitutions:
name: m5stickc-plus2-ble
friendly_name: M5StickC PLUS2 BLE
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
esp32:
board: m5stick-c
framework:
type: esp-idf
flash_size: 8MB
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "xxxxxxxxxxxx"
ota:
- platform: esphome
password: "xxxxxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
esp32_ble_tracker:
binary_sensor:
- platform: ble_presence
mac_address: FF:22:07:xx:xx:xx
name: "White iTag"
device_class: presence
sensor:
- platform: uptime
id: uptime_sec
update_interval: 60s
internal: true
- platform: ble_rssi
mac_address: FF:22:07:xx:xx:xx
name: "White iTag RSSI"
Le ble_rssi a un bon signal comparé à mon ancien code qui utiliser le ble_client_id. Avec le mac adresse ça fonctionne bien mieux, le signal est correct.
Le ble_presence fonctionne bien maintenant, sans l’ajout du bouton et batterie.
Il c’est pas déconnecter au bout de 5min
salut , moi j’utilise que ble_presence et aucun probleme, parcontre la ou j’ai un probleme, c’est avec le bouton car quand je le met itag sur un porte clef et que je le met dans un sac, itag se coupe, je pense qu’il y a un appuie sur le bouton.
Oui, je m’en suis rendu compte. Si on veut utiliser le bouton et batterie, ça fonctionne plus avec le ble_presence.
Tu n’as pas vu que je galère à faire fonctionne le ble_présence ?
Tu aurais pu m’éclaircir sur le problème. C’est après que je trouve la solution, que tu réagis
titof2375:
Par contre, là où j’ai un problème, c’est avec le bouton, car quand je le mets itag sur un porte-clef et que je le mets dans un sac, itag se coupe, je pense qu’il y a un appui sur le bouton.
j’ai un itag dans ma sacoche et pas de problème. Par contre, celui-là passe par l’intégration Bluetooth LE de HA.
Le bouton peut éteindre le itag, mais il faut appuyer quelques secondes pour l’éteindre.
Bonjour,
Effectivement ça ne marchait pas vraiment, encore merci pour tes recherches et ton partage !