new revision of the yaml syntax esphome

This commit is contained in:
2025-07-14 10:14:51 +00:00
parent ca81719305
commit 5aa835ca38
8 changed files with 78 additions and 160 deletions

4
.gitignore vendored
View File

@@ -2,5 +2,7 @@
# This is an example and may include too much for your use-case.
# You can modify this file to suit your needs.
/.esphome/
/secrets.yaml
/secrets/*
secrets.yaml
./secrets.yaml
/venv/*

View File

@@ -1,4 +0,0 @@
python3 -m venv /home/lade/python_venv.
source venv/bin/activate

View File

@@ -1,6 +1,7 @@
esphome:
name: espsalon
platform: ESP8266
esp8266:
board: d1_mini
# Enable logging

View File

@@ -1,8 +1,10 @@
esphome:
name: espsensor32
platform: ESP32
esp32:
board: esp-wrover-kit
logger:
api:
@@ -37,7 +39,7 @@ time:
- logger.log: "NTP : Synchronized sntp clock"
mqtt:
broker: domotic.home.cabestan.be
broker: !secret mqtt_broker
username: espsalon
password: !secret mqtt_espsalon

View File

@@ -40,7 +40,7 @@ time:
- logger.log: "NTP : Synchronized sntp clock"
mqtt:
broker: domotic.home.cabestan.be
broker: !secret mqtt_broker
username: espsalon
password: !secret mqtt_espsalon
@@ -51,6 +51,16 @@ i2c:
frequency: 300kHz
id: bus_a
globals:
- id: gaz_impulse
type: int
restore_value: no
initial_value: '0'
- id: gaz_volume
type: float
restore_value: no
initial_value: '0'
ads1115:
- address: 0x48
@@ -102,5 +112,43 @@ sensor:
lambda: return ( id(ads0).state - 0.74 ) * 0.9 / 2.0 * 5000.0;
accuracy_decimals: 0
- platform: template
name: gaz impulse
id: gaz_impulse_sensor
lambda: return id(gaz_impulse);
- platform: template
name: gaz volume
id: gaz_volume_sensor
lambda: return id(gaz_volume);
binary_sensor:
- platform: gpio
pin:
number: GPIO5
inverted: true
mode:
input: true
pullup: true
name: "gaz volume add"
id: gaz_volume_add
on_press:
- then:
- lambda: 'id(gaz_impulse) += 1; id(gaz_volume) += 0.01; '
- sensor.template.publish:
id: gaz_impulse_sensor
state: !lambda 'return id(gaz_impulse);'
button:
- platform: template
name: Reset counters
id: button_reset_counters
# Optional variables:
icon: "mdi:emoticon-outline"
on_press:
- logger.log: "Button pressed reset counters"
- lambda: 'id(gaz_impulse) = 0; id(gaz_volume) = 0.00; '
- sensor.template.publish:
id: gaz_impulse_sensor
state: !lambda 'return id(gaz_impulse);'

View File

@@ -112,8 +112,8 @@ display:
it.printf( 0, 85, id(my_font_14), TextAlign::TOP_LEFT , "v4:");
it.printf( 32, 85, id(my_font_14), TextAlign::TOP_LEFT , "%d" , id(binary_26).state );
it.printf( 0, 105, id(my_font_14), TextAlign::TOP_LEFT , "v5");
it.printf( 32, 105, id(my_font_14), TextAlign::TOP_LEFT , "%d" , id(binary_27).state );
it.printf( 0, 105, id(my_font_14), TextAlign::TOP_LEFT , "a5");
it.printf( 32, 105, id(my_font_14), TextAlign::TOP_LEFT , "%f" , id(analog_36).state );
# it.printf( 18, 105, id(my_font_14), TextAlign::TOP_LEFT , "%s" , id(nw_connected).state );
@@ -123,10 +123,20 @@ sensor:
update_interval: 3s
- platform: adc
pin: GPIO36
pin:
number: GPIO36
mode:
input: true
# pulldown: true
name: analog hall sensor
update_interval: 3s
id: analog_36
- platform: vl53l0x
name: "VL53L0x Distance"
address: 0x29
update_interval: 10s
long_range: true
binary_sensor:
- platform: gpio

View File

@@ -1,8 +1,10 @@
esphome:
name: espwater
platform: ESP32
board: nodemcu-32s
esp32:
board: nodemcu-32s
framework:
type: arduino
logger:
@@ -30,7 +32,7 @@ web_server:
mqtt:
# broker: hass20.home.cabestan.be
broker: domotic.home.cabestan.be
broker: !secret mqtt_broker
# username: espsalon
username: espwater
# password: sala45224

View File

@@ -1,143 +0,0 @@
esphome:
name: espsalon32
platform: ESP32
board: esp-wrover-kit
logger:
api:
password: !secret api_secret
ota:
platform: esphome
password: !secret ota_key
wifi:
ssid: !secret wireless_ssid
password: !secret wireless_key
domain: !secret wireless_domain
ap:
ssid: "ESPsalon_Fallback"
password: !secret ap_secret
captive_portal:
web_server:
port: 80
time:
- platform: sntp
id: sntp_time
servers:
- 193.190.198.10
# timezone: "Europe/Brussels"
on_time_sync:
then:
- logger.log: "NTP : Synchronized sntp clock"
mqtt:
broker: domotic.home.cabestan.be
username: espsalon
password: !secret mqtt_espsalon
i2c:
sda: 21
scl: 22
scan: true
frequency: 300kHz
id: bus_a
font:
- file: "fonts/Roboto/Roboto-Black.ttf"
id: my_font_16
size: 16
- file: "fonts/Roboto/Roboto-Black.ttf"
id: my_font_14
size: 14
- file: "fonts/materialdesignicons-webfont.ttf"
id: icons_14
size: 14
glyphs:
- "\U000F050F" # mdi-home-thermometer
- "\U000F058E" # mdi-water-percent
- "\U000F015F" # mdi-cloud
- "\U000F1252" # mdi-home-lightbulb-outline
- "\U000F0A60" # mdi-ip-network
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
external_vcc: False
id: saloon_display
rotation: 90
# lambda: |-
# it.print(0, 0, id(my_font_16), "Hello World!");
pages:
- id: page1
lambda: |-
it.strftime( 32, 0, id(my_font_16), TextAlign::TOP_CENTER , "%H:%M:%S" , id(sntp_time).now() );
it.printf( 0, 25, id(icons_14), TextAlign::TOP_LEFT , "\U000F050F");
it.printf( 18, 25, id(my_font_14), TextAlign::TOP_LEFT , "%.1f°" , id(temperature).state );
it.printf( 0, 45, id(icons_14), TextAlign::TOP_LEFT , "\U000F058E");
it.printf( 18, 45, id(my_font_14), TextAlign::TOP_LEFT , "%.1f%%", id(humidity).state );
it.printf( 0, 65, id(icons_14), TextAlign::TOP_LEFT , "\U000F015F");
it.printf( 18, 65, id(my_font_14), TextAlign::TOP_LEFT , "%.0f" , id(pressure).state );
it.printf( 0, 85, id(icons_14), TextAlign::TOP_LEFT , "\U000F1252");
it.printf( 18, 85, id(my_font_14), TextAlign::TOP_LEFT , "%.0f" , id(ambiantlight).state );
it.printf( 0, 105, id(icons_14), TextAlign::TOP_LEFT , "\U000F0A60");
# it.printf( 18, 105, id(my_font_14), TextAlign::TOP_LEFT , "%s" , id(nw_connected).state );
switch:
- platform: gpio
name: "Esp Salon Led"
pin: 2
binary_sensor:
- platform: gpio
pin: 14
name: "PIR Sensor"
device_class: motion
sensor:
- platform: dht
pin: 19
temperature:
id: temperature
name: "Living Room Temperature"
humidity:
id: humidity
name: "Living Room Humidity"
update_interval: 10s
- platform: bmp280_i2c
temperature:
name: "Living Room Temperature S2"
oversampling: 16x
pressure:
id: pressure
name: "Pressure"
address: 0x76
update_interval: 60s
- platform: adc
id: ambiantlight
pin: 36
name: "Living Room Brightness"
device_class: "illuminance"
unit_of_measurement: "lx"
update_interval: 5s
accuracy_decimals: 1
filters:
- multiply: 500.0
# - sliding_window_moving_average:
# window_size: 5
# send_every: 5