HI
I have an esp32 that has a distinct sleep mode set that should only allow operation between hours 10am - 3pm.
This has been working fine - except for the last 3 days where operation has been allowed after 6pm.
I’m really not sure what the go is? Here is the time layout of the esp which switches the relay.
substitutions:
name: esphome-web-82fed4
friendly_name: relay control main tank
esphome:
name: ${name}
friendly_name: ${friendly_name}
min_version: 2024.6.0
name_add_mac_suffix: false
project:
name: esphome.web
version: '1.0'
#deep sleep of esp
time:
- platform: homeassistant
id: homeassistant_time
on_time:
#Deep sleep at 3pm and wake up at 10am.
- hours: 15
then:
- delay: 1s
#Rest up
- deep_sleep.enter:
id: deep_sleep_control
until: "10:00:00"
time_id: homeassistant_time
binary_sensor:
- platform: homeassistant
id: prevent_deep_sleep
name: Prevent Deep Sleep
entity_id: input_boolean.prevent_deep_sleep
script:
- id: consider_deep_sleep
mode: queued
then:
- delay: 60s
- if:
condition:
binary_sensor.is_on: prevent_deep_sleep
then:
- deep_sleep.prevent: deep_sleep_control
- logger.log: 'Skipping sleep, per prevent_deep_sleep'
else:
- deep_sleep.enter: deep_sleep_control
- script.execute: consider_deep_sleep
# Deep sleep
deep_sleep:
id: deep_sleep_control
run_duration: 5min
sleep_duration: 60min
output:
- platform: gpio
pin: 19
id: water_sensor_power
inverted: false
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
# Allow Over-The-Air updates
ota:
- platform: esphome
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: 192.168.0.170
gateway: 192.168.0.1
subnet: 255.255.255.0
# In combination with the `ap` this allows the user
# to provision wifi credentials to the device via WiFi AP.
captive_portal:
dashboard_import:
package_import_url: github://esphome/example-configs/esphome-web/esp32.yaml@main
import_full_config: true
# Sets up Bluetooth LE (Only on ESP32) to allow the user
# to provision wifi credentials to the device.
esp32_improv:
authorizer: none