090fa56c7b8537f8208fc8fedaa29df8a3f73388
[esp-clock.git] / ui.yml
1 project:
2   name: WiFi Clock
3   version: 0.1.1
4   contacts:
5     email: rvb@rvb.name
6     tg: rvbglas
7     site: https://git.rvb.name
8 pages:
9   - id: main
10     title: Главная
11     elements:
12       - type: table
13         label: Имя устройства
14         value: WiFi Clock
15       - type: hr
16       - id: _weather
17         type: table
18         label: Погода
19         color: lightblue
20       - type: hr
21       - id: _time
22         type: table
23         label: Время
24         color: green
25       - id: _date
26         type: table
27         label: Дата
28         color: green
29       - id: _last_sync
30         type: table
31         label: Синхронизировано
32       - type: hr
33       - id: _uptime
34         type: table
35         label: Uptime
36       - id: _mac
37         type: table
38         label: MAC-адрес
39       - id: _rssi
40         type: table
41         label: Уровень сигнала
42       - id: _heap
43         type: table
44         label: Свободная память
45   - id: clock
46     title: Часы
47     elements:
48       - id: panel_font
49         label: Шрифт часов
50         type: select
51         options:
52           - value: 0
53             text: Стандартный
54           - value: 1
55             text: Высокий
56           - value: 2
57             text: Узкий
58           - value: 3
59             text: Жирный
60           - value: 4
61             text: Жирный прямой
62           - value: 5
63             text: Синклер
64       - id: panel_seconds
65         label: Секунды
66         type: checkbox
67       - id: panel_zero
68         label: Ведущий ноль
69         type: checkbox 
70       - id: flash_dots
71         label: Мигать точками
72         type: checkbox
73       - id: panel_speed
74         label: Скорость        
75         type: number
76         min: 1
77         max: 20
78         step: 1
79       - type: hr
80       - type: hr
81       - id: day_from
82         label: Дневной режим с
83         type: number
84         min: 0
85         max: 24
86         step: 1
87       - id: night_from
88         label: Ночной режим с
89         type: number
90         min: 0
91         max: 24
92         step: 1
93       - id: panel_brightness_day
94         label: Яркость днем
95         type: range
96         min: 0
97         max: 14
98         step: 1
99       - id: panel_brightness_night
100         label: Яркость ночью
101         type: range
102         min: 0
103         max: 14
104         step: 1
105   - id: alarm
106     title: Будильник
107     elements:
108       - id: enable_alarm
109         type: checkbox
110         label: Включить будильник
111       - id: alarm_hour
112         label: Час
113         type: number
114         min: 0
115         max: 23
116         step: 1
117       - id: alarm_minute
118         label: Минуты
119         type: number
120         min: 0
121         max: 59
122         step: 1
123       - id: alarm_days
124         label: Дни
125         type: week
126       - type: hr
127       - id: alarm_length
128         label: Длительность сигнала, с
129         type: number
130         min: 5
131         max: 120
132         step: 5
133       - id: alarm_tone
134         label: Тон сигнала
135         type: number
136         min: 100
137         max: 5000
138       - id: alarm_beep_ms
139         label: Длительность гудка, мс
140         type: number
141         min: 100
142         max: 2000
143       - id: alarm_silent_ms
144         label: Длительность паузы, мс
145         type: number
146         min: 100
147         max: 2000
148       - type: hr
149       - id: enable_hourly
150         type: checkbox
151         label: Сигнал каждый час
152       - id: hourly_night
153         label: В том числе ночью
154         type: checkbox
155       - id: hourly_count
156         label: Число сигналов
157         type: number
158         min: 1
159         max: 5
160       - id: hourly_tone
161         label: Тон сигнала
162         type: number
163         min: 100
164         max: 5000
165       - id: hourly_beep_ms
166         label: Длительность гудка, мс
167         type: number
168         min: 100
169         max: 2000
170       - id: hourly_silent_ms
171         label: Длительность паузы, мс
172         type: number
173         min: 100
174         max: 2000
175   - id: hw
176     title: Оборудование
177     elements:
178       - type: text
179         value: Часы реального времени
180       - id: enable_rtc
181         label: Использовать
182         type: checkbox
183       - id: pin_sda
184         label: Пин SDA
185         type: select
186         options:
187           - value: 16
188             text: D0
189           - value: 5
190             text: D1
191           - value: 4
192             text: D2
193           - value: 0
194             text: D3
195           - value: 2
196             text: D4
197           - value: 14
198             text: D5
199           - value: 12
200             text: D6
201           - value: 13
202             text: D7
203           - value: 15
204             text: D8
205           - value: 3
206             text: "RX*"
207           - value: 1
208             text: "TX*"
209       - id: pin_scl
210         label: Пин SCL
211         type: select
212         options:
213           - value: 16
214             text: D0
215           - value: 5
216             text: D1
217           - value: 4
218             text: D2
219           - value: 0
220             text: D3
221           - value: 2
222             text: D4
223           - value: 14
224             text: D5
225           - value: 12
226             text: D6
227           - value: 13
228             text: D7
229           - value: 15
230             text: D8
231           - value: 3
232             text: "RX*"
233           - value: 1
234             text: "TX*"
235       - id: i2c_speed
236         label: Скорость шины I2C
237         type: select
238         options:
239           - value: 100000
240             text: 100000 (стандартная)
241           - value: 400000
242             text: 400000 (быстрая)
243       - type: hr
244       - type: text
245         value: Кнопка
246       - id: enable_button
247         label: Использовать
248         type: checkbox
249       - id: button_pin
250         label: Пин кнопки
251         type: select
252         options:
253           - value: 16
254             text: D0
255           - value: 5
256             text: D1
257           - value: 4
258             text: D2
259           - value: 0
260             text: D3
261           - value: 2
262             text: D4
263           - value: 14
264             text: D5
265           - value: 12
266             text: D6
267           - value: 13
268             text: D7
269           - value: 15
270             text: D8
271           - value: 3
272             text: "RX*"
273           - value: 1
274             text: "TX*"
275       - id: button_inversed
276         label: "Кнопка на размыкание"
277         type: checkbox
278       - type: hr
279       - type: text
280         value: Зуммер
281       - id: enable_buzzer
282         label: Использовать
283         type: checkbox
284       - id: buzzer_pin
285         label: Пин зуммера
286         type: select
287         options:
288           - value: 16
289             text: D0
290           - value: 5
291             text: D1
292           - value: 4
293             text: D2
294           - value: 0
295             text: D3
296           - value: 2
297             text: D4
298           - value: 14
299             text: D5
300           - value: 12
301             text: D6
302           - value: 13
303             text: D7
304           - value: 15
305             text: D8
306           - value: 3
307             text: "RX*"
308           - value: 1
309             text: "TX*"
310       - id: buzzer_passive
311         label: "Пассивный зуммер"
312         type: checkbox
313       - type: hr 
314       - type: text
315         value: Светодиодная панель
316       - id: pin_din
317         label: Пин DIN
318         type: select
319         options:
320           - value: 16
321             text: D0
322           - value: 5
323             text: D1
324           - value: 4
325             text: D2
326           - value: 0
327             text: D3
328           - value: 2
329             text: D4
330           - value: 14
331             text: D5
332           - value: 12
333             text: D6
334           - value: 13
335             text: D7
336           - value: 15
337             text: D8
338           - value: 3
339             text: "RX*"
340           - value: 1
341             text: "TX*"
342       - id: pin_clk
343         label: Пин CLK
344         type: select
345         options:
346           - value: 16
347             text: D0
348           - value: 5
349             text: D1
350           - value: 4
351             text: D2
352           - value: 0
353             text: D3
354           - value: 2
355             text: D4
356           - value: 14
357             text: D5
358           - value: 12
359             text: D6
360           - value: 13
361             text: D7
362           - value: 15
363             text: D8
364           - value: 3
365             text: "RX*"
366           - value: 1
367             text: "TX*"
368       - id: pin_cs
369         label: Пин CS
370         type: select
371         options:
372           - value: 16
373             text: D0
374           - value: 5
375             text: D1
376           - value: 4
377             text: D2
378           - value: 0
379             text: D3
380           - value: 2
381             text: D4
382           - value: 14
383             text: D5
384           - value: 12
385             text: D6
386           - value: 13
387             text: D7
388           - value: 15
389             text: D8
390           - value: 3
391             text: "RX*"
392           - value: 1
393             text: "TX*"
394       - id: led_modules
395         label: Число модулей 8*8
396         type: number
397         min: 4
398         max: 8
399   - id: weather
400     title: Погода
401     elements:
402       - id: weather_url
403         label: URL погодного сервиса
404         type: input
405       - id: weather_template
406         label: Шаблон вывода
407         type: input
408       - id: weather_min
409         label: Частота обновления, мин
410         type: number
411         min: 5
412   - id: wifi
413     title: WiFi
414     elements:
415       - type: text
416         value: Клиент сети
417       - id: sta_ssid
418         type: input-wifi
419         label: 🗘Имя беспроводной сети
420         pattern: ^[^!#;+\]/"\t][^+\]/"\t]{0,31}$
421       - id: sta_psk
422         type: password
423         label: 🗘Ключевая фраза
424       - id: sta_wait
425         type: input
426         label: Ожидать подключения не дольше, с
427       - type: hr
428       - type: text
429         value: Точка доступа
430       - id: ap_ssid
431         type: input
432         label: 🗘Имя беспроводной сети
433         pattern: ^[^!#;+\]/"\t][^+\]/"\t]{0,31}$
434       - id: ap_psk
435         type: password
436         label: 🗘Ключевая фраза
437       - id: wifi
438         type: button
439         label: Применить настройки WiFi
440   - id: system
441     title: Система
442     elements:
443       - type: text
444         value: Авторизация
445       - id: auth_user
446         type: input
447         label: Логин
448         pattern: ^[A-Za-z0-9]{3,16}$
449       - id: auth_pwd
450         label: Пароль
451         type: password
452         pattern: ^.{4,16}$
453       - id: auth
454         type: button
455         label: Сменить пароль
456       - type: hr
457       - type: text
458         value: Синхронизация времени
459       - id: ntp_server
460         type: input
461         label: NTP-сервер
462         pattern: ^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$
463       - id: tz
464         type: input
465         label: Часовой пояс (POSIX)
466         pattern: ^([A-Za-z]*)(-?[0-9]*(:[0-9]*)?)((([A-Za-z]*)(-?[0-9]*)?)?(,M[0-9]*\.[0-9]*\.[0-9]*/([0-9]*:?){3}){2})?$
467       - id: restart
468         type: button
469         label: Перезагрузить