Bonjour à toutes et à tous, allez je me lance aussi, un projet simple qui sera ainsi partagé.
Combien de fois je me suis dit: Est ce qu j’ai rentré la voiture au garage ?
Depuis qu’ il faut la recharger, Est elle en charge?
Je n’ai rien inventé, j’ai fouiné sur internet et j’ai fini par me faire ma synthèse, voici donc le résultat.
pour réaliser j’ai utilisé:
un esp32 : https://esphome.io/components/esp32
un capteur de distance : https://esphome.io/components/sensor/ultrasonic
le schéma
le code esphome:
esphome:
name: voiture-garage
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
- platform: esphome
password: "xxxxxxx"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Voiture-Garage Fallback Hotspot"
password: "xxxxxxxx"
text_sensor:
- platform: wifi_info
ip_address:
name: Ip voiture Garage
captive_portal:
sensor:
- platform: ultrasonic
id: ultrasonic_1
trigger_pin: GPIO5
echo_pin: GPIO18
update_interval: 20s
timeout: 2.5 m
name: "Mesure distance garage"
on_value_range:
- above: 0.8
then:
- light.turn_on:
id: led_output
- below: 0.8
then:
- light.turn_off:
id: led_output
- platform: wifi_signal
name: "Mesure distance Wifi Signal"
update_interval: 60s
binary_sensor:
- platform: template
name: "presence voiture"
device_class: presence
lambda: |-
if (id(ultrasonic_1).state < 0.8) {
// car is in the garage
return true;
} else {
// no car
return false;
}
light:
- platform: binary
name: " Led attente présence voiture"
output: led_test
id: led_output
output:
id: led_test
platform: gpio
pin: GPIO2
pour avoir une bonne sensibilité il faut personnaliser les distances de référence en fonction de votre installation ( above et below)
ensuite j’ai créé une automatisation pour me rappeler de rentrer la voiture si nécessaire si je suis présent à la maison.
alias: Surveillance absence voiture Garage
description: ""
mode: single
triggers:
- at: "21:10"
trigger: time
- at: "21:40"
trigger: time
- at: "21:58"
trigger: time
conditions:
- condition: and
conditions:
- condition: state
state: home
entity_id: person.patrick
- type: is_not_present
condition: device
device_id: c71daa1038c9fc2da0
entity_id: binary_sensor.presence_voiture
domain: binary_sensor
- condition: state
entity_id: input_select.pilotage_volets
state: Présence
actions:
- data: {}
action: script.script_audio_alerte_absence_voiture_garage
puis une autre pour la charge du véhicule
alias: "C5 : Surveillance charge batterie"
description: ""
triggers:
- type: present
device_id: c71daa1038c9fc2da0c524c9f1004b13
entity_id: binary_sensor.presence_voiture
domain: binary_sensor
for:
hours: 0
minutes: 10
seconds: 0
trigger: device
conditions:
- condition: state
entity_id: input_select.pilotage_volets
state: Présence
- condition: state
state: "off"
for:
hours: 0
minutes: 0
seconds: 0
entity_id: binary_sensor.c5_prise_alimentation
- condition: time
after: "17:00:00"
before: "22:30:00"
actions:
- delay:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
- if:
- condition: state
entity_id: binary_sensor.c5_prise_alimentation
state: "off"
then:
- data: {}
action: script.script_audio_alerte_c5_charge_batteire
- delay:
hours: 0
minutes: 20
seconds: 0
milliseconds: 0
- if:
- condition: state
entity_id: binary_sensor.C5_prise_alimentation
state: "off"
for:
hours: 0
minutes: 5
seconds: 0
- type: is_present
condition: device
device_id: c71daa1038c9fc2da0c524c9f1004b13
entity_id: binary_sensor.presence_voiture
domain: binary_sensor
then:
- data: {}
action: script.script_audio_alerte_charge_batterie_rappel
mode: single
rien de bien compliqué mais efficace depuis au moins 2 ans.
une fois en place
Et meilleurs voeux pour 2025