-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsystem_config.json
More file actions
137 lines (137 loc) · 3.89 KB
/
system_config.json
File metadata and controls
137 lines (137 loc) · 3.89 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
{
"modules": [
{ "name": "alarm" },
{ "name": "command" },
{ "name": "communication" },
{ "name": "datapoint" },
{ "name": "animation" },
{ "name": "tracking",
"config": {
"mode": "file",
"file_path": "flow_events.log"
}
}
],
"dp_types": {
"LEVEL": { "type": "float", "min": 0, "max": 100, "default": 0.0 },
"OPENED_CLOSED": { "type": "enum", "values": ["OPENED", "CLOSED"], "default": "CLOSED" },
"OPEN_CLOSE_CMD": { "type": "enum", "values": ["OPEN", "CLOSE", "TOGGLE"], "default": "CLOSE" },
"START_STOP": { "type": "enum", "values": ["STARTED", "STOPPED"], "default": "STOPPED" },
"START_STOP_CMD": { "type": "enum", "values": ["START", "STOP", "TOGGLE"], "default": "STOP" },
"PRESSURE": { "type": "float", "min": 0, "max": 200, "default": 50.0 },
"TEMPERATURE":{ "type": "float", "min": 100, "max": 150, "default": 120.0 }
},
"drivers": [
{
"name": "WaterTank",
"driver_class": "TankTestDriver",
"connection_info": { "server_name": "WaterTank" },
"datapoints": [
{ "name": "TANK", "type": "LEVEL" },
{ "name": "PUMP", "type": "OPENED_CLOSED" },
{ "name": "DOOR", "type": "OPENED_CLOSED" },
{ "name": "TEST", "type": "START_STOP" }
],
"command_datapoints": [
{ "name": "PUMP_CMD", "type": "OPEN_CLOSE_CMD" },
{ "name": "DOOR_CMD", "type": "OPEN_CLOSE_CMD" },
{ "name": "TEST_CMD", "type": "START_STOP_CMD" }
]
},
{
"name": "AuxServer",
"driver_class": "BoilerTestDriver",
"connection_info": { "server_name": "AuxServer" },
"datapoints": [
{ "name": "VALVE", "type": "OPENED_CLOSED" },
{ "name": "PRESSURE", "type": "PRESSURE" },
{ "name": "TEMPERATURE", "type": "TEMPERATURE" },
{ "name": "HEATER", "type": "OPENED_CLOSED" },
{ "name": "TEST", "type": "START_STOP" }
],
"command_datapoints": [
{ "name": "VALVE_CMD", "type": "OPENED_CLOSED_CMD" },
{ "name": "HEATER_CMD", "type": "OPEN_CLOSE_CMD" },
{ "name": "TEST_CMD", "type": "START_STOP_CMD" }
]
}
],
"rules": [
{
"rule_id": "close_valve_if_high",
"on_condition": "AuxServer@PRESSURE > 100",
"on_actions": [
"send_command('AuxServer@VALVE', 0)",
"raise_alarm()"
],
"off_condition": "AuxServer@PRESSURE < 80",
"off_actions": [
"lower_alarm()"
]
},
{
"rule_id": "pump_start_if_low_level",
"on_condition": "float(WaterTank@TANK) < 10",
"on_actions": [
"send_command('WaterTank@PUMP_CMD', 'OPEN')",
"send_command('WaterTank@DOOR_CMD', 'CLOSE')",
"raise_alarm()"
]
},
{
"rule_id": "door_open_alarm",
"on_condition": "WaterTank@DOOR == OPENED",
"on_actions": [
"raise_alarm()"
]
},
{
"rule_id": "temperature_high_warning",
"on_condition": "AuxServer@TEMPERATURE > 80",
"on_actions": [
"raise_alarm()"
]
}
],
"animations": {
"fill_level": [
{
"attribute": "y",
"quality": { "unknown": 390 },
"expression": "390 - ((value/100) * 340)"
},
{
"attribute": "height",
"quality": { "unknown": 0 },
"expression": "(value/100) * 340"
}
],
"toggle_opened_closed": [
{
"attribute": "fill",
"quality": { "unknown": "gray" },
"expression": {
"OPENED": "green",
"CLOSED": "red"
}
}
],
"toggle_start_stop": [
{
"attribute": "fill",
"quality": { "unknown": "gray" },
"expression": {
"STARTED": "green",
"STOPPED": "brown"
}
}
],
"level_text": [
{
"attribute": "text",
"quality": { "unknown": "0.0" },
"expression": "str(round(value,1))"
}
]
}
}