Python script to transpose InfluxDB time-series data to Firebase RTDB.
Import transposer
from transposer import SensorContainer
Takes in the returned results from a flux "|> last()" query in the form of a list results with fluxrecord elements _measurement, _value, _field and a user-defined id value.
for record in table.records:
results.append((record.get_measurement(), record.get_value(), record.get_field(), record["UID"]))
Pass the list into SensorContainer.
container = SensorContainer(results)
The data will be structured in a json serializable format:
SensorContainer
|
└───_SensorType (_measurement)
│ │
│ └───_Sensor (user-defined id value)
│ | │ {_field : _value}
│ | │ {_field : _value}
│ | │ ...
| | ...
│
└───_SensorType (_measurement)
| │
| └───_Sensor (user-defined id value)
| │ | ...
| └───_Sensor (user-defined id value)
| │ | ...
| ...
...
Update SensorContainer. Adds new and overwrites existing. Deletions not supported.
container.update_all(results)
Get the above structure as dict
out = container.get_all()
Part of WMNS.