############################################# # GENERAL COMMON SENSORS # https://esphome.io/components/sensor/ ############################################# sensor: - platform: uptime # Uptime for this device in seconds name: "Uptime (s): ${local_friendly_name}" update_interval: ${local_update_interval} id: uptime_sensor entity_category: "diagnostic" - platform: wifi_signal # Wifi Strength name: "Wifi dB: ${local_friendly_name}" 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 Percent: ${local_friendly_name}" filters: - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0); unit_of_measurement: "% Max" entity_category: "diagnostic" device_class: "" ############################################# # Text Sensors # https://esphome.io/components/text_sensor/index.html ############################################# text_sensor: ###################################################### # General ESPHome Info ###################################################### - platform: version name: "Version: ${local_friendly_name}" entity_category: "diagnostic" - platform: wifi_info ip_address: name: "IP Address: ${local_friendly_name}" - platform: uptime # Uptime for this device human readable name: "Uptime: ${local_friendly_name}" icon: mdi:clock-start update_interval: ${local_update_interval} entity_category: "diagnostic" ###################################################### # Creates a sensor showing when the device was last restarted # Uptime template sensor, and SNTP are needed ###################################################### #- platform: template # name: ${local_friendly_name} Last Restart # id: device_last_restart # icon: mdi:clock # entity_category: diagnostic # #device_class: timestamp ###################################################### # Creates a sensor of the uptime of the device, in formatted days, hours, minutes and seconds ###################################################### #- platform: template # name: "Uptime" # 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 button: - platform: safe_mode name: "Safe Mode Restart: ${local_friendly_name}" entity_category: "diagnostic" - platform: restart name: "Restart: ${local_friendly_name}" entity_category: "diagnostic" disabled_by_default: true - platform: factory_reset name: "FACTORY RESET: ${local_friendly_name}" entity_category: "diagnostic" disabled_by_default: true