{"id":3395,"date":"2025-01-10T18:26:19","date_gmt":"2025-01-10T17:26:19","guid":{"rendered":"https:\/\/domo.rem81.com\/?p=3395"},"modified":"2025-04-08T08:13:04","modified_gmt":"2025-04-08T06:13:04","slug":"ha-luxmetre-connecte-esphome","status":"publish","type":"post","link":"https:\/\/domo.rem81.com\/index.php\/2025\/01\/10\/ha-luxmetre-connecte-esphome\/","title":{"rendered":"HA-Luxmetre connect\u00e9 ESPHome"},"content":{"rendered":"\n\n\n\n<h1 class=\"wp-block-heading\">Intro<\/h1>\n\n\n\n<p>Dans mes projets domotiques, j\u2019aime concevoir des solutions simples et efficaces. Aujourd\u2019hui, je vous pr\u00e9sente un luxm\u00e8tre connect\u00e9 bas\u00e9 sur un ESP8266 (mod\u00e8le ESP-01) et un capteur de luminosit\u00e9 BH1750. Ce dispositif mesure la luminosit\u00e9 ambiante et l\u2019envoie \u00e0 Home Assistant pour piloter mes automatisations, comme la gestion des volets. Voici comment je l\u2019ai configur\u00e9 !<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Objectif du projet<\/h1>\n\n\n\n<p>Le but est de cr\u00e9er un capteur de luminosit\u00e9 compact et abordable pour surveiller les niveaux de lumi\u00e8re dans ma maison. Coupl\u00e9 \u00e0 Home Assistant, il me permet de d\u00e9clencher des actions en fonction de seuils d\u00e9finis (par exemple, ouvrir ou fermer les volets). Avec un ESP8266 et un BH1750, le tout est r\u00e9alisable pour moins de 5 \u20ac !<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Le mat\u00e9riel utilis\u00e9<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ESP8266 ESP-01<\/strong> : Une petite carte Wi-Fi \u00e9conomique et parfaite pour les projets IoT.<\/li>\n\n\n\n<li><strong>Capteur BH1750<\/strong> : Un module I2C qui mesure la luminosit\u00e9 en lux avec une bonne pr\u00e9cision.<\/li>\n\n\n\n<li><strong>C\u00e2bles Dupont<\/strong> : Pour connecter le BH1750 \u00e0 l\u2019ESP sans soudure (GPIO0 pour SDA, GPIO2 pour SCL).<\/li>\n\n\n\n<li><strong>Alimentation 3.3V<\/strong> : L\u2019ESP-01 et le BH1750 fonctionnent en 3.3V, donc une source adapt\u00e9e est n\u00e9cessaire.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">La configuration avec ESPHome<\/h1>\n\n\n\n<p>J\u2019utilise ESPHome pour programmer et g\u00e9rer l\u2019ESP01. Voici le code YAML que j\u2019ai cr\u00e9\u00e9, avec quelques explications :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>substitutions:\n  device_name: esp135-luxmetre\n  adress_ip: \"192.168.0.135\"\n  friendly_name: esp135\n\nesphome:\n  name: ${device_name}\nesp8266:\n  board: esp01_1m\n  framework:\n    version: recommended  \n\nwifi:\n  networks:\n    - ssid: !secret wifi_esp\n      password: !secret mdpwifi_esp\n      priority: 1\n    - ssid: !secret wifi\n      password: !secret mdpwifi\n      priority: 0\n  reboot_timeout: 5min\n  manual_ip:\n    static_ip: ${adress_ip}\n    gateway: 192.168.0.254\n    subnet: 255.255.255.0\n\n# Enable logging\nlogger:\n\n# Enable Home Assistant API\napi:\n\nota:\n  platform: esphome\n\nweb_server:\n  port: 80\n\ni2c:\n  sda: GPIO0\n  scl: GPIO2\n  scan: False\n  id: bus_a\n\n# Etat de la connexion\nbinary_sensor:\n  - platform: status\n    name: \"${friendly_name}_Status\"\n\nsensor:\n  - platform: bh1750\n    name: \"BH1750 Illuminance\"\n    address: 0x23\n    update_interval: 60s<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">Points cl\u00e9s du code :<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Substitutions<\/strong> : Je d\u00e9finis des variables comme le nom (<code>esp135-luxmetre<\/code>) et l\u2019IP statique (<code>192.168.0.135<\/code>) pour une configuration propre et r\u00e9utilisable.<\/li>\n\n\n\n<li><strong>Wi-Fi<\/strong> : Deux r\u00e9seaux sont configur\u00e9s avec des priorit\u00e9s (mon r\u00e9seau principal et un secours). L\u2019IP statique \u00e9vite les conflits sur mon r\u00e9seau.<\/li>\n\n\n\n<li><strong>I2C<\/strong> : Le BH1750 est connect\u00e9 via les GPIO0 (SDA) et GPIO2 (SCL) de l\u2019ESP-01. L\u2019adresse par d\u00e9faut du capteur est <code>0x23<\/code>.<\/li>\n\n\n\n<li><strong>Capteur BH1750<\/strong> : Il mesure la luminosit\u00e9 toutes les 60 secondes et envoie les donn\u00e9es sous le nom <code>BH1750 Illuminance<\/code>.<\/li>\n\n\n\n<li><strong>Extras<\/strong> :<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>binary_sensor<\/code> : Un indicateur de statut pour v\u00e9rifier si l\u2019ESP est en ligne.<\/li>\n\n\n\n<li><code>web_server<\/code> : Une interface web sur le port 80 pour voir les donn\u00e9es en direct.<\/li>\n\n\n\n<li><code>api<\/code> et <code>ota<\/code> : Int\u00e9gration avec Home Assistant et mises \u00e0 jour sans fil.<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Installation et mise en route<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>C\u00e2blage<\/strong> : Connectez le BH1750 \u00e0 l\u2019ESP-01 (VCC et GND \u00e0 3.3V, SDA \u00e0 GPIO0, SCL \u00e0 GPIO2).<\/li>\n\n\n\n<li><strong>Flasher le firmware<\/strong> : Utilisez ESPHome Dashboard pour compiler et uploader le code via un adaptateur USB (comme un FTDI). Assurez-vous d\u2019avoir les secrets (<code>wifi_esp<\/code>, <code>mdpwifi_esp<\/code>, etc.) dans votre fichier <code>secrets.yaml<\/code>.<\/li>\n\n\n\n<li><strong>Int\u00e9gration dans Home Assistant<\/strong> : Une fois l\u2019ESP connect\u00e9 au Wi-Fi, il est automatiquement d\u00e9tect\u00e9 par Home Assistant via l\u2019API. L\u2019entit\u00e9 <code>sensor.bh1750_illuminance<\/code> appara\u00eet alors dans l\u2019interface.<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">Utilisation dans mes automatisations<\/h1>\n\n\n\n<p>Ce luxm\u00e8tre est au c\u0153ur de mon automatisation des volets (voir mon <a href=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/25\/ha-automatisation-des-volets-rts-v2025\/\" data-type=\"link\" data-id=\"https:\/\/domo.rem81.com\/index.php\/2025\/03\/25\/ha-automatisation-des-volets-rts-v2025\/\" target=\"_blank\" rel=\"noreferrer noopener\">article <\/a>). Par exemple, je l\u2019utilise pour basculer un <code>input_boolean.nuit_jour<\/code> en comparant la luminosit\u00e9 \u00e0 des seuils d\u00e9finis :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si la luminosit\u00e9 d\u00e9passe 50 lux et que le soleil est lev\u00e9, c\u2019est le \u00ab\u00a0jour\u00a0\u00bb.<\/li>\n\n\n\n<li>Si elle tombe sous 20 lux et que le soleil est couch\u00e9, c\u2019est la \u00ab\u00a0nuit\u00a0\u00bb.<\/li>\n<\/ul>\n\n\n\n<p>Ces donn\u00e9es alimentent ensuite mes scripts pour ouvrir ou fermer les volets automatiquement.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Pourquoi ce projet ?<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u00c9conomique<\/strong> : Avec un co\u00fbt minime, j\u2019ai un capteur pr\u00e9cis et connect\u00e9.<\/li>\n\n\n\n<li><strong>Flexible<\/strong> : Les mesures toutes les 60 secondes sont un bon compromis entre r\u00e9activit\u00e9 et faible consommation.<\/li>\n\n\n\n<li><strong>DIY<\/strong> : Pas besoin de mat\u00e9riel co\u00fbteux ou de comp\u00e9tences avanc\u00e9es, c\u2019est accessible \u00e0 tous !<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Conclusion<\/h1>\n\n\n\n<p>Ce luxm\u00e8tre bas\u00e9 sur un ESP01 et un BH1750 est une petite merveille pour la domotique. Il m\u2019a permis d\u2019affiner mes automatisations en tenant compte de la luminosit\u00e9 r\u00e9elle, et son int\u00e9gration avec Home Assistant est un jeu d\u2019enfant gr\u00e2ce \u00e0 ESPHome. Si vous voulez surveiller la lumi\u00e8re chez vous ou piloter des appareils en fonction du jour et de la nuit, ce projet est un excellent point de d\u00e9part. Des id\u00e9es pour l\u2019am\u00e9liorer ? Partagez-les en commentaire sur domo.rem81.com !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Intro Dans mes projets domotiques, j\u2019aime concevoir des solutions simples et efficaces. Aujourd\u2019hui, je vous pr\u00e9sente un luxm\u00e8tre connect\u00e9 bas\u00e9 sur un ESP8266 (mod\u00e8le ESP-01) et un capteur de luminosit\u00e9 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[17],"class_list":["post-3395","post","type-post","status-publish","format-standard","hentry","category-homeassistant","tag-esphome"],"_links":{"self":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/comments?post=3395"}],"version-history":[{"count":3,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3395\/revisions"}],"predecessor-version":[{"id":3398,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/posts\/3395\/revisions\/3398"}],"wp:attachment":[{"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/media?parent=3395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/categories?post=3395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/domo.rem81.com\/index.php\/wp-json\/wp\/v2\/tags?post=3395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}