############################################# # Common ############################################# substitutions: devicename: esp-leafbat2 nice_devicename: "Leaf Battery Monitor 2" ############################################# # ESPHome ############################################# esphome: name: $devicename ######################################## # Specific board for ESPHome device ######################################## esp8266: board: d1_mini ############################################# # ESPHome Logging Enable ############################################# logger: ######################################## # Enable the Home Assistant API ######################################## api: encryption: key: !secret esp-leafbat2_api_key ######################################## # Enable Over the Air Update Capability # Safe mode will detect boot loops ######################################## ota: safe_mode: true password: !secret esp-leafbat2_ota_pass ######################################## # Use Wifi # (credentials are in secrets file) ######################################## wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Details for fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp-Leafbat2 Fallback Hotspot" password: !secret fallback_ap_password # Static IP (for lower power/quicker on time) manual_ip: static_ip: !secret esp-leafbat2_static_ip gateway: !secret esp-leafbat2_gateway subnet: !secret esp-leafbat2_subnet ############################################# # Fallback captive portal ############################################# captive_portal: ######################################## # Web Portal for display and monitoring ######################################## web_server: port: 80 auth: username: !secret web_server_username password: !secret web_server_password ######################################## # MQTT Monitoring ######################################## mqtt: broker: !secret mqtt_server topic_prefix: esphome/esp-leafbat2 username: !secret mqtt_username password: !secret mqtt_password # # Availability Topic #birth_message: # topic: esphome/esp-leafbat2/availability # payload: online #will_message: # topic: esphome/esp-leafbat2/availability # payload: offline # A way to prevent deep sleep using MQTT command on_message: - topic: viewroad-commands/leafbat2/deepsleepoff payload: 'ON' then: - deep_sleep.prevent: deep_sleep_1 - topic: viewroad-commands/leafbat2/deepsleepon payload: 'ON' then: - deep_sleep.enter: deep_sleep_1 ######################################## # Deep Sleep ######################################## deep_sleep: run_duration: 20s sleep_duration: 10min id: deep_sleep_1 ############################################# ############################################# # MAIN SENSORS ############################################# ############################################# sensor: # Quality of Wifi in dBm - platform: wifi_signal name: "WiFi Signal" update_interval: 10s retain: true # Analog sensor for voltage reading (A0) - platform: adc pin: A0 name: "Battery Voltage" update_interval: 10s retain: true filters: - multiply: 18.52 # trial and error calc/measure - calibrate_linear: - 5.99 -> 6.0 - 11.98 -> 11.99 - 16.98 -> 16.98 #name: "Battery Voltage" # Optional variables: #retain: true