136 lines
4.8 KiB
YAML
136 lines
4.8 KiB
YAML
##########################################################################################
|
|
# GENERAL COMMON SENSORS
|
|
# https://esphome.io/components/sensor/
|
|
##########################################################################################
|
|
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: ""
|
|
|
|
# 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
|
|
|
|
# - 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
|