akshayballal's picture
Edit rtu pipeline
dbd7ac0
raw
history blame
1.65 kB
import json
from rtu.RTUAnomalizer import RTUAnomalizer
from rtu.RTUPipeline import RTUPipeline
from vav.VAVPipeline import VAVPipeline
from vav.VAVAnomalizer import VAVAnomalizer
import paho.mqtt.client as mqtt
def main():
rtu_data_pipeline = RTUPipeline(scaler_path="src/rtu/models/scaler_1.pkl")
rtu_anomalizer = RTUAnomalizer(
prediction_model_path="src/rtu/models/lstm_4rtu_smooth_02.keras",
clustering_model_paths=[
"src/rtu/models/kmeans_model1.pkl",
"src/rtu/models/kmeans_model2.pkl",
"src/rtu/models/kmeans_model3.pkl",
"src/rtu/models/kmeans_model4.pkl",
],
num_inputs=rtu_data_pipeline.num_inputs,
num_outputs=rtu_data_pipeline.num_outputs,
)
vav_pipeline = VAVPipeline(rtu_id=1, scaler_path="src/vav/models/scaler_vav_1.pkl")
vav_anomalizer = VAVAnomalizer(prediction_model_path="src/vav/models/lstm__vav_01")
# print(vav_pipeline.input_col_names)
# print(len(vav_pipeline.output_col_names))
def on_message(client, userdata, message):
# print(json.loads(message.payload.decode()))
df_new, df_trans = rtu_data_pipeline.fit(message)
if not df_new is None and not df_trans is None:
out = rtu_anomalizer.pipeline(df_new, df_trans, rtu_data_pipeline.scaler)
broker_address = "localhost"
broker_port = 1883
topic = "sensor_data"
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1)
client.on_message = on_message
client.connect(broker_address, broker_port)
client.subscribe(topic)
client.loop_forever()
if __name__ == "__main__":
main()