generated from ludeeus/integration_blueprint
-
Notifications
You must be signed in to change notification settings - Fork 19
/
ThermIQ_Card.yaml
225 lines (220 loc) · 15 KB
/
ThermIQ_Card.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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# ################################################
# ##### ThermIQ Dashboard Card.
# Add to HA by "Edit Dashboard, + Add Card -> Manual" and paste this whole file
# You might want to replace **"_vp1"** if you used a non-default **"Unique ID"**
type: entities
title: ThermIQ_vp1
theme: default
show_header_toggle: false
entities:
- type: custom:html-template-card
title: null
ignore_line_breaks: true
content: >
<style>
.hpwidget-val {width:35px;height:16px;background:#a0a0a0;text-align: center;color:white;border-radius: 0.25em;}
.hpwidget-vald {width:45px;height:16px;background:#ffffff;text-align: center;color:black;border-radius: 0.25em;}
.hpwidget-name-span{}
.hpwidget-unit-span{text-align:right;overflow:hidden;color:white;font-size:70%}
.hpwidget-unit-spand{text-align:right;overflow:hidden;color:black;font-size:70%}
@keyframes rotating {to { transform: rotate(1turn); }}
@keyframes blink { to {visibility: hidden;}}
</style>
<div style="height:330px;width:100%;{% if (states('binary_sensor.thermiq_mqtt_vp1_alarm_indication_on')=='on') %}background-color:red;{% endif %}">
<div style="position:absolute;left:130px;">
{% if states('binary_sensor.thermiq_mqtt_vp1_hotwaterproduction_on')=='on' %}
<div><img class="hp_basepict hw" style="position:absolute;top:0px;left:0px;height:300px;" alt="vp missing" src="/local/community/vp_base_hw.jpg" title=""></div>
{% else %}
{% if (states('binary_sensor.thermiq_mqtt_vp1_opt_hgw_installed')=='on') and (states('binary_sensor.thermiq_mqtt_vp1_compressor_on')=='on') %}
<div><img class="hp_basepict hgw" style="position:absolute;top:0px;left:0px;height:300px;" alt="vp missing" src="/local/community/vp_base_hgwon.jpg" title=""></div>
{% else %}
<div><img class="hp_basepict base active" style="position:absolute;top:0px;left:0px;height:300px;" alt="vp missing" src="/local/community/vp_base.jpg" title="ThermIQ"></div>
{% endif %}
{% endif %}
<div class="hpwidget-val" title="Time" style="position:absolute;top:303px;left:20px;width:150px;z-index:3;> <span class="hpwidget-name-span" id="hpwidget-timestamp_d">{{ states('sensor.thermiq_mqtt_vp1_time_str') }}</span><span class="hpwidget-unit-span"></span></span></div>
<div class="hpwidget-val" title="Brine in" style="position:absolute;top:100px;left:8px;</div>z-index:3;"> <span class="hpwidget-name-span" id="hpwidget-T_BRINE_IN">{{ states('sensor.thermiq_mqtt_vp1_brine_in_t') }}</span><span class="hpwidget-unit-span"> C</span></div>
<div class="hpwidget-val" title="Brine out" style="position:absolute;top:193px;left:8px;z-index:3;"> <span class="hpwidget-name-span" id="hpwidget-T_BRINE_UT">{{ states('sensor.thermiq_mqtt_vp1_brine_out_t') }}</span><span class="hpwidget-unit-span"> C</span></div>
<div class="hpwidget-val" title="Boiler Temperature" style="position:absolute;top:89px;left:138px;z-index:3;"><span class="hpwidget-name-span" id="hpwidget-T_VATTEN"></span>{{ states('sensor.thermiq_mqtt_vp1_boiler_t') }}<span class="hpwidget-unit-span"> C</span></div>
<div class="hpwidget-val" title="HGW Temperature" style="position:absolute;top:87px;left:76px;z-index:3; <span class="hpwidget-name-span" id="hpwidget-HGW_VV"></span>{{ states('sensor.thermiq_mqtt_vp1_hgw_water_t') }}<span class="hpwidget-unit-span"> C</span></div>
<div class="hpwidget-val" title="Supply-line Temperature" style="position:absolute;top:131px;left:138px;z-index:3;"><span class="hpwidget-name-span" id="hpwidget-T_FRAM"></span>{{ states('sensor.thermiq_mqtt_vp1_supplyline_t') }}<span class="hpwidget-unit-span"> C</span></div>
<div class="hpwidget-val" title="Supply pump" style="position:absolute;top:257px;left:146px;z-index:3;{% if (states('binary_sensor.thermiq_mqtt_vp1_opt_optimum_installed')=='off') %}display:none;{% endif %}"><span class="hpwidget-name-span" id="hpwidget-CIRK_SPEED"></span>{{ states('sensor.thermiq_mqtt_vp1_supply_pump_speed') }}<span class="hpwidget-unit-span"> %</span></div>
<div class="hpwidget-val" title="Brine pump" style="position:absolute;top:156px;left:8px;z-index:3;{% if (states('binary_sensor.thermiq_mqtt_vp1_opt_optimum_installed')=='off') %}display:none;{% endif %}"><span class="hpwidget-name-span" id="hpwidget-BRINE_SPEED"></span>{{ states('sensor.thermiq_mqtt_vp1_brine_pump_speed') }}<span class="hpwidget-unit-span"> %</span></div>
<div class="hpwidget-val" title="Return line Temperature" style="position:absolute;top:200px;left:146px;z-index:3;"><span class="hpwidget-name-span" id="hpwidget-T_RETUR"></span>{{ states('sensor.thermiq_mqtt_vp1_returnline_t') }}<span class="hpwidget-unit-span"> C</span></div>
<div class="hpwidget-val" title="Pressure pipe Temperature" style="position:absolute;top:125px;left:76px;z-index:3;"><span class="hpwidget-name-span" id="hpwidget-TRYCKR_T"></span>{{ states('sensor.thermiq_mqtt_vp1_pressurepipe_t') }}<span class="hpwidget-unit-span"> C</span></div>
<ha-icon icon="mdi:flash" id="hpwidget-ELEFF" style="color:yellow;position:absolute;top:42px;left:82px;z-index:2;{% if ((states('binary_sensor.thermiq_mqtt_vp1_boiler_3kw_on')=='off') and (states('binary_sensor.thermiq_mqtt_vp1_boiler_6kw_on')=='off') ) %}display:none{% endif %}"></ha-icon>
<ha-icon icon="mdi:cog" id="hpwidget-KOMPR" style="position:absolute;top:155px;left:70px;--mdc-icon-size:45px;z-index:2;{% if (states('binary_sensor.thermiq_mqtt_vp1_compressor_on')=='on') %}animation: rotating 2s linear infinite;{% endif %}"></ha-icon>
<ha-icon icon="mdi:fan" id="hpwidget-BRINESPIN" style="position:absolute;top:126px;left:11px;z-index:2;{% if (states('binary_sensor.thermiq_mqtt_vp1_brine_pump_on')=='on') %}animation: rotating 2s linear infinite;{% endif %}"></ha-icon>
<ha-icon icon="mdi:fan" id="hpwidget-CIRKPSPIN" style="position:absolute;top:228px;left:147px;z-index:2;{% if (states('binary_sensor.thermiq_mqtt_vp1_supply_pump_on')=='on') %}animation: rotating 2s linear infinite;{% endif %}"></ha-icon>
<ha-icon icon="mdi:alert-circle" id="hpwidget-ALERT" style="color:red;position:absolute;top:42px;left:82px;z-index:4;animation: blink 1s steps(5, start) infinite;{% if (states('sensor.thermiq_mqtt_vp1_communication_status')=='Ok') %}display:none{% endif %}"></ha-icon>
<ha-icon icon="mdi:stop" id="hpwidget-EVU" style="color:red;position:absolute;top:62px;left:82px;z-index:120;animation: blink 1s steps(5, start) infinite;{% if (states('sensor.thermiq_mqtt_vp1_heatpump_evu_block') | int ==1) %} {% else %}display:none{% endif %}">EVU</ha-icon>
</div>
<div class="hpwidget-vald" title="Indoor Temperature" style="position:absolute;top:70px;left: 24px;z-index:2;><span class="hpwidget-name-span" id="hpwidget-INDR_T"></span>{{ states('sensor.thermiq_mqtt_vp1_indoor_t') }}<span class="hpwidget-unit-spand"> C</span></div>
<div class="hpwidget-vald" title="Indoor Temperature" style="position:absolute;top:20px;left:24px;z-index:2;><span class="hpwidget-name-span" id="hpwidget-OUTDOOR_T"></span>{{ states('sensor.thermiq_mqtt_vp1_outdoor_t') }}<span class="hpwidget-unit-spand"> C</span></div>
<ha-icon icon="mdi:home-roof"id="hpwidget-EVU" style="color:grey;position:absolute;top:26px;left:8px;z-index:4;--mdc-icon-size:65px;">Temp</ha-icon>
</div>
- entity: input_select.thermiq_mqtt_vp1_main_mode
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_indoor_requested_t
# Room sensor only works together with Thermiq-Room ##################################################################
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_room_sensor_set_t
- entity: input_number.thermiq_mqtt_vp1_heatpump_evu_block
- type: custom:fold-entity-row
head:
type: section
label:
entities:
- type: custom:fold-entity-row
head:
type: section
label: Main Status
entities:
- entity: sensor.thermiq_mqtt_vp1_outdoor_t
- entity: sensor.thermiq_mqtt_vp1_indoor_t
- entity: sensor.thermiq_mqtt_vp1_supplyline_t
- entity: sensor.thermiq_mqtt_vp1_returnline_t
- entity: sensor.thermiq_mqtt_vp1_boiler_t
- entity: sensor.thermiq_mqtt_vp1_integral1
- entity: sensor.thermiq_mqtt_vp1_brine_out_t
- entity: sensor.thermiq_mqtt_vp1_brine_in_t
- entity: sensor.thermiq_mqtt_vp1_supply_shunt_t
- entity: sensor.thermiq_mqtt_vp1_cooling_t
- entity: sensor.thermiq_mqtt_vp1_supply_pump_speed
- entity: sensor.thermiq_mqtt_vp1_brine_pump_speed
- type: custom:fold-entity-row
head:
type: section
label: Runtimes
entities:
- entity: sensor.thermiq_mqtt_vp1_compressor_runtime_h
- entity: sensor.thermiq_mqtt_vp1_boiler_3kw_runtime_h
- entity: sensor.thermiq_mqtt_vp1_boiler_6kw_on_runtime_h
- entity: sensor.thermiq_mqtt_vp1_hotwater_runtime_h
- entity: sensor.thermiq_mqtt_vp1_passive_cooling_runtime_h
- entity: sensor.thermiq_mqtt_vp1_active_cooling_runtime_h
- type: custom:fold-entity-row
head:
type: section
label: Heater settings (A1)
entities:
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_indoor_requested_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_curve_slope
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_curve_min
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_curve_max
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_curve_p5
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_curve_0
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_curve_n5
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_heating_stop_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_reduction_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_room_factor
- type: custom:fold-entity-row
head:
type: section
label: Hot-water settings
entities:
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_hotwater_start_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_hotwater_runtime_m
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_heatpump_runtime_m
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_legionella_interval_d
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_legionella_stop_t
- type: custom:fold-entity-row
head:
type: section
label: Curve 2 (A2)
entities:
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral2_curve_slope
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral2_curve_min
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral2_curve_max
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral2_curve_target
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral2_curve_actual
- type: custom:fold-entity-row
head:
type: section
label: Heater limits
entities:
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_a_limit
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral1_hysteresis_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_returnline_max_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_start_interval_min_m
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_brine_min_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_pressure_pipe_limit_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_outdoor_stop_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_cooling_target_t
- type: custom:fold-entity-row
head:
type: section
label: Curve 2 limits
entities:
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral2_a_limit
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_integral2_hysteresis_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_elect_boiler_steps_max
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_current_consumption_max_a
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_shunt_time_s
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_hotwater_stop_t
- type: custom:fold-entity-row
head:
type: section
label: Misc control
entities:
- entity: sensor.thermiq_mqtt_vp1_language
- entity: sensor.thermiq_mqtt_vp1_manual_test_mode_on
- entity: sensor.thermiq_mqtt_vp1_factory_reset_req
- entity: sensor.thermiq_mqtt_vp1_runtime_counters_reset_req
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_outdoor_sensor_offset_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_supplyline_sensor_offset_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_returnline_sensor_offset_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_boiler_sensor_offset_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_brine_in_sensor_offset_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_brine_out_sensor_offset_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_heatingsystem_type
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_internal_logging_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_brine_runout_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_brine_run_in_t
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_legionella_run_on
- type: custom:numberbox-card
entity: input_number.thermiq_mqtt_vp1_legionella_run_length_h