[Concours] Ma voiture est-elle au garage et en charge?

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

5 « J'aime »

J’ai le même système avec un capteur de porte afin de savoir si la porte de garage est bien fermée et un relay pour la commande.

Franchement c’est top et hyper pratique ^^