====== Sat Cuve à eau ======
===== Objectif =====
Mesure la quantité d’eau disponible dans des citernes à eau.
Moyen : on utilise un capteur laser pour mesurer la distance entre le sommet de l’eau et le capteur de façon à extrapoler la hauteur de la colonne d’eau et en déduire le volume total disponible
===== Montage =====
Attention à la polarité ! (**+/-**)
{{ :projets:home-assistant:aquaponie:sat-bik-capteur_laser_cuve_a_eau_bb.png?400 |}}
Suivre le schéma de montage en respectant les conventions de couleur pour les fils.
===== Documentation technique =====
La documentation technique complète est disponible :
* en ligne : [[]]
* en téléchargement (PDF) : [[https://www.alldatasheet.com/datasheet-pdf/download/948120/STMICROELECTRONICS/VL53L0X.html]]
Toute cette documentation est diffusée sous [[https://creativecommons.org/licenses/by/4.0/deed.fr|licence Creative Commons CC BY 4.0 Deed]] pour en faciliter la réutilisation.
===== Code =====
==== Code basique ====
esphome:
name: citerne
friendly_name: Citerne
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "jKAUk7eaGd1hf4V1y9LIXGxA9nLUavgWrY2jFNmTQQ0="
ota:
- platform: esphome
password: "57e167ac1e278fd9f20970f9690f9ede"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Citerne Fallback Hotspot"
password: "s6xKWSkMR6XG"
captive_portal:
# Activer le support i²c
i2c:
sda: GPIO4 #D2 # à adapter selon ton câblage
scl: GPIO5 #D1
scan: true
# Capteur VL53L0X
sensor:
- platform: vl53l0x
name: "Distance Laser"
update_interval: 60s
long_range: false
timeout: 200ms
==== Code avancé ====
substitutions:
devicename: citerne
friendly_devicename: Citerne
esphome:
name: ${devicename}
friendly_name: ${friendly_devicename}
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "jKAUk7eaGd1hf4V1y9LIXGxA9nLUavgWrY2jFNmTQQ0="
ota:
- platform: esphome
password: "57e167ac1e278fd9f20970f9690f9ede"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "${devicename} Fallback Hotspot"
password: "s6xKWSkMR6XG"
captive_portal:
# Activer le support i²c
i2c:
sda: GPIO4 #D2 # à adapter selon ton câblage
scl: GPIO5 #D1
scan: true
# Capteur VL53L0X
sensor:
- platform: vl53l0x
name: "Distance Laser"
update_interval: 60s
long_range: false
timeout: 200ms
- platform: wifi_signal
name: "signal WiFi (${devicename})"
update_interval: 60s
- platform: uptime
name: "${devicename} Uptime Sensor"
id: ${devicename}_uptime_sensor
update_interval: 60s
on_raw_value:
then:
- text_sensor.template.publish:
id: ${devicename}_uptime_human
state: !lambda |-
int seconds = round(id(${devicename}_uptime_sensor).raw_state);
int days = seconds / (24 * 3600);
seconds = seconds % (24 * 3600);
int hours = seconds / 3600;
seconds = seconds % 3600;
int minutes = seconds / 60;
seconds = seconds % 60;
return (
(days ? String(days) + "j " : "") +
(hours ? String(hours) + "h " : "") +
(minutes ? String(minutes) + "m " : "") +
(String(seconds) + "s")
).c_str();
text_sensor:
- platform: wifi_info
ip_address:
name: "adresse IP (${devicename})"
id: ${devicename}_ip_address
- platform: template
name: "Uptime (${devicename})"
id: ${devicename}_uptime_human
icon: mdi:clock-start
- platform: version
name: "Version d'ESPHome installée"
id: ${devicename}_ESPHome_Version
===== Intégration Home Assistant ====