pymscada 0.1.11b2__tar.gz → 0.1.11b3__tar.gz

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.
Files changed (91) hide show
  1. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/PKG-INFO +1 -1
  2. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/pyproject.toml +1 -1
  3. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/checkout.py +6 -10
  4. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/ping.yaml +0 -3
  5. pymscada-0.1.11b3/src/pymscada/demo/tags.yaml +119 -0
  6. pymscada-0.1.11b3/src/pymscada/demo/wwwserver.yaml +81 -0
  7. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/module_config.py +18 -9
  8. pymscada-0.1.11b2/src/pymscada/demo/tags.yaml +0 -268
  9. pymscada-0.1.11b2/src/pymscada/demo/wwwserver.yaml +0 -273
  10. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/LICENSE +0 -0
  11. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/README.md +0 -0
  12. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/__init__.py +0 -0
  13. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/__main__.py +0 -0
  14. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/bus_client.py +0 -0
  15. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/bus_server.py +0 -0
  16. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/config.py +0 -0
  17. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/console.py +0 -0
  18. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/README.md +0 -0
  19. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/__init__.py +0 -0
  20. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/accuweather.yaml +0 -0
  21. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/bus.yaml +0 -0
  22. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/files.yaml +0 -0
  23. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/history.yaml +0 -0
  24. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/logixclient.yaml +0 -0
  25. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/modbus_plc.py +0 -0
  26. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/modbusclient.yaml +0 -0
  27. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/modbusserver.yaml +0 -0
  28. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/openweather.yaml +0 -0
  29. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/opnotes.yaml +0 -0
  30. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-bus.service +0 -0
  31. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-demo-modbus_plc.service +0 -0
  32. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-files.service +0 -0
  33. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-history.service +0 -0
  34. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-io-accuweather.service +0 -0
  35. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-io-logixclient.service +0 -0
  36. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-io-modbusclient.service +0 -0
  37. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-io-modbusserver.service +0 -0
  38. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-io-ping.service +0 -0
  39. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-io-snmpclient.service +0 -0
  40. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-opnotes.service +0 -0
  41. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/pymscada-wwwserver.service +0 -0
  42. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/demo/snmpclient.yaml +0 -0
  43. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/files.py +0 -0
  44. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/history.py +0 -0
  45. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/__init__.py +0 -0
  46. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/accuweather.py +0 -0
  47. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/logix_client.py +0 -0
  48. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/logix_map.py +0 -0
  49. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/modbus_client.py +0 -0
  50. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/modbus_map.py +0 -0
  51. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/modbus_server.py +0 -0
  52. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/openweather.py +0 -0
  53. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/ping_client.py +0 -0
  54. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/ping_map.py +0 -0
  55. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/snmp_client.py +0 -0
  56. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/iodrivers/snmp_map.py +0 -0
  57. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/main.py +0 -0
  58. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/misc.py +0 -0
  59. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/opnotes.py +0 -0
  60. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/pdf/__init__.py +0 -0
  61. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/pdf/one.pdf +0 -0
  62. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/pdf/two.pdf +0 -0
  63. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/periodic.py +0 -0
  64. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/protocol_constants.py +0 -0
  65. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/samplers.py +0 -0
  66. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/tag.py +0 -0
  67. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/tools/snmp_client2.py +0 -0
  68. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/tools/walk.py +0 -0
  69. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/validate.py +0 -0
  70. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/src/pymscada/www_server.py +0 -0
  71. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/__init__.py +0 -0
  72. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/bus_echo.py +0 -0
  73. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/iodrivers/test_logix.py +0 -0
  74. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/iodrivers/test_modbus.py +0 -0
  75. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_assets/busserver.yaml +0 -0
  76. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_assets/db.sqlite +0 -0
  77. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_assets/hist_tag_0_0.dat +0 -0
  78. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_assets/hist_tag_0_10_2.dat +0 -0
  79. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_assets/hist_tag_0_15.dat +0 -0
  80. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_assets/hist_tag_0_26.dat +0 -0
  81. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_assets/hist_tag_0_50.dat +0 -0
  82. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_bus_server.py +0 -0
  83. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_config.py +0 -0
  84. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_history.py +0 -0
  85. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_misc.py +0 -0
  86. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_openweather.py +0 -0
  87. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_opnotes.py +0 -0
  88. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_periodic.py +0 -0
  89. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_samplers.py +0 -0
  90. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_tag.py +0 -0
  91. {pymscada-0.1.11b2 → pymscada-0.1.11b3}/tests/test_validate.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pymscada
3
- Version: 0.1.11b2
3
+ Version: 0.1.11b3
4
4
  Summary: Shared tag value SCADA with python backup and Angular UI
5
5
  Author-Email: Jamie Walton <jamie@walton.net.nz>
6
6
  License: GPL-3.0-or-later
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "pymscada"
3
- version = "0.1.11b2"
3
+ version = "0.1.11b3"
4
4
  description = "Shared tag value SCADA with python backup and Angular UI"
5
5
  authors = [
6
6
  { name = "Jamie Walton", email = "jamie@walton.net.nz" },
@@ -57,21 +57,17 @@ def make_config(overwrite: bool):
57
57
  else:
58
58
  continue
59
59
  print(f'{rt} {target}')
60
- if str(target).endswith('service'):
61
- rd_bytes = config_file.read_bytes()
62
- for k, v in PATH.items():
63
- rd_bytes = rd_bytes.replace(k.encode(),str(v).encode())
64
- target.write_bytes(rd_bytes)
65
- else:
66
- target.write_bytes(config_file.read_bytes())
60
+ rd_bytes = config_file.read_bytes()
61
+ for k, v in PATH.items():
62
+ rd_bytes = rd_bytes.replace(k.encode(), str(v).encode())
63
+ target.write_bytes(rd_bytes)
67
64
 
68
65
 
69
66
  def read_with_subst(file: Path):
70
67
  """Read the file and replace DIR markers."""
71
68
  rd = file.read_bytes().decode()
72
- if str(file).endswith('service'):
73
- for k, v in PATH.items():
74
- rd = rd.replace(k, str(v))
69
+ for k, v in PATH.items():
70
+ rd = rd.replace(k, str(v))
75
71
  lines = rd.splitlines()
76
72
  return lines
77
73
 
@@ -4,9 +4,6 @@ tags:
4
4
  localhost_ping:
5
5
  type: ping
6
6
  addr: '127.0.0.1'
7
- electronet_ping:
8
- type: ping
9
- addr: electronet.co.nz
10
7
  google_ping:
11
8
  type: ping
12
9
  addr: www.google.com
@@ -0,0 +1,119 @@
1
+ __bus__:
2
+ desc: Bus Server Info
3
+ type: str
4
+ __files__:
5
+ desc: File Server
6
+ type: dict
7
+ __history__:
8
+ desc: History
9
+ type: bytes
10
+ __opnotes__:
11
+ desc: Operator Notes
12
+ type: dict
13
+ __alarms__:
14
+ desc: Alarms
15
+ type: dict
16
+ IntSet:
17
+ desc: Integer Setpoint
18
+ type: int
19
+ min: -100
20
+ max: 100
21
+ init: 1
22
+ IntVal:
23
+ desc: Integer Value
24
+ type: int
25
+ min: -100
26
+ max: 100
27
+ init: 1
28
+ FloatSet:
29
+ desc: Float Setpoint
30
+ type: float
31
+ min: -1.e+100
32
+ max: 1.e+100
33
+ units: 'm'
34
+ dp: 1
35
+ init: 2
36
+ FloatVal:
37
+ desc: Float Value
38
+ type: float
39
+ min: -1.e+100
40
+ max: 1.e+100
41
+ units: 'm'
42
+ dp: 1
43
+ init: 2
44
+ MultiSet:
45
+ desc: Multi Setpoint
46
+ multi:
47
+ - zero
48
+ - one
49
+ - two
50
+ - three
51
+ init: 0
52
+ MultiVal:
53
+ desc: Multi Value
54
+ multi:
55
+ - zero
56
+ - one
57
+ - two
58
+ - three
59
+ init: 0
60
+ StringSet:
61
+ desc: String Setpoint
62
+ type: str
63
+ init: a string
64
+ StringVal:
65
+ desc: String Value
66
+ type: str
67
+ init: a string
68
+ TimeSet:
69
+ desc: Time Setpoint
70
+ type: int
71
+ init: 1234567890
72
+ format: time
73
+ TimeVal:
74
+ desc: Time Value
75
+ type: int
76
+ init: 1234567890
77
+ format: time
78
+ DateSet:
79
+ desc: Date Setpoint
80
+ type: int
81
+ init: 1234567890
82
+ format: date
83
+ DateVal:
84
+ desc: Date Value
85
+ type: int
86
+ init: 1234567890
87
+ format: date
88
+ DateTimeSet:
89
+ desc: Date Time Setpoint
90
+ type: int
91
+ init: 1234567890
92
+ format: datetime
93
+ DateTimeVal:
94
+ desc: Date Time Value
95
+ type: int
96
+ init: 1234567890
97
+ format: datetime
98
+ MultiSelect:
99
+ desc: Select Dict Multi
100
+ type: dict
101
+ init:
102
+ labels: [A, B, C, D, E, F, G, H]
103
+ values: [0, 1, 2, 3, 3, 4, 4, 3]
104
+ locks: [1, 0, 0, 0, 0, 0, 0, 1]
105
+ FloatSelect:
106
+ desc: Select Dict Float
107
+ type: dict
108
+ init:
109
+ labels: [Floats, For, This, Tag]
110
+ values: [0.1, 0.1, 0.2, 0.3]
111
+ locks: [0, 1, 0, 0]
112
+ localhost_ping:
113
+ desc: Ping time to localhost
114
+ type: int
115
+ units: ms
116
+ google_ping:
117
+ desc: Ping time to google
118
+ type: int
119
+ units: ms
@@ -0,0 +1,81 @@
1
+ bus_ip: 127.0.0.1
2
+ bus_port: 1324
3
+ ip: 0.0.0.0
4
+ port: 8324
5
+ get_path:
6
+ serve_path: __HOME__
7
+ pages:
8
+ - name: Notes
9
+ parent:
10
+ items:
11
+ - type: opnotes
12
+ site: [Site 1, Site 2]
13
+ by: [B1, B2]
14
+ - name: Default Main
15
+ parent:
16
+ items:
17
+ - {desc: Default tags, type: h1}
18
+ - {tagname: IntSet, type: setpoint}
19
+ - {tagname: IntVal, type: value}
20
+ - {tagname: FloatSet, type: setpoint}
21
+ - {tagname: FloatVal, type: value}
22
+ - {tagname: MultiSet, type: setpoint}
23
+ - {tagname: MultiVal, type: value}
24
+ - {tagname: StringSet, type: setpoint}
25
+ - {tagname: StringVal, type: value}
26
+ - {tagname: TimeSet, type: setpoint}
27
+ - {tagname: TimeVal, type: value}
28
+ - {tagname: DateSet, type: setpoint}
29
+ - {tagname: DateVal, type: value}
30
+ - {tagname: DateTimeSet, type: setpoint}
31
+ - {tagname: DateTimeVal, type: value}
32
+ - type: selectdict
33
+ tagname: MultiSelect
34
+ opts:
35
+ type: multi
36
+ multi:
37
+ - Zero
38
+ - One
39
+ - Two
40
+ - Three
41
+ - Four
42
+ - Five
43
+ - {tagname: FloatSelect, type: selectdict, opts: {type: float, dp: 2}}
44
+ - name: Files
45
+ parent:
46
+ items:
47
+ - type: files
48
+ - name: Ping Values
49
+ parent:
50
+ items:
51
+ - {desc: Default tags, type: h1}
52
+ - {tagname: localhost_ping, type: value}
53
+ - {tagname: google_ping, type: value}
54
+ - {tagname: electronet_ping, type: value}
55
+ - name: Ping Trend
56
+ parent:
57
+ items:
58
+ - type: uplot # Do all times in seconds, which uplot uses.
59
+ ms:
60
+ desc: Ping Trend
61
+ age: 172800
62
+ legend_pos: left
63
+ time_pos: left
64
+ time_res: m
65
+ axes:
66
+ - scale: x
67
+ range: [-86400, 0] # 86400 172800 1209600
68
+ - scale: mS
69
+ range: [0.0, 1.0]
70
+ dp: 1
71
+ series:
72
+ - tagname: localhost_ping
73
+ label: localhost
74
+ scale: mS
75
+ color: black
76
+ dp: 1
77
+ - tagname: google_ping
78
+ label: google
79
+ scale: mS
80
+ color: red
81
+ dp: 1
@@ -49,12 +49,14 @@ def create_module_registry():
49
49
  ModuleDefinition(
50
50
  name='files',
51
51
  help='serve files',
52
- module_class='pymscada.files:Files'
52
+ module_class='pymscada.files:Files',
53
+ tags=False
53
54
  ),
54
55
  ModuleDefinition(
55
56
  name='opnotes',
56
57
  help='operator notes',
57
- module_class='pymscada.opnotes:OpNotes'
58
+ module_class='pymscada.opnotes:OpNotes',
59
+ tags=False
58
60
  ),
59
61
  ModuleDefinition(
60
62
  name='validate',
@@ -93,37 +95,44 @@ def create_module_registry():
93
95
  ModuleDefinition(
94
96
  name='accuweatherclient',
95
97
  help='poll weather information',
96
- module_class='pymscada.iodrivers.accuweather:AccuWeatherClient'
98
+ module_class='pymscada.iodrivers.accuweather:AccuWeatherClient',
99
+ tags=False
97
100
  ),
98
101
  ModuleDefinition(
99
102
  name='logixclient',
100
103
  help='poll/write to logix devices',
101
- module_class='pymscada.iodrivers.logix_client:LogixClient'
104
+ module_class='pymscada.iodrivers.logix_client:LogixClient',
105
+ tags=False
102
106
  ),
103
107
  ModuleDefinition(
104
108
  name='modbusclient',
105
109
  help='poll/write modbus devices',
106
- module_class='pymscada.iodrivers.modbus_client:ModbusClient'
110
+ module_class='pymscada.iodrivers.modbus_client:ModbusClient',
111
+ tags=False
107
112
  ),
108
113
  ModuleDefinition(
109
114
  name='modbusserver',
110
115
  help='serve modbus devices',
111
- module_class='pymscada.iodrivers.modbus_server:ModbusServer'
116
+ module_class='pymscada.iodrivers.modbus_server:ModbusServer',
117
+ tags=False
112
118
  ),
113
119
  ModuleDefinition(
114
120
  name='openweatherclient',
115
121
  help='poll OpenWeather current and forecast data',
116
- module_class='pymscada.iodrivers.openweather:OpenWeatherClient'
122
+ module_class='pymscada.iodrivers.openweather:OpenWeatherClient',
123
+ tags=False
117
124
  ),
118
125
  ModuleDefinition(
119
126
  name='pingclient',
120
127
  help='ping network devices',
121
- module_class='pymscada.iodrivers.ping_client:PingClient'
128
+ module_class='pymscada.iodrivers.ping_client:PingClient',
129
+ tags=False
122
130
  ),
123
131
  ModuleDefinition(
124
132
  name='snmpclient',
125
133
  help='poll SNMP devices',
126
- module_class='pymscada.iodrivers.snmp_client:SnmpClient'
134
+ module_class='pymscada.iodrivers.snmp_client:SnmpClient',
135
+ tags=False
127
136
  ),
128
137
  ModuleDefinition(
129
138
  name='console',
@@ -1,268 +0,0 @@
1
- __bus__:
2
- desc: Bus Server Info
3
- type: str
4
- __files__:
5
- desc: File Server
6
- type: dict
7
- __history__:
8
- desc: History
9
- type: bytes
10
- __opnotes__:
11
- desc: Operator Notes
12
- type: dict
13
- __alarms__:
14
- desc: Alarms
15
- type: dict
16
- IntSet:
17
- desc: Integer Setpoint
18
- type: int
19
- min: -100
20
- max: 100
21
- init: 1
22
- IntVal:
23
- desc: Integer Value
24
- type: int
25
- min: -100
26
- max: 100
27
- init: 1
28
- FloatSet:
29
- desc: Float Setpoint
30
- type: float
31
- min: -1.e+100
32
- max: 1.e+100
33
- units: 'm'
34
- dp: 1
35
- init: 2
36
- FloatVal:
37
- desc: Float Value
38
- type: float
39
- min: -1.e+100
40
- max: 1.e+100
41
- units: 'm'
42
- dp: 1
43
- init: 2
44
- MultiSet:
45
- desc: Multi Setpoint
46
- multi:
47
- - zero
48
- - one
49
- - two
50
- - three
51
- init: 0
52
- MultiVal:
53
- desc: Multi Value
54
- multi:
55
- - zero
56
- - one
57
- - two
58
- - three
59
- init: 0
60
- StringSet:
61
- desc: String Setpoint
62
- type: str
63
- init: a string
64
- StringVal:
65
- desc: String Value
66
- type: str
67
- init: a string
68
- TimeSet:
69
- desc: Time Setpoint
70
- type: int
71
- init: 1234567890
72
- format: time
73
- TimeVal:
74
- desc: Time Value
75
- type: int
76
- init: 1234567890
77
- format: time
78
- DateSet:
79
- desc: Date Setpoint
80
- type: int
81
- init: 1234567890
82
- format: date
83
- DateVal:
84
- desc: Date Value
85
- type: int
86
- init: 1234567890
87
- format: date
88
- DateTimeSet:
89
- desc: Date Time Setpoint
90
- type: int
91
- init: 1234567890
92
- format: datetime
93
- DateTimeVal:
94
- desc: Date Time Value
95
- type: int
96
- init: 1234567890
97
- format: datetime
98
- MultiSelect:
99
- desc: Select Dict Multi
100
- type: dict
101
- init:
102
- labels: [A, B, C, D, E, F, G, H]
103
- values: [0, 1, 2, 3, 3, 4, 4, 3]
104
- locks: [1, 0, 0, 0, 0, 0, 0, 1]
105
- FloatSelect:
106
- desc: Select Dict Float
107
- type: dict
108
- init:
109
- labels: [Floats, For, This, Tag]
110
- values: [0.1, 0.1, 0.2, 0.3]
111
- locks: [0, 1, 0, 0]
112
- cpu_temp:
113
- desc: CPU Load
114
- type: float
115
- min: 0
116
- max: 100
117
- units: '°C'
118
- dp: 1
119
- cpu_load:
120
- desc: Float Value
121
- type: float
122
- min: 0
123
- max: 100
124
- units: '%'
125
- dp: 1
126
- disk_use:
127
- desc: Float Value
128
- type: float
129
- min: 0
130
- max: 100
131
- units: '%'
132
- dp: 1
133
- sim_IntSet: # for the demo PLC sim_ tags not required
134
- desc: Simulation tag
135
- type: int
136
- sim_IntVal:
137
- desc: Simulation tag
138
- type: int
139
- sim_FloatSet:
140
- desc: Simulation tag
141
- type: float
142
- sim_FloatVal:
143
- desc: Simulation tag
144
- type: float
145
- sim_MultiSet:
146
- desc: Simulation tag
147
- type: int
148
- sim_MultiVal:
149
- desc: Simulation tag
150
- type: int
151
- sim_TimeSet:
152
- desc: Simulation tag
153
- type: int
154
- sim_TimeVal:
155
- desc: Simulation tag
156
- type: int
157
- sim_DateSet:
158
- desc: Simulation tag
159
- type: int
160
- sim_DateVal:
161
- desc: Simulation tag
162
- type: int
163
- sim_DateTimeSet:
164
- desc: Simulation tag
165
- type: int
166
- sim_DateTimeVal:
167
- desc: Simulation tag
168
- type: int
169
- Ani_Fin_20:
170
- desc: 'Logix Fin[20]'
171
- type: float
172
- dp: 2
173
- Ani_Fout_20:
174
- desc: 'Logix Fout[20]'
175
- type: float
176
- dp: 2
177
- Ani_Iin_20:
178
- desc: 'Logix Iin[20]'
179
- type: int
180
- Ani_Iout_20:
181
- desc: 'Logix Iout[20]'
182
- type: int
183
- Ani_Iout_21_0:
184
- desc: 'Logix Iout[21].0'
185
- multi:
186
- - 'Off'
187
- - 'On'
188
- Ani_Iout_21_1:
189
- desc: 'Logix Iout[21].1'
190
- multi:
191
- - 'Off'
192
- - 'On'
193
- Ani_Iin_21_0:
194
- desc: 'Logix Iin[21].0'
195
- multi:
196
- - 'Off'
197
- - 'On'
198
- Ani_Iin_21_1:
199
- desc: 'Logix Iin[21].1'
200
- multi:
201
- - 'Off'
202
- - 'On'
203
- InVar:
204
- desc: InVar
205
- type: float
206
- OutVar:
207
- desc: OutVar
208
- type: float
209
- Router_eth1_bytes_in:
210
- desc: eth1 bytes in
211
- type: int
212
- Router_eth1_bytes_out:
213
- desc: eth1 bytes out
214
- type: int
215
- Router_eth2_bytes_in:
216
- desc: eth2 bytes in
217
- type: int
218
- Router_eth2_bytes_out:
219
- desc: eth2 bytes out
220
- type: int
221
- Router_eth3_bytes_in:
222
- desc: eth3 bytes in
223
- type: int
224
- Router_eth3_bytes_out:
225
- desc: eth3 bytes out
226
- type: int
227
- Router_eth4_bytes_in:
228
- desc: eth4 bytes in
229
- type: int
230
- Router_eth4_bytes_out:
231
- desc: eth4 bytes out
232
- type: int
233
- Router_eth5_bytes_in:
234
- desc: eth5 bytes in
235
- type: int
236
- Router_eth5_bytes_out:
237
- desc: eth5 bytes out
238
- type: int
239
- Router_eth6_bytes_in:
240
- desc: eth6 bytes in
241
- type: int
242
- Router_eth6_bytes_out:
243
- desc: eth6 bytes out
244
- type: int
245
- Router_eth7_bytes_in:
246
- desc: eth7 bytes in
247
- type: int
248
- Router_eth7_bytes_out:
249
- desc: eth7 bytes out
250
- type: int
251
- Router_eth8_bytes_in:
252
- desc: eth8 bytes in
253
- type: int
254
- Router_eth8_bytes_out:
255
- desc: eth8 bytes out
256
- type: int
257
- localhost_ping:
258
- desc: Ping time to localhost
259
- type: int
260
- units: ms
261
- google_ping:
262
- desc: Ping time to google
263
- type: int
264
- units: ms
265
- electronet_ping:
266
- desc: Ping time to electronet
267
- type: int
268
- units: ms
@@ -1,273 +0,0 @@
1
- bus_ip: 127.0.0.1
2
- bus_port: 1324
3
- ip: 0.0.0.0
4
- port: 8324
5
- get_path: __HOME__/angmscada/dist/angmscada
6
- serve_path: __HOME__/pymscada
7
- pages:
8
- - name: Notes
9
- parent:
10
- items:
11
- - type: opnote
12
- site: [Site 1, Site 2]
13
- by: [B1, B2]
14
- - name: Default Main
15
- parent:
16
- items:
17
- - {desc: Default tags, type: h1}
18
- - {tagname: IntSet, type: setpoint}
19
- - {tagname: IntVal, type: value}
20
- - {tagname: FloatSet, type: setpoint}
21
- - {tagname: FloatVal, type: value}
22
- - {tagname: MultiSet, type: setpoint}
23
- - {tagname: MultiVal, type: value}
24
- - {tagname: StringSet, type: setpoint}
25
- - {tagname: StringVal, type: value}
26
- - {tagname: TimeSet, type: setpoint}
27
- - {tagname: TimeVal, type: value}
28
- - {tagname: DateSet, type: setpoint}
29
- - {tagname: DateVal, type: value}
30
- - {tagname: DateTimeSet, type: setpoint}
31
- - {tagname: DateTimeVal, type: value}
32
- - type: selectdict
33
- tagname: MultiSelect
34
- opts:
35
- type: multi
36
- multi:
37
- - Zero
38
- - One
39
- - Two
40
- - Three
41
- - Four
42
- - Five
43
- - {tagname: FloatSelect, type: selectdict, opts: {type: float, dp: 2}}
44
- - name: Trends
45
- parent: Dropdown
46
- items:
47
- - type: uplot # Do all times in seconds, which uplot uses.
48
- ms:
49
- desc: Sample Trend
50
- age: 172800
51
- legend_pos: left
52
- time_pos: left
53
- time_res: m
54
- axes:
55
- - scale: x
56
- range: [-86400, 0] # 86400 172800 1209600
57
- - scale: '°C'
58
- range: [0.0, 100.0]
59
- dp: 1
60
- - scale: '%'
61
- range: [0.0, 100.0]
62
- dp: 1
63
- # side: 1
64
- # bands: # TODO
65
- # - series: [I_Transpower_Limit_Hi, I_Transpower_Limit_Lo]
66
- # fill: [red, 0.2]
67
- # dir: -1
68
- series:
69
- - tagname: cpu_load
70
- label: CPU Load
71
- scale: '%'
72
- color: black
73
- width: 1.5
74
- dp: 1
75
- - tagname: disk_use
76
- label: Disk Use
77
- scale: '%'
78
- color: blue
79
- width: 1
80
- dp: 1
81
- - tagname: cpu_temp
82
- label: CPU Temp
83
- scale: '°C'
84
- color: red
85
- width: 1
86
- dp: 1
87
- - name: Files
88
- parent: Dropdown
89
- items:
90
- - type: files
91
- - name: Logix
92
- items:
93
- - {tagname: Ani_Fin_20, type: setpoint}
94
- - {tagname: Ani_Fout_20, type: value}
95
- - {tagname: Ani_Iin_20, type: setpoint}
96
- - {tagname: Ani_Iout_20, type: value}
97
- - {tagname: InVar, type: setpoint}
98
- - {tagname: OutVar, type: value}
99
- - {tagname: Ani_Iin_21_0, type: setpoint}
100
- - {tagname: Ani_Iout_21_0, type: value}
101
- - {tagname: Ani_Iin_21_1, type: setpoint}
102
- - {tagname: Ani_Iout_21_1, type: value}
103
- - name: Values
104
- parent: SNMP
105
- items:
106
- - {tagname: Router_eth1_bytes_in, type: value}
107
- - {tagname: Router_eth1_bytes_out, type: value}
108
- - {tagname: Router_eth2_bytes_in, type: value}
109
- - {tagname: Router_eth2_bytes_out, type: value}
110
- - {tagname: Router_eth3_bytes_in, type: value}
111
- - {tagname: Router_eth3_bytes_out, type: value}
112
- - {tagname: Router_eth4_bytes_in, type: value}
113
- - {tagname: Router_eth4_bytes_out, type: value}
114
- - {tagname: Router_eth5_bytes_in, type: value}
115
- - {tagname: Router_eth5_bytes_out, type: value}
116
- - {tagname: Router_eth6_bytes_in, type: value}
117
- - {tagname: Router_eth6_bytes_out, type: value}
118
- - {tagname: Router_eth7_bytes_in, type: value}
119
- - {tagname: Router_eth7_bytes_out, type: value}
120
- - {tagname: Router_eth8_bytes_in, type: value}
121
- - {tagname: Router_eth8_bytes_out, type: value}
122
- - name: Trend
123
- parent: SNMP
124
- items:
125
- - type: uplot # Do all times in seconds, which uplot uses.
126
- ms:
127
- desc: Bytes
128
- age: 172800
129
- legend_pos: left
130
- time_pos: left
131
- time_res: m
132
- axes:
133
- - scale: x
134
- range: [-86400, 0]
135
- - scale: 'bytes'
136
- range: [0, 100000]
137
- dp: 0
138
- series:
139
- - tagname: Router_eth1_bytes_in
140
- label: eth1 in
141
- scale: 'bytes'
142
- color: violet
143
- width: 1
144
- dp: 0
145
- - tagname: Router_eth1_bytes_out
146
- label: eth1 out
147
- scale: 'bytes'
148
- color: violet
149
- width: 0.5
150
- dp: 0
151
- - tagname: Router_eth2_bytes_in
152
- label: eth2 in
153
- scale: 'bytes'
154
- color: blue
155
- width: 1
156
- dp: 0
157
- - tagname: Router_eth2_bytes_out
158
- label: eth2 out
159
- scale: 'bytes'
160
- color: blue
161
- width: 0.5
162
- dp: 0
163
- - tagname: Router_eth3_bytes_in
164
- label: eth3 in
165
- scale: 'bytes'
166
- color: green
167
- width: 1
168
- dp: 0
169
- - tagname: Router_eth3_bytes_out
170
- label: eth3 out
171
- scale: 'bytes'
172
- color: green
173
- width: 0.5
174
- dp: 0
175
- - tagname: Router_eth4_bytes_in
176
- label: eth4 in
177
- scale: 'bytes'
178
- color: gray
179
- width: 1
180
- dp: 0
181
- - tagname: Router_eth4_bytes_out
182
- label: eth4 out
183
- scale: 'bytes'
184
- color: gray
185
- width: 0.5
186
- dp: 0
187
- - tagname: Router_eth5_bytes_in
188
- label: eth5 in
189
- scale: 'bytes'
190
- color: goldenrod
191
- width: 1
192
- dp: 0
193
- - tagname: Router_eth5_bytes_out
194
- label: eth5 out
195
- scale: 'bytes'
196
- color: goldenrod
197
- width: 0.5
198
- dp: 0
199
- - tagname: Router_eth6_bytes_in
200
- label: eth6 in
201
- scale: 'bytes'
202
- color: brown
203
- width: 1
204
- dp: 0
205
- - tagname: Router_eth6_bytes_out
206
- label: eth6 out
207
- scale: 'bytes'
208
- color: brown
209
- width: 0.5
210
- dp: 0
211
- - tagname: Router_eth7_bytes_in
212
- label: eth7 in
213
- scale: 'bytes'
214
- color: orange
215
- width: 1
216
- dp: 0
217
- - tagname: Router_eth7_bytes_out
218
- label: eth7 out
219
- scale: 'bytes'
220
- color: orange
221
- width: 0.5
222
- dp: 0
223
- - tagname: Router_eth8_bytes_in
224
- label: eth8 in
225
- scale: 'bytes'
226
- color: aqua
227
- width: 1
228
- dp: 0
229
- - tagname: Router_eth8_bytes_out
230
- label: eth8 out
231
- scale: 'bytes'
232
- color: aqua
233
- width: 0.5
234
- dp: 0
235
- - name: Ping Values
236
- parent: Ping
237
- items:
238
- - {desc: Default tags, type: h1}
239
- - {tagname: localhost_ping, type: value}
240
- - {tagname: google_ping, type: value}
241
- - {tagname: electronet_ping, type: value}
242
- - name: Ping Trend
243
- parent: Ping
244
- items:
245
- - type: uplot # Do all times in seconds, which uplot uses.
246
- ms:
247
- desc: Ping Trend
248
- age: 172800
249
- legend_pos: left
250
- time_pos: left
251
- time_res: m
252
- axes:
253
- - scale: x
254
- range: [-86400, 0] # 86400 172800 1209600
255
- - scale: mS
256
- range: [0.0, 1.0]
257
- dp: 1
258
- series:
259
- - tagname: localhost_ping
260
- label: localhost
261
- scale: mS
262
- color: black
263
- dp: 1
264
- - tagname: electronet_ping
265
- label: electronet
266
- scale: mS
267
- color: blue
268
- dp: 1
269
- - tagname: google_ping
270
- label: google
271
- scale: mS
272
- color: red
273
- dp: 1
File without changes
File without changes