-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdict.py_old_2024-09-07
71 lines (69 loc) · 2.99 KB
/
dict.py_old_2024-09-07
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
# Определяем класс Device
class Device:
def __init__(self, device_id, main_topic, name, location, commands, status, sending):
self.device_id = device_id
self.main_topic = main_topic
self.name = name
self.location = location
self.commands = commands
self.status = status
self.sending = sending
devices = {
"id1": Device(
device_id="id1",
main_topic='zigbee2mqtt/0xa4c138d99e6fe4ee',
name='розетка',
location='зал',
commands={
'/': { # Команды управления состоянием
('включи', 'вруби', 'задействуй'): 'ON',
('выключи', 'выруби', 'грохни'): 'OFF',
('закрой', 'заблокируй', 'запри'): '{"child_lock": "LOCK"}', # Новое действие
('открой', 'разблокируй', 'отопри'): '{"child_lock": "UNLOCK"}', # Новое действие
},
},
status='/state',
sending='set'
),
"id2": Device(
device_id="id2",
main_topic='zigbee2mqtt/0xa4c138d99e6fe4ee/id2',
name='свет слева',
location='зал',
commands={
'/': { # Команды управления состоянием
('включи', 'вруби', 'задействуй'): 'ON',
('выключи', 'выруби', 'грохни'): 'OFF',
('закрой', 'заблокируй', 'запри'): '{"child_lock": "LOCK"}', # Новое действие
('открой', 'разблокируй', 'отопри'): '{"child_lock": "UNLOCK"}', # Новое действие
('ярче', 'светлее'): '{"+1"}',
('тусклее', 'темнее'): '{"-1"}',
},
},
status='/state',
sending='set'
),
"id3": Device(
device_id="id3",
main_topic='zigbee2mqtt/0xa4c138d99e6fe4ee/id3',
name='телек',
location='кухня',
commands={
'/': { # Команды управления состоянием
('включи', 'вруби', 'задействуй'): 'ON',
('выключи', 'выруби', 'грохни'): 'OFF',
('ярче', 'светлее'): '{"+1"}',
('тусклее', 'темнее'): '{"-1"}',
('громче', 'сильнее'): '{"+1"}',
('тише', 'слабее'): '{"-1"}',
},
},
status='/state',
sending='set'
),
}
groups = {
"свет": ["id1", "id3"], # Включаем id2 (свет) и id3 (лампа)
"электрика": ["id1", "id2"], # Включаем id1 (розетка) и id2 (свет)
"уборка": ["id2", "id3"] # Можно оставить пустым для будущих добавлений
}