add idea how to add classes for InfluxDB

This commit is contained in:
l_samenv
2024-07-12 10:31:08 +02:00
parent 0b33fd6047
commit d13b49a35f

View File

@@ -26,6 +26,8 @@ import os
import signal import signal
class InfluxGraph:
"""to be imported"""
try: import simplejson as json try: import simplejson as json
except ImportError: import json except ImportError: import json
@@ -186,7 +188,7 @@ def sea_request_reply(socket, command, tmo=5):
t += 0.1 t += 0.1
if t > 5: if t > 5:
logging.warning('unusual wait time %.4g (before command %s)', t, command) logging.warning('unusual wait time %.4g (before command %s)', t, command)
#print command #print(command)
socket.busy = True socket.busy = True
socket.send_line("fulltransact "+command) socket.send_line("fulltransact "+command)
data = [] data = []
@@ -480,6 +482,14 @@ class SeaInstrument(Instrument):
self.lastcmd = command self.lastcmd = command
class SeaInfluxInstrument(SeaInstrument):
def newClient(self):
if not self.seaspy.connected:
self.init()
return self.register(SeaInfluxClient())
class SeaGraph: class SeaGraph:
HISTORICAL = 0 HISTORICAL = 0
ACTUAL = 1 ACTUAL = 1
@@ -551,7 +561,7 @@ class SeaGraph:
return result return result
def w_updategraph(self): def w_updategraph(self):
"""update live values"" """update live values - seems not to work"""
logging.info("UPD GRAPH %d", self.livemode) logging.info("UPD GRAPH %d", self.livemode)
if self.livemode == self.HISTORICAL: if self.livemode == self.HISTORICAL:
return dict(type='accept-graph', live=False) return dict(type='accept-graph', live=False)
@@ -579,7 +589,7 @@ class SeaGraph:
return dict(type='graph-update', reduced=False, time=self.time[1], graph=result) return dict(type='graph-update', reduced=False, time=self.time[1], graph=result)
return None return None
class SeaClient(SeaGraph): class SeaParams:
def __init__(self): def __init__(self):
self.group_version = {} self.group_version = {}
@@ -652,6 +662,14 @@ class SeaClient(SeaGraph):
return dict(type='accept-command') return dict(type='accept-command')
class SeaClient(SeaParams, SeaGraph):
pass
class SeaInfluxClient(SeaParams, InfluxGraph):
pass
class DummyClient(SeaGraph): class DummyClient(SeaGraph):
asynch = set(('id','update','redraw','command','reply','graph-update','graph-redraw')) asynch = set(('id','update','redraw','command','reply','graph-update','graph-redraw'))
@@ -974,6 +992,8 @@ if __name__ == '__main__':
type = instrument_config.get('type', 'sea') type = instrument_config.get('type', 'sea')
if type == 'sea': if type == 'sea':
instrument = SeaInstrument(inst_name, instrument_config) instrument = SeaInstrument(inst_name, instrument_config)
elif type == 'influxsea':
instrument = SeaInfluxInstrument(inst_name, instrument_config)
elif type == 'dummy': elif type == 'dummy':
instrument = DummyInstrument(inst_name, instrument_config) instrument = DummyInstrument(inst_name, instrument_config)
elif type == 'secop': elif type == 'secop':