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"