-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwaterlezer.yaml
88 lines (77 loc) · 2.2 KB
/
waterlezer.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
substitutions:
devicename: waterlezer
friendly_name: Waterlezer
device_description: Water meter sensor
version: "v23.08.03"
################ Generics ################
esphome:
name: ${devicename}
friendly_name: ${friendly_name}
comment: "${device_description}"
name_add_mac_suffix: false
platformio_options:
upload_speed: 921600
project:
name: smartstuff.waterlezer
version: ${version}
esp8266:
board: esp12e
restore_from_flash: true
status_led:
pin:
number: 2
inverted: true
wifi:
manual_ip:
static_ip: !secret wifi_static_ip_waterlezer
# General settings: captive portal, logger, api, ota, time, restart switch, wifi
# General sensors: status, uptime, version, wifi info etc
packages:
general_settings: !include includes/general_settings.yaml
general_sensors: !include includes/general_sensors.yaml
web_server:
api:
#via Home Assistant Ontwikkelhulpmiddelen > services zoeken op esphome.watermeter_set_water_reading en via deze methode de juiste beginstand invoeren
services:
- service: set_water_reading
variables:
meter_value: int
then:
- globals.set:
id: totalWaterUsage
value: !lambda "return ( meter_value );"
################ Sensors ################
globals:
- id: totalWaterUsage
type: int
restore_value: true # aanpassen naar no indien de nieuwe waarde onder de oude ligt
initial_value: "0" # beginstand van je watermeter -> aanpassen via Home Assistant services
sensor:
- platform: pulse_counter
pin:
number: 5
mode:
input: true
pullup: true #v3.5 aanzetten
id: watermeter_pulse
name: "Watermeter pulse"
count_mode:
rising_edge: DISABLE
falling_edge: INCREMENT
state_class: measurement
update_interval: 1s
internal_filter: 100us
accuracy_decimals: 0
unit_of_measurement: "L/min"
internal: true
- platform: template
name: "Watermeter total"
state_class: "total_increasing"
device_class: "water"
icon: mdi:water
unit_of_measurement: L
update_interval: 1s
accuracy_decimals: 0
lambda: |-
if (id(watermeter_pulse).state > 0) id(totalWaterUsage) += 1;
return id(totalWaterUsage);