iobroker.laundrylens 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,266 @@
1
+ {
2
+ "i18n": true,
3
+ "type": "panel",
4
+ "items": {
5
+ "name": {
6
+ "type": "text",
7
+ "label": "Device name",
8
+ "placeholder": "e.g. Washing machine",
9
+ "default": "Washing machine",
10
+ "help": "Display name in the dashboard",
11
+ "xs": 12,
12
+ "sm": 12,
13
+ "md": 6,
14
+ "lg": 4,
15
+ "xl": 4
16
+ },
17
+ "deviceType": {
18
+ "type": "select",
19
+ "label": "Device type",
20
+ "default": "washing_machine",
21
+ "options": [
22
+ {
23
+ "value": "washing_machine",
24
+ "label": "🧺 Washing machine"
25
+ },
26
+ {
27
+ "value": "dishwasher",
28
+ "label": "🍽️ Dishwasher"
29
+ },
30
+ {
31
+ "value": "dryer",
32
+ "label": "♨️ Dryer"
33
+ },
34
+ {
35
+ "value": "washer_dryer",
36
+ "label": "🔄 Washer-dryer"
37
+ },
38
+ {
39
+ "value": "other",
40
+ "label": "⚙️ Other"
41
+ }
42
+ ],
43
+ "xs": 12,
44
+ "sm": 12,
45
+ "md": 6,
46
+ "lg": 4,
47
+ "xl": 4
48
+ },
49
+ "powerId": {
50
+ "type": "objectId",
51
+ "label": "Power sensor (watt)",
52
+ "help": "ioBroker data point providing the current power draw in watts",
53
+ "xs": 12,
54
+ "sm": 12,
55
+ "md": 12,
56
+ "lg": 6,
57
+ "xl": 6
58
+ },
59
+ "_sep1": {
60
+ "type": "divider",
61
+ "xs": 12,
62
+ "sm": 12,
63
+ "md": 12,
64
+ "lg": 12,
65
+ "xl": 12
66
+ },
67
+ "_hdr1": {
68
+ "type": "staticText",
69
+ "text": "Detection thresholds",
70
+ "style": {
71
+ "fontWeight": "bold",
72
+ "marginTop": "8px"
73
+ },
74
+ "xs": 12,
75
+ "sm": 12,
76
+ "md": 12,
77
+ "lg": 12,
78
+ "xl": 12
79
+ },
80
+ "powerThreshold": {
81
+ "type": "number",
82
+ "label": "Power-on threshold (W)",
83
+ "default": 10,
84
+ "min": 1,
85
+ "max": 500,
86
+ "help": "Power level from which the device is considered running. Recommended: 10W for all device types",
87
+ "xs": 12,
88
+ "sm": 12,
89
+ "md": 6,
90
+ "lg": 4,
91
+ "xl": 4
92
+ },
93
+ "offDelayMin": {
94
+ "type": "number",
95
+ "label": "Off delay (min)",
96
+ "default": 5,
97
+ "min": 1,
98
+ "max": 60,
99
+ "help": "How long power must stay below the threshold before the cycle ends. Recommended: washing machine 5 min · dryer 8 min · dishwasher 8 min · washer-dryer 10 min",
100
+ "xs": 12,
101
+ "sm": 12,
102
+ "md": 6,
103
+ "lg": 4,
104
+ "xl": 4
105
+ },
106
+ "startEnergyThreshold": {
107
+ "type": "number",
108
+ "label": "Start energy gate (Wh)",
109
+ "default": 2,
110
+ "min": 0,
111
+ "max": 50,
112
+ "help": "Minimum energy after start before the cycle is counted (prevents false starts). Recommended: washing machine 2 Wh · dryer 5 Wh · washer-dryer 5 Wh",
113
+ "xs": 12,
114
+ "sm": 12,
115
+ "md": 6,
116
+ "lg": 4,
117
+ "xl": 4
118
+ },
119
+ "_sep2": {
120
+ "type": "divider",
121
+ "xs": 12,
122
+ "sm": 12,
123
+ "md": 12,
124
+ "lg": 12,
125
+ "xl": 12
126
+ },
127
+ "_hdr2": {
128
+ "type": "staticText",
129
+ "text": "Program detection",
130
+ "style": {
131
+ "fontWeight": "bold",
132
+ "marginTop": "8px"
133
+ },
134
+ "xs": 12,
135
+ "sm": 12,
136
+ "md": 12,
137
+ "lg": 12,
138
+ "xl": 12
139
+ },
140
+ "durationTolerance": {
141
+ "type": "number",
142
+ "label": "Duration tolerance (0.05–0.5)",
143
+ "default": 0.2,
144
+ "min": 0.05,
145
+ "max": 0.5,
146
+ "step": 0.05,
147
+ "help": "How much the run time may deviate from the profile. 0.2 = ±20%",
148
+ "xs": 12,
149
+ "sm": 12,
150
+ "md": 6,
151
+ "lg": 4,
152
+ "xl": 4
153
+ },
154
+ "matchIntervalMin": {
155
+ "type": "number",
156
+ "label": "Matching interval (min)",
157
+ "default": 5,
158
+ "min": 1,
159
+ "max": 30,
160
+ "help": "How often the program is matched. Recommended: 5 min for all device types",
161
+ "xs": 12,
162
+ "sm": 12,
163
+ "md": 6,
164
+ "lg": 4,
165
+ "xl": 4
166
+ },
167
+ "matchPersist": {
168
+ "type": "number",
169
+ "label": "Match confirmations (count)",
170
+ "default": 3,
171
+ "min": 1,
172
+ "max": 5,
173
+ "help": "How many times in a row the same program must be detected. 3 = reliable · 2 = faster",
174
+ "xs": 12,
175
+ "sm": 12,
176
+ "md": 6,
177
+ "lg": 4,
178
+ "xl": 4
179
+ },
180
+ "autoConfirmThreshold": {
181
+ "type": "number",
182
+ "label": "Auto-confirm from confidence (%)",
183
+ "default": 85,
184
+ "min": 0,
185
+ "max": 100,
186
+ "help": "From this confidence level the cycle is confirmed automatically. 0 = disabled · 85 = recommended",
187
+ "xs": 12,
188
+ "sm": 12,
189
+ "md": 6,
190
+ "lg": 4,
191
+ "xl": 4
192
+ },
193
+ "instantConfirmThreshold": {
194
+ "type": "number",
195
+ "label": "Instant adoption from confidence (%)",
196
+ "default": 92,
197
+ "min": 50,
198
+ "max": 100,
199
+ "help": "During a running cycle: if the live preview repeatedly (2x) shows at least this confidence, the program is adopted immediately instead of waiting for the normal, slower detection.",
200
+ "xs": 12,
201
+ "sm": 12,
202
+ "md": 6,
203
+ "lg": 4,
204
+ "xl": 4
205
+ },
206
+ "matchThreshold": {
207
+ "type": "number",
208
+ "label": "Program detection threshold (%)",
209
+ "default": 55,
210
+ "min": 30,
211
+ "max": 95,
212
+ "help": "From this confidence a program counts as detected (and is shown). Below it, it stays 'detecting...'. 55 = recommended",
213
+ "xs": 12,
214
+ "sm": 12,
215
+ "md": 6,
216
+ "lg": 4,
217
+ "xl": 4
218
+ },
219
+ "notifyOnProbable": {
220
+ "type": "checkbox",
221
+ "label": "Notify also for probable program",
222
+ "default": false,
223
+ "help": "Send a Telegram update as soon as a program is detected - even if confidence is below the auto-confirm threshold",
224
+ "xs": 12,
225
+ "sm": 12,
226
+ "md": 6,
227
+ "lg": 4,
228
+ "xl": 4
229
+ },
230
+ "_sep3": {
231
+ "type": "divider",
232
+ "hidden": "!data.deviceType || (data.deviceType !== \"dryer\")",
233
+ "xs": 12,
234
+ "sm": 12,
235
+ "md": 12,
236
+ "lg": 12,
237
+ "xl": 12
238
+ },
239
+ "_hdr3": {
240
+ "type": "staticText",
241
+ "text": "Dryer settings",
242
+ "style": {
243
+ "fontWeight": "bold",
244
+ "marginTop": "8px"
245
+ },
246
+ "hidden": "!data.deviceType || (data.deviceType !== \"dryer\")",
247
+ "xs": 12,
248
+ "sm": 12,
249
+ "md": 12,
250
+ "lg": 12,
251
+ "xl": 12
252
+ },
253
+ "ignoreAntiKnitter": {
254
+ "type": "checkbox",
255
+ "label": "Ignore anti-crease phase",
256
+ "default": true,
257
+ "help": "ON: cycle ends immediately at the beep, the anti-crease phase is ignored (simple, sufficient for most dryers). OFF: the adapter actively tries to detect when the cycle is really finished across the anti-crease phase (needs a saved reference pattern under 'Programs').",
258
+ "hidden": "!data.deviceType || (data.deviceType !== \"dryer\")",
259
+ "xs": 12,
260
+ "sm": 12,
261
+ "md": 6,
262
+ "lg": 4,
263
+ "xl": 4
264
+ }
265
+ }
266
+ }