-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathservices.yaml
More file actions
294 lines (285 loc) · 8.66 KB
/
services.yaml
File metadata and controls
294 lines (285 loc) · 8.66 KB
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
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
generate_dashboard:
name: Generate SEM Dashboard
description: >
Generate and install the SEM v6.0 dashboard with 7 views:
Home (system diagram + solar summary), Energy (Sankey + gauges),
Battery (SOC zones), EV (session tracking), Control, Costs, System.
Installs the SVG system diagram, registers the dashboard in the
sidebar, and restarts HA to apply changes.
fields:
dashboard_title:
name: Dashboard Title
description: "Display name shown in sidebar"
required: false
default: "Solar Energy Management"
example: "Solar Energy Management"
selector:
text:
dashboard_path:
name: Dashboard URL Path
description: "URL path for the dashboard (lowercase, use dashes)"
required: false
default: "sem-dashboard"
example: "sem-dashboard"
selector:
text:
sync_priorities_from_dashboard:
name: Sync Priorities from Dashboard
description: Automatically sync device priorities from dashboard card order (drag-and-drop)
fields:
dashboard_storage_key:
name: Dashboard Storage Key
description: Dashboard file name (default lovelace.dashboard_test)
required: false
default: "lovelace.dashboard_test"
selector:
text:
view_path:
name: View Path
description: Dashboard view path containing device cards (default peak-load-management)
required: false
default: "peak-load-management"
selector:
text:
update_device_priorities:
name: Update Device Priorities
description: Batch update device priorities from drag-and-drop reorder in the load priority card.
fields:
priorities:
name: Priorities
description: "List of {device_id, priority} objects representing the new order"
required: true
selector:
object:
update_device_config:
name: Update Device Config
description: Toggle a device property (controllable or critical status).
fields:
device_id:
name: Device ID
description: The device to update
required: true
selector:
text:
property:
name: Property
description: "Which property to change: 'controllable' or 'critical'"
required: true
selector:
select:
options:
- controllable
- critical
value:
name: Value
description: New boolean value
required: true
selector:
boolean:
update_target_peak:
name: Update Target Peak
description: Set the target peak limit for load management (kW).
fields:
target_peak_limit:
name: Target Peak Limit
description: New target peak limit in kW (1.0 – 20.0)
required: true
selector:
number:
min: 1.0
max: 20.0
step: 0.1
unit_of_measurement: kW
set_device_control_mapping:
name: Set Device Control Mapping
description: Manually map a control entity to an Energy Dashboard device when auto-discovery fails. The mapping is persisted and survives restarts.
fields:
energy_sensor:
name: Energy Sensor
description: "The energy sensor entity from the Energy Dashboard (e.g., sensor.heizband_energy)"
required: true
selector:
entity:
domain: sensor
control_entity:
name: Control Entity
description: "The entity to use for control (e.g., switch.towelheater_men or number.keba_current). Required for switch, current, and input_boolean types; leave empty for the service type."
required: false
selector:
entity:
control_type:
name: Control Type
description: "How the device is controlled: switch (on/off), current (set amperage on a number entity), input_boolean (toggle), or service (call a service such as keba.set_current)"
required: false
default: "switch"
selector:
select:
options:
- switch
- current
- input_boolean
- service
service:
name: Service
description: "For control_type=service: the service to call (e.g., keba.set_current, easee.set_charger_max_limit)"
required: false
example: keba.set_current
selector:
text:
param:
name: Service Parameter
description: "For control_type=service: the parameter name the service expects (default: current)"
required: false
default: "current"
selector:
text:
shed_value:
name: Shed Value
description: "For control_type=service: the value to send when reducing/shedding the device (e.g., 0, or 6 for KEBA minimum)"
required: false
selector:
number:
min: 0
max: 32
mode: box
restore_value:
name: Restore Value
description: "For control_type=service: the value to send when restoring the device (e.g., 16)"
required: false
selector:
number:
min: 0
max: 32
mode: box
remove_device_control_mapping:
name: Remove Device Control Mapping
description: Remove a manual control mapping from an Energy Dashboard device. The device reverts to auto-discovery (its auto-detected control, or none).
fields:
energy_sensor:
name: Energy Sensor
description: "The energy sensor entity whose manual mapping should be removed"
required: true
selector:
entity:
domain: sensor
register_surplus_device:
name: Register Surplus Device
description: Register a device (switch, relay, smart plug) for solar surplus control. The device will be activated when surplus power is available, based on its priority.
fields:
device_id:
name: Device ID
description: Unique identifier for the device (e.g., "hot_water_relay")
required: true
selector:
text:
entity_id:
name: Entity ID
description: The switch entity to control (e.g., "switch.shelly_hot_water")
required: true
selector:
entity:
domain: switch
name:
name: Display Name
description: Friendly name for the device
required: false
selector:
text:
priority:
name: Priority
description: "Device priority (1=highest, 10=lowest). Lower priority devices get surplus first."
required: false
default: 5
selector:
number:
min: 1
max: 10
step: 1
rated_power:
name: Rated Power (W)
description: Device rated power consumption in watts
required: false
default: 1000
selector:
number:
min: 100
max: 20000
unit_of_measurement: W
power_entity_id:
name: Power Sensor
description: Optional power monitoring sensor for the device
required: false
selector:
entity:
domain: sensor
device_class: power
schedule_appliance:
name: Schedule Appliance
description: Schedule a household appliance (dishwasher, washer) to run before a deadline. The system will start it when solar surplus is available, or start from grid if the deadline approaches.
fields:
device_id:
name: Device ID
description: Unique identifier for the appliance (e.g., "dishwasher")
required: true
selector:
text:
entity_id:
name: Entity ID
description: The switch entity to start the appliance
required: true
selector:
entity:
domain: switch
deadline:
name: Deadline
description: "When the appliance must finish (ISO format, e.g., '2026-03-19T18:00:00')"
required: true
selector:
text:
name:
name: Display Name
description: Friendly name for the appliance
required: false
selector:
text:
estimated_runtime_minutes:
name: Estimated Runtime (minutes)
description: How long the appliance typically runs
required: false
default: 120
selector:
number:
min: 15
max: 480
unit_of_measurement: min
estimated_energy_kwh:
name: Estimated Energy (kWh)
description: How much energy the appliance typically uses
required: false
default: 1.0
selector:
number:
min: 0.1
max: 10
step: 0.1
unit_of_measurement: kWh
rated_power:
name: Rated Power (W)
description: Appliance rated power consumption
required: false
default: 1000
selector:
number:
min: 100
max: 5000
unit_of_measurement: W
priority:
name: Priority
description: "Scheduling priority (1=highest, 10=lowest)"
required: false
default: 7
selector:
number:
min: 1
max: 10
step: 1