67 lines
1.3 KiB
YAML
67 lines
1.3 KiB
YAML
esphome:
|
|
name: bedscale
|
|
|
|
esp8266:
|
|
board: d1_mini
|
|
|
|
# Enable logging
|
|
logger:
|
|
level: DEBUG
|
|
|
|
# Enable Home Assistant API
|
|
api:
|
|
password: ""
|
|
|
|
ota:
|
|
platform: esphome
|
|
password: ""
|
|
|
|
wifi:
|
|
ssid: !secret wifi_ssid
|
|
password: !secret wifi_password
|
|
|
|
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
|
ap:
|
|
ssid: "Bed-Scale Fallback Hotspot"
|
|
password: !secret hotspot_password
|
|
|
|
captive_portal:
|
|
|
|
globals:
|
|
- id: constant_weight
|
|
type: float
|
|
|
|
sensor:
|
|
- platform: hx711
|
|
id: bed
|
|
internal: true
|
|
dout_pin: D4
|
|
clk_pin: D3
|
|
update_interval: 3s
|
|
gain: 128
|
|
filters:
|
|
- calibrate_linear:
|
|
- 1827200 -> 0
|
|
- 3218000 -> 105
|
|
on_value:
|
|
- if:
|
|
condition:
|
|
- lambda: |-
|
|
static float last = 0.0;
|
|
float diff = x - last;
|
|
last = x;
|
|
return x < 10.0 && diff < 1.0 && diff > - 1.0;
|
|
then:
|
|
- lambda: "id(constant_weight) = x;"
|
|
|
|
- platform: template
|
|
name: Bedscale
|
|
icon: mdi:weight-kilogram
|
|
update_interval: 3s
|
|
unit_of_measurement: kg
|
|
lambda: "return id(bed).state;"
|
|
filters:
|
|
- lambda: "return x - id(constant_weight);"
|
|
- lambda: "return x >= 10.0 ? x : 0;"
|
|
- delta: 0.5
|