diff --git a/nicoscache.py b/nicoscache.py index f502f1d..d6c2a45 100644 --- a/nicoscache.py +++ b/nicoscache.py @@ -168,4 +168,4 @@ class NicosStream(Stream): value = None error = 'error' cnt += 1 - yield key, value, error, ts + yield key, value, error, ts, self.tags diff --git a/secop.py b/secop.py index 32034d4..e8003c9 100644 --- a/secop.py +++ b/secop.py @@ -48,7 +48,13 @@ class SecopStream(Stream): self.tags['device'] = self.device self.modules = self.descr['modules'] self.convert = {} + self.original_id = {} for mod, moddesc in self.modules.items(): + for key in ('_original_id', 'original_id'): + value = moddesc.get(key) + if value: + self.original_id[mod] = value + break for param, desc in moddesc['accessibles'].items(): dt = desc['datainfo'] if dt['type'] in ('double', 'int', 'enum'): @@ -79,7 +85,8 @@ class SecopStream(Stream): ts = data[1].get('t', time.time()) value = cvt(data[0]) cnt += 1 - yield key, value, error, ts + yield key, value, error, ts, dict( + self.tags, device=self.original_id.get(key[0], self.device)) elif msg == 'active': # from now on, no more waiting self.notimeout()