pymscada 0.2.6b0__py3-none-any.whl → 0.2.6b1__py3-none-any.whl

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.

Potentially problematic release.


This version of pymscada might be problematic. Click here for more details.

pymscada/alarms.py CHANGED
@@ -211,6 +211,7 @@ class Alarms:
211
211
  self.rta = Tag(rta_tag, dict)
212
212
  self.rta.value = {'__rta_id__': 0}
213
213
  self.busclient.add_callback_rta(rta_tag, self.rta_cb)
214
+ self.busclient.add_tag(self.rta)
214
215
  self._init_db(db, table)
215
216
  self.periodic = Periodic(self.periodic_cb, 1.0)
216
217
 
pymscada/bus_client.py CHANGED
@@ -77,6 +77,9 @@ class BusClient:
77
77
  jsonstr = json.dumps(request).encode()
78
78
  size = len(jsonstr)
79
79
  data = struct.pack(f'>B{size}s', pc.TYPE.JSON, jsonstr)
80
+ action = request.get("action", "unknown")
81
+ tag_id = self.tag_by_name[tagname].id
82
+ logging.info(f'{self.module}: RTA sending {tagname} {action} to tag_id {tag_id}')
80
83
  self.write(pc.COMMAND.RTA, self.tag_by_name[tagname].id, time_us, data)
81
84
 
82
85
  def write(self, command: pc.COMMAND, tag_id: int, time_us: int,
@@ -209,10 +212,13 @@ class BusClient:
209
212
  data = struct.unpack_from(f'!{len(value) - 1}s', value, offset=1
210
213
  )[0].decode()
211
214
  data = json.loads(data)
215
+ action = data.get("action", "unknown")
216
+ logging.info(f'{self.module}: RTA received {tag.name} {action} '
217
+ f'from tag_id {tag_id}')
212
218
  try:
213
219
  self.rta_handlers[tag.name](data)
214
220
  except KeyError:
215
- logging.warning(f'unhandled RTA for {tag.name} {data}')
221
+ logging.warning(f'{self.module}: unhandled RTA for {tag.name} {data}')
216
222
  else:
217
223
  raise SystemExit(f'Invalid message {cmd}')
218
224
 
pymscada/bus_server.py CHANGED
@@ -201,15 +201,21 @@ class BusServer:
201
201
  try:
202
202
  tag = BusTags._tag_by_id[tag_id]
203
203
  except KeyError:
204
+ logging.warning(f'RTA KeyError {tag_id}')
204
205
  self.connections[bus_id].write(
205
206
  pc.COMMAND.ERR, tag_id, time_us,
206
207
  f"RTA KeyError {tag_id}".encode())
208
+ return
207
209
  try:
210
+ logging.info(f'RTA forwarding {tag.name} from_bus={tag.from_bus} '
211
+ f'to bus_id={tag.from_bus}')
208
212
  self.connections[tag.from_bus].write(
209
213
  pc.COMMAND.RTA, tag_id, tag.time_us, data)
210
214
  except KeyError:
211
- logging.warning(f'likely busclient for {tag.name} is gone')
215
+ logging.warning(f'RTA forwarding failed: busclient for '
216
+ f'{tag.name} (from_bus={tag.from_bus}) is gone')
212
217
  except Exception as e:
218
+ logging.warning(f'RTA forwarding error {tag.name}: {e}')
213
219
  self.connections[bus_id].write(
214
220
  pc.COMMAND.ERR, tag_id, time_us,
215
221
  f"RTA {tag_id} {e}".encode())
pymscada/callout.py CHANGED
@@ -145,6 +145,7 @@ class Callout:
145
145
  'groups': self.groups,
146
146
  'escalation': self.escalation}
147
147
  self.busclient.add_callback_rta(rta_tag, self.rta_cb)
148
+ self.busclient.add_tag(self.rta)
148
149
  self.periodic = Periodic(self.periodic_cb, 1.0)
149
150
 
150
151
  def alarms_cb(self, alm_tag):
pymscada/files.py CHANGED
@@ -33,6 +33,7 @@ class Files():
33
33
  self.rta = Tag(rta_tag, dict)
34
34
  self.rta.value = {}
35
35
  self.busclient.add_callback_rta(rta_tag, self.rta_cb)
36
+ self.busclient.add_tag(self.rta)
36
37
 
37
38
  def rta_cb(self, request):
38
39
  """Respond to Request to Author and publish on rta_tag as needed."""
pymscada/history.py CHANGED
@@ -272,6 +272,7 @@ class History():
272
272
  self.rta = Tag(rta_tag, bytes)
273
273
  self.rta.value = b'\x00\x00\x00\x00\x00\x00' # rta_id is 0
274
274
  self.busclient.add_callback_rta(rta_tag, self.rta_cb)
275
+ self.busclient.add_tag(self.rta)
275
276
 
276
277
  def rta_cb(self, request: Request):
277
278
  """Respond to bus requests for data to publish on rta."""
pymscada/opnotes.py CHANGED
@@ -55,6 +55,7 @@ class OpNotes:
55
55
  self.rta = Tag(rta_tag, dict)
56
56
  self.rta.value = {'__rta_id__': 0}
57
57
  self.busclient.add_callback_rta(rta_tag, self.rta_cb)
58
+ self.busclient.add_tag(self.rta)
58
59
 
59
60
  def _init_table(self):
60
61
  """Initialize or upgrade the database table schema."""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pymscada
3
- Version: 0.2.6b0
3
+ Version: 0.2.6b1
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,18 +1,18 @@
1
1
  pymscada/__init__.py,sha256=EyGwdE-vvQmAOFhtiD0XWflRd8pJiByio20eSHr9AXE,978
2
2
  pymscada/__main__.py,sha256=WcyVlrYOoDdktJhOoyubTOycMwpayksFdxwelRU5xpQ,272
3
- pymscada/alarms.py,sha256=JtA3aj0dKhzXGsTNzyClR7I8H_GpjIasfg0DpJwulAE,18211
4
- pymscada/bus_client.py,sha256=eRGvHQ4sFM_n3rKvKDWZQJPQJqvKMWvxbH3MjtT2WBo,9131
5
- pymscada/bus_server.py,sha256=k7ht2SAr24Oab0hBOPeW4NRDF_RK-F46iE0cMzh7K4w,12323
6
- pymscada/callout.py,sha256=hHSkUE0pJjlyexJI52H_lbZjfud4QFzbIdlNyv6VtWs,9848
3
+ pymscada/alarms.py,sha256=sWpZ__V0RbcBZV5Zx_WNb6knvAki-HD8pdNxnYoPebM,18252
4
+ pymscada/bus_client.py,sha256=gFJA2ACHGKhy01W8yExbL7jjEb9ZzQHyKKw3jCb8wEI,9509
5
+ pymscada/bus_server.py,sha256=yP_3s_lIpGNeanFQAAx3dHxLugNe2IIGhuDWjaipv5U,12693
6
+ pymscada/callout.py,sha256=dVhQrg1MycPzVF42RGPVfUNCdCwYOM-e_Xg_BpaqG2w,9889
7
7
  pymscada/checkout.py,sha256=RLuCMTEuUI7pp1hIRAUPbo8xYFta8TjArelx0SD4gOY,3897
8
8
  pymscada/config.py,sha256=yRENJPGDPLNPOn4zSCE576UO0QWx2Q0VDsaLDEehRmU,2539
9
9
  pymscada/console.py,sha256=UkpbXZXHYuExUXoHabxqA178jISIZo1O64K8yjuaM-U,9392
10
- pymscada/files.py,sha256=iouEOPfEkVI0Qbbf1p-L324Y04zSrynVypLW0-1MThA,2499
11
- pymscada/history.py,sha256=q5hKNTcvLLl_o4FWHily-d1bKZq6j_kqtuONzRDPZCQ,11563
10
+ pymscada/files.py,sha256=m6IIUufWrLHtWGCH0DdONAsYL6R9mE4mwwre1owagnY,2540
11
+ pymscada/history.py,sha256=myyldKWSIRLofFY_ybpKpQVbYok0vMwAti-KACV5rk8,11604
12
12
  pymscada/main.py,sha256=d6EnK4-tEcvM5AqMHYhvqlnSh-E_wd0Tuxk-kXYSiDw,1854
13
13
  pymscada/misc.py,sha256=0Cj6OFhQonyhyk9x0BG5MiS-6EPk_w6zvavt8o_Hlf0,622
14
14
  pymscada/module_config.py,sha256=QfLI6aOB1H5Xo6P_qaaLUKdOzXSfNBXtdHo1dFelCkA,9999
15
- pymscada/opnotes.py,sha256=nScGQwSFSnLhNZRRNOPCbmjBLCamdErbyabdLA-ylNo,8626
15
+ pymscada/opnotes.py,sha256=A6W-oOIIrjxK30nGOIgSp4t9b1jYiatxDFfLOypb01c,8667
16
16
  pymscada/periodic.py,sha256=MLlL93VLvFqBBgjO1Us1t0aLHTZ5BFdW0B__G02T1nQ,1235
17
17
  pymscada/protocol_constants.py,sha256=lPJ4JEgFJ_puJjTym83EJIOw3UTUFbuFMwg3ohyUAGY,2414
18
18
  pymscada/samplers.py,sha256=t0IscgsCm5YByioOZ6aOKMO_guDFS_wxnJSiOGKI4Nw,2583
@@ -80,9 +80,9 @@ pymscada/pdf/__pycache__/__init__.cpython-311.pyc,sha256=4KTfXrV9bGDbTIEv-zgIj_L
80
80
  pymscada/tools/get_history.py,sha256=LfUB7i0qne4lE0lk-bWRmK1B0xpex-AfIOh2paxSDCk,5409
81
81
  pymscada/tools/snmp_client2.py,sha256=pdn5dYyEv4q-ubA0zQ8X-3tQDYxGC7f7Xexa7QPaL40,1675
82
82
  pymscada/tools/walk.py,sha256=OgpprUbKLhEWMvJGfU1ckUt_PFEpwZVOD8HucCgzmOc,1625
83
- pymscada-0.2.6b0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
84
- pymscada-0.2.6b0.dist-info/METADATA,sha256=2eXXvXcIHHqeumvWALP2ubQNqjmPlQ8k3gLBxQ5ZC70,2389
85
- pymscada-0.2.6b0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
86
- pymscada-0.2.6b0.dist-info/entry_points.txt,sha256=2UJBi8jrqujnerrcXcq4F8GHJYVDt26sacXl94t3sd8,56
87
- pymscada-0.2.6b0.dist-info/top_level.txt,sha256=LxIB-zrtgObJg0fgdGZXBkmNKLDYHfaH1Hw2YP2ZMms,9
88
- pymscada-0.2.6b0.dist-info/RECORD,,
83
+ pymscada-0.2.6b1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
84
+ pymscada-0.2.6b1.dist-info/METADATA,sha256=XYlTJRl-I_bOqvpscLKqWIPA9S3uZiyU8YYpap7bkqY,2389
85
+ pymscada-0.2.6b1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
86
+ pymscada-0.2.6b1.dist-info/entry_points.txt,sha256=2UJBi8jrqujnerrcXcq4F8GHJYVDt26sacXl94t3sd8,56
87
+ pymscada-0.2.6b1.dist-info/top_level.txt,sha256=LxIB-zrtgObJg0fgdGZXBkmNKLDYHfaH1Hw2YP2ZMms,9
88
+ pymscada-0.2.6b1.dist-info/RECORD,,