ESPHome WiFi propane scale

I need some help with my ESPHome configuration.

I’m in the process of modifying a Flame King bluetooth propane scale to use an ESP8266 D1-Mini board. I think I have it mostly figured out, but I’m having a hard time figuring out the YAML to make the power saving useful.

Right now I’ve got it working where it wakes up every hour for 1 minute and sends 1-2 readings then goes to sleep for 59 minutes.

Goal:

  • Wake up hourly, send 1 reading every minute
  • If reading is “about zero” stay awake for up to 5 minutes (this will help reduce changing-tank error and allow a window of programming after power-up)
  • If reading is over a threshold (say 5lb), immediately go back to sleep after sending (this will maximize battery life)

I’m struggling with how I would do this in the YAML though.

Known issue at the moment it looks like maybe as the battery drops the readings go up, still may need hardware improvements and speculating…but having it send 1 reading after sleep then go back to sleep would help to mitigate this.

What I have so far:

esphome:
  name: fireplace_propane
  platform: ESP8266
  board: d1_mini

wifi:
  networks:
  - ssid: !secret ssid
    password: !secret password
    bssid: !secret bssid_garage-EWS377AP-local
    priority: 2
  - ssid: !secret ssid
    password: !secret password
    priority: 1
  domain: !secret dns_suffix

  #power_save_mode: none

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "fireplace_propane setup"

captive_portal:

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

ota:

switch:
  - platform: restart
    name: "fireplace_propane Restart"

sensor:
  - platform: adc
    pin: A0
    name: "fireplace_propane Weight"
    unit_of_measurement: "lb"
    icon: "mdi:scale"
    device_class: "weight"
    state_class: "measurement"
    accuracy_decimals: 1
    update_interval: 60s
    force_update: true
    filters:
      - calibrate_linear:
          - 0.66406 -> 0.0
          #- 0.69238 -> 11.0
          #- 0.74121 -> 31.0
          - 0.82715 -> 68.2

status_led:
  pin:
    number: D5

deep_sleep:
  run_duration: 60s
  sleep_duration: 59min

Graph with zero-weight:

Sneak preview at the hardware mod thus far (possible-planned to add solar panel and/or pack the base with rechargable batteries and/or regulator) - basically I desoldered the existing power-hungry always-on microcontroller and bluetooth radio modules, then tapped into the output of the load cell amplifier, LED indicator, and battery power rail:


WIP here: GitHub - mmiller7/ESPHome-Mod-Flame-King-Propane-Scale: High level reverse-engineering and modification of Flame King YSN-PS1 Bluetooth propane scale to ESPHome WiFi