forked from esphome-econet/esphome-econet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
econet_tankless_water_heater.yaml
112 lines (107 loc) · 2.91 KB
/
econet_tankless_water_heater.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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
---
substitutions:
name: "econet-tlwh"
friendly_name: "Tankless Water Heater"
device_description: "Rheem Tankless Water Heater"
econet_update_interval: 5s
tankless_kbtus_per_m3: "35.300" # Natural Gas = approx 35.300, Propane = approx 88.852
packages:
econet: !include econet_base.yaml
econet:
dst_address: 0x1040
climate:
- platform: econet
id: econet_climate
name: None
visual:
min_temperature: "43.3333"
max_temperature: "60"
temperature_step: 1.0f
current_temperature_datapoint: TEMP_OUT
target_temperature_datapoint: WHTRSETP
mode_datapoint: WHTRENAB
modes:
0: "OFF"
1: "AUTO"
sensor:
- platform: econet
name: "Temperature In"
id: temp_in
sensor_datapoint: TEMP__IN
unit_of_measurement: "°F"
accuracy_decimals: 1
device_class: "temperature"
state_class: "measurement"
entity_category: "diagnostic"
- platform: econet
name: "Temperature Out"
id: temp_out
sensor_datapoint: TEMP_OUT
unit_of_measurement: "°F"
accuracy_decimals: 1
device_class: "temperature"
state_class: "measurement"
entity_category: "diagnostic"
- platform: econet
name: "BTUs Used"
id: btus
sensor_datapoint: WTR_BTUS
unit_of_measurement: "kbtu"
accuracy_decimals: 3
entity_category: "diagnostic"
icon: "mdi:flash"
on_value:
then:
- lambda: |-
id(total_gas_usage).publish_state(id(btus).state / ${tankless_kbtus_per_m3});
- platform: econet
name: "Water Used"
id: water_used
sensor_datapoint: WTR_USED
unit_of_measurement: "gal"
accuracy_decimals: 1
device_class: "water"
state_class: "measurement"
entity_category: "diagnostic"
- platform: econet
name: "Flow Rate"
id: flow_rate
sensor_datapoint: FLOWRATE
unit_of_measurement: "gpm"
accuracy_decimals: 1
state_class: "measurement"
entity_category: "diagnostic"
filters:
# Convert liters per minute to gpm
- multiply: 0.264172
icon: "mdi:water"
- platform: econet
name: "Ignition Cycles"
id: ignition_cycles
sensor_datapoint: IGNCYCLS
unit_of_measurement: ""
accuracy_decimals: 0
entity_category: "diagnostic"
icon: "mdi:heating-coil"
- platform: template
name: "Instant BTUs"
id: instant_btus
unit_of_measurement: "kbtu/hr"
accuracy_decimals: 3
state_class: "measurement"
entity_category: "diagnostic"
# yamllint disable rule:line-length
lambda: |-
return max((id(temp_out).state - id(temp_in).state) * id(flow_rate).state * 8.334 * 60 / 0.92 / 1000, 0.0);
# yamllint enable rule:line-length
update_interval: ${econet_update_interval}
- platform: template
name: "Total Gas Usage"
id: total_gas_usage
unit_of_measurement: "m³"
accuracy_decimals: 5
state_class: total_increasing
device_class: gas
switch:
- id: !remove alarm_beep
- id: !remove screen_lock