|
@@ -20,11 +20,18 @@ class InfluxDB:
|
|
for field in dataclasses.fields(meas):
|
|
for field in dataclasses.fields(meas):
|
|
if not field.name in ["timestamp", "series", "source"]:
|
|
if not field.name in ["timestamp", "series", "source"]:
|
|
value = getattr(meas, field.name)
|
|
value = getattr(meas, field.name)
|
|
|
|
+ if type(value) is bool:
|
|
|
|
+ p.field(field.name, int(value))
|
|
if not type(value) is tuple:
|
|
if not type(value) is tuple:
|
|
p.field(field.name, value)
|
|
p.field(field.name, value)
|
|
else:
|
|
else:
|
|
for i, v in enumerate(value):
|
|
for i, v in enumerate(value):
|
|
- p.field(F"{field.name}_{i}", v)
|
|
|
|
|
|
+ pt = Point(meas.series).time(meas.timestamp).tag("source", meas.source).tag("channel", i)
|
|
|
|
+ if type(v) is bool:
|
|
|
|
+ pt.field(F"{field.name}", int(v))
|
|
|
|
+ else:
|
|
|
|
+ pt.field(F"{field.name}", v)
|
|
|
|
+ points.append(pt)
|
|
points.append(p)
|
|
points.append(p)
|
|
try:
|
|
try:
|
|
self.write_api.write(bucket=self.bucket, record=points)
|
|
self.write_api.write(bucket=self.bucket, record=points)
|