major improvements and rework

- add stream / instrument availability data
- events contain event kind for dispatching db methods
This commit is contained in:
2025-02-24 14:54:54 +01:00
parent 832252bbbb
commit c0aeca523a
6 changed files with 501 additions and 231 deletions

View File

@ -156,7 +156,6 @@ class NicosStream(Stream):
except Exception as e:
print(self.uri, repr(e))
return
cnt = 0
for ts, devname, param, op, value in sorted([t, d, p, o, v] for (d, p), (o, v, t) in events.items()):
descr = self.descr.get(devname)
mod = descr.get('secop_module', devname) if descr else devname
@ -164,11 +163,9 @@ class NicosStream(Stream):
if self.devices.get(devname):
try:
value = self.convert[key](value)
yield 'value', value, key, self.tags, ts
error = None
except KeyError: # no conversion function
continue
except TypeError:
value = None
error = 'error'
cnt += 1
yield key, value, error, ts, self.get_tags(key)
yield 'error', 'error', key, self.tags, ts