mini-home/the-saloon.yaml
ESPHome Device Builder bc0b03bc46 Edit the-saloon.yaml
2026-10-18 15:18:33 +02:00

111 lines
2.2 KiB
YAML

# Board: Generic ESP32-C3 Board (Generic)
# Definition: definitions/boards/generic-esp32c3/manifest.yaml
esphome:
name: the-saloon
friendly_name: the-saloon
api:
encryption:
key: "hOwepopyk9l0dnp8M+UBkLfhIIel75DOlYCtwJG8tvI="
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: the-saloon Fallback Hotspot
password: "JrEe6jVLK36I"
esp32:
board: esp32-s3-devkitc-1
variant: esp32s3
flash_size: 16MB
framework:
type: esp-idf
psram:
mode: octal
speed: 80MHz
logger:
# Backlight
output:
- platform: ledc
pin: GPIO38
frequency: 2000
id: backlight_output
light:
- platform: monochromatic
output: backlight_output
name: "LCD Backlight"
restore_mode: ALWAYS_ON
default_transition_length: 0s
# Display bus (8-bit parallel, declared as an octal "spi")
spi:
type: octal
clk_pin: 8
data_pins:
- 39
- 40
- 41
- 42
- number: 45
ignore_strapping_warning: true
- number: 46
ignore_strapping_warning: true
- 47
- 48
display:
- platform: mipi_spi
model: t-display-s3
rotation: 270
update_interval: 5s
lambda: |-
it.printf(10, 10, id(roboto), "NAS RAM");
if (id(nas_ram_free).has_state()) {
it.printf(10, 60, id(roboto_big), "%.0f MB", id(nas_ram_free).state);
} else {
it.printf(10, 60, id(roboto), "waiting...");
}
font:
- file: "gfonts://Roboto"
id: roboto
size: 24
- file: "gfonts://Roboto"
id: roboto_big
size: 48
# Data from Glances (same as before)
http_request:
timeout: 5s
sensor:
- platform: template
id: nas_ram_free
name: "NAS RAM libre"
unit_of_measurement: "MB"
accuracy_decimals: 0
state_class: measurement
interval:
- interval: 60s
then:
- http_request.get:
url: http://192.168.1.19:61208/api/4/mem # your NAS IP
capture_response: true
on_response:
then:
- lambda: |-
json::parse_json(body, [](JsonObject root) -> bool {
id(nas_ram_free).publish_state(root["available"].as<float>() / 1048576.0f);
return true;
});