En trois petites lignes de commande et c’est dans la poche.
Pré-requis
- Avoir récupéré les adresses mac de ses périphériques bluetooth
Objectifs
- Mettre en place un traqueur bluetooth pour collecter les rssi (suivi de présence de tous périphérique bluetooth) et les infos des capteurs lywsd02 et miflora.
Contexte
Ce papier constitue pour le blog le début d’une série qui va décrire mon glissement de Jeedom vers la triade Esphome / Node-red / Homeassistant. J’envisage la transition en douceur, pièce par pièce, Jeedom étant en prod chez moi. La constante sera l’utilisation systématique de mqtt, chemin que Jeedom n’a pas l’air de vouloir suivre. Ce papier n’est donc qu’une étape dans cette démarche visant à proposer une solution pour faire le lien entre bluetooth et réseau mqtt. Dans les prochains articles je décrirais comment en faire de même pour le zwave et le zigbee.
De quoi a-t-on besoin?
Je suis parti sur un esp32. Il s’agit d’une carte de développement à bas coût contenant wifi et bluetooth.
J’ai ensuite utilisé le projet esphome que je souhaitais découvrir.
Comment fait-on ?
La programmation de la carte est d’une superbe simplicité, trois lignes de commandes triviales suffisent pour que tout soit fonctionnel.
Installation d’esphome
pip install esphome
Configuration de la carte
nano esp32_ble_tracker.yaml
esphome:
name: esp32_ble_tracker
platform: ESP32
board: esp32-gateway
wifi:
ssid: ""
password: ""
# Example configuration entry
esp32_ble_tracker:
sensor:
- platform: xiaomi_miflora
mac_address: ''
temperature:
name: "Philodendron Bureau Température"
moisture:
name: "Philodendron Bureau Humidité"
illuminance:
name: "Philodendron Bureau Luminosité"
conductivity:
name: "Philodendron Bureau Fertilité"
battery_level:
name: "Philodendron Bureau Batterie"
- platform: xiaomi_mijia
mac_address: ''
temperature:
name: "MiJia Sdb Température"
humidity:
name: "MiJia Sdb Humidité"
battery_level:
name: "MiJia Sdb Batterie"
# Enable logging
logger:
# Enable Home Assistant API
#api:
#ota:
mqtt:
broker:
username: ""
password: ""
Les lignes à adapter sont :
name:
wifi:
ssid: ""
password: ""
mac_address: ''
name: ""
Et si comme moi vous souhaitez que les infos remontent en mqtt :
mqtt:
broker:
username: ""
password: ""
À noter qu’il est aussi possible d’avoir un accès http. Il permettra de faire des mises à jour en ota.
web_server:
port: 80
Envoie du firmware
esphome esp32_ble_tracker.yaml run
Bonus: basculer sur la branche dev du projet
La première compilation s’est déroulée sans soucis, puis j’ai eu les erreurs documentées ici. La solution est de basculer sur la branche en développement d’esphome.
pip install https://github.com/esphome/esphome/archive/dev.zip
Bonne compilation