-
Notifications
You must be signed in to change notification settings - Fork 3
/
helios-kwl.yaml
152 lines (134 loc) · 3.19 KB
/
helios-kwl.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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
esphome:
name: helios-kwl
platform: ESP32
board: wemos_d1_mini32
includes:
- helios-kwl.h
# Enable logging
logger:
level: DEBUG
#baud_rate: 0
# Enable Home Assistant API
api:
password: !secret api_key
ota:
password: ""
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
domain: ".localdomain"
status_led:
pin: GPIO2
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 30s
- name: "Temperature outside"
id: sensor_temperature_outside
platform: template
unit_of_measurement: "°C"
accuracy_decimals: 0
lambda: "return {};"
- name: "Temperature exhaust"
id: sensor_temperature_exhaust
platform: template
unit_of_measurement: "°C"
accuracy_decimals: 0
lambda: "return {};"
- name: "Temperature inside"
id: sensor_temperature_inside
platform: template
unit_of_measurement: "°C"
accuracy_decimals: 0
lambda: "return {};"
- name: "Temperature incoming"
id: sensor_temperature_incoming
platform: template
unit_of_measurement: "°C"
accuracy_decimals: 0
lambda: "return {};"
- name: "Fan speed"
id: fan_speed
platform: template
accuracy_decimals: 0
lambda: "return {};"
binary_sensor:
- name: "Power state"
id: power_state
platform: template
device_class: power
lambda: "return {};"
- name: "By-pass state"
id: bypass_state
platform: template
lambda: "return {};"
- name: "Heating indicator"
id: heating_indicator
platform: template
device_class: heat
lambda: "return {};"
- name: "Fault indicator"
id: fault_indicator
platform: template
device_class: problem
lambda: "return {};"
- name: "Service reminder"
id: service_reminder
platform: template
lambda: "return {};"
switch:
- platform: output
name: "Winter mode"
output: helios_kwl_winter
uart:
id: uart_bus
tx_pin: 16
rx_pin: 17
baud_rate: 9600
#debug:
#dummy_receiver: true
custom_component:
- lambda: |-
auto helios_kwl = new HeliosKwlComponent(
id(uart_bus),
id(fan_speed),
id(sensor_temperature_outside),
id(sensor_temperature_exhaust),
id(sensor_temperature_inside),
id(sensor_temperature_incoming),
id(power_state),
id(bypass_state),
id(heating_indicator),
id(fault_indicator),
id(service_reminder)
);
App.register_component(helios_kwl);
return {helios_kwl};
components:
id: helios_kwl
fan:
- platform: speed
output: helios_kwl_speed
speed_count: 8
name: "Fan speed"
output:
- platform: custom
type: float
lambda: |-
auto helios_kwl_speed = new HeliosKwlSpeedOutput(
static_cast<HeliosKwlComponent*>(id(helios_kwl))
);
App.register_component(helios_kwl_speed);
return {helios_kwl_speed};
outputs:
id: helios_kwl_speed
- platform: custom
type: binary
lambda: |-
auto helios_kwl_winter = new HeliosKwlWinterModeOutput(
static_cast<HeliosKwlComponent*>(id(helios_kwl))
);
App.register_component(helios_kwl_winter);
return {helios_kwl_winter};
outputs:
id: helios_kwl_winter