Wiki Le BIK'LAB

Le Bik'Lab avec le réseau des FabLabs de la région académique Guadeloupe

Outils pour utilisateurs

Outils du site


projets:home-assistant:aquaponie:sat-camera

Table des matières

Sat Camera

Hardware

Code yaml ESPhome

camera.yaml
substitutions:
  devicename: camera_bassin
  friendly_devicename: "Camera bassin"
  
esphome:
  name: ${devicename}
  friendly_name: ${friendly_devicename}

esp32:
  board: esp32dev
  framework:
    type: arduino
 
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "JLdvo5678OTSRNRSTCeiu098765"

ota:
  - platform: esphome
    password: "jldv9876povAUIE567987"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
 
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "${friendly_devicename} Fallback Hotspot"
    password: "09876RSTCeiua0987654"

captive_portal:
    
esp32_camera:
  name: TimerX Camera
  external_clock:
    pin: GPIO27
    frequency: 20MHz
  i2c_pins:
    sda: GPIO25
    scl: GPIO23
  data_pins: [GPIO32, GPIO35, GPIO34, GPIO5, GPIO39, GPIO18, GPIO36, GPIO19]
  vsync_pin: GPIO22
  href_pin: GPIO26
  pixel_clock_pin: GPIO21
  #power_down_pin: -1
  resolution: 800x600
  jpeg_quality: 10
  max_framerate: 15 fps
  idle_framerate: 0.1 fps
  vertical_flip: true
  horizontal_mirror: false

button:
  - platform: restart
    name: "Redémarrer TimerX Camera"    

sensor:
  - platform: wifi_signal
    name: "signal WiFi ${friendly_devicename}"
    update_interval: 60s
 
  - platform: uptime
    name: "${friendly_devicename} Uptime"
    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 ${friendly_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
projets/home-assistant/aquaponie/sat-camera.txt · Dernière modification : 25/05/2025 00:39 de Oliver Watté