Files
EspHome/node.yaml
Victor Alexandrovich Tsyrenschikov 2b3cbabf24 ESPHOME
2026-03-08 11:47:36 +05:00

110 lines
2.5 KiB
YAML

substitutions:
# Modify variables based on your settings
hostname: "heart"
devicename: heart light
esphome:
name: heart
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "Iw7I/llBJ4LsVy28quiL5/imptDeJxix+oUOvF2kAZs="
ota:
- platform: esphome
password: "7764e46209332102a3622e6bceb2afba"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
# ap:
# ssid: "Heart Fallback Hotspot"
# password: "f2MTBkrPhnmX"
use_address: 192.168.88.164
manual_ip:
static_ip: 192.168.88.164
gateway: 192.168.88.1
subnet: 255.255.255.0
# dns1: 8.8.8.8
# dns2: 8.8.4.4
captive_portal:
switch:
- platform: gpio
pin: GPIO0
name: "Heart switch"
inverted: true
# The following can be omitted
- platform: restart
name: ${devicename} restart
sensor:
- platform: wifi_signal
name: ${devicename} wifi signal
update_interval: 600s
# human readable uptime sensor output to the text sensor above
- platform: uptime
name: ${devicename} Uptime in Days
id: uptime_sensor_days
update_interval: 60s
on_raw_value:
then:
- text_sensor.template.publish:
id: uptime_human
state: !lambda |-
int seconds = round(id(uptime_sensor_days).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) + "d " : "") +
(hours ? String(hours) + "h " : "") +
(minutes ? String(minutes) + "m " : "") +
(String(seconds) + "s")
).c_str();
time:
- platform: homeassistant
id: homeassistant_time
# Text sensors with general information.
text_sensor:
# Expose ESPHome version as sensor.
- platform: version
name: $devicename Version
# Expose WiFi information as sensors.
- platform: wifi_info
ip_address:
name: $devicename IP
bssid:
name: $devicename BSSID
# human readable update text sensor from sensor:uptime
- platform: template
name: Uptime Human Readable
id: uptime_human
icon: mdi:clock-start
# web_server:
# port: 80
# auth:
# username: "silver"
# password: "cbvgcjy0"
# js_url: "http://192.168.88.4/static/file/upanel/js/esphome.js"