substitutions: local_update_interval: 30s ########################################################################################## # GENERAL COMMON SENSORS # https://esphome.io/components/sensor/ ########################################################################################## # Debug helpers (loop time / heap / reset info) debug: update_interval: ${local_update_interval} sensor: # - platform: uptime # Uptime for this device in seconds # name: "Uptime (s):" # update_interval: ${local_update_interval} # id: uptime_sensor # entity_category: "diagnostic" # - platform: wifi_signal # Wifi Strength # name: "Wifi (dB):" # id: wifi_signal_db # update_interval: ${local_update_interval} # entity_category: "diagnostic" # - platform: copy # Reports the WiFi signal strength in % # source_id: wifi_signal_db # name: "WiFi (%):" # filters: # - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0); # unit_of_measurement: "% Max" # entity_category: "diagnostic" # device_class: "" # Free heap via debug (replaces template-based ESP.getFreeHeap if you prefer) - platform: debug free: name: "Free Heap" entity_category: "diagnostic" # Loop time via debug (replaces broken template loop time) - platform: debug loop_time: name: "Loop Time" entity_category: "diagnostic" # If you’d rather keep the legacy heap sensor, uncomment below and # delete the debug "free" block above to avoid duplicates: # - platform: template # name: "${friendly_name} Free Heap" # unit_of_measurement: "B" # update_interval: 30s # entity_category: "diagnostic" # lambda: |- # return (float) ESP.getFreeHeap(); # Only works with esp8266 #- platform: adc # pin: VCC # name: "VCC Voltage" # id: vcc_voltage_sensor # entity_category: diagnostic #binary_sensor: # - platform: status # name: "Network Status" # icon: mdi:check-network-outline # entity_category: diagnostic ########################################################################################## # Text Sensors # https://esphome.io/components/text_sensor/index.html ########################################################################################## text_sensor: ###################################################### # General ESPHome Info ###################################################### - platform: version name: "Version:" entity_category: "diagnostic" - platform: wifi_info ip_address: icon: mdi:ip-network entity_category: diagnostic name: "IP Address:" ssid: name: "Connected SSID" icon: mdi:wifi-strength-2 entity_category: diagnostic mac_address: name: "MAC Address:" icon: mdi:network-pos entity_category: diagnostic - platform: uptime # Uptime for this device human readable name: "Uptime:" icon: mdi:clock-start update_interval: ${local_update_interval} entity_category: "diagnostic" ################################################################################################### # Creates a sensor of the uptime of the device, in formatted days, hours, minutes and seconds ################################################################################################### # - platform: template # name: "Uptime (Days)" # entity_category: diagnostic # lambda: |- # int seconds = (id(uptime_sensor).state); # int days = seconds / (24 * 3600); # seconds = seconds % (24 * 3600); # int hours = seconds / 3600; # seconds = seconds % 3600; # int minutes = seconds / 60; # seconds = seconds % 60; # if ( days > 3650 ) { # return "Starting up" ; # } else if ( days ) { # return (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() ; # } else if ( hours ) { # return (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() ; # } else if ( minutes ) { # return (String(minutes) +"m "+ String(seconds) +"s").c_str() ; # } else { # return (String(seconds) +"s").c_str() ; # } # icon: mdi:clock-start ########################################################################################## # BUTTONS # Diagnostic buttons, activated if needed in HA ########################################################################################## #button: # - platform: safe_mode # name: "Safe Mode Restart:" # entity_category: "diagnostic" # disabled_by_default: true # # - platform: restart # name: "Restart:" # entity_category: "diagnostic" # disabled_by_default: true # # - platform: factory_reset # name: "FACTORY RESET:" # entity_category: "diagnostic" # disabled_by_default: true