Spaces:
Sleeping
Sleeping
from energy_prediction.EnergyPredictionModel import EnergyPredictionModel | |
from energy_prediction.EnergyPredictionPipeline import EnergyPredictionPipeline | |
import paho.mqtt.client as mqtt | |
import json | |
broker_address = "localhost" | |
broker_port = 1883 | |
topic = "sensor_data" | |
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2) | |
def main(): | |
prediction_data_pipeline_north = EnergyPredictionPipeline(scaler_path="src\energy_prediction\models\scalerNorth.pkl", wing='north') | |
prediction_data_pipeline_south = EnergyPredictionPipeline(scaler_path="src\energy_prediction\models\scalerSouth.pkl", wing='south') | |
# Energy Prediction North wing | |
energy_prediction_north = EnergyPredictionModel( | |
model_path="src/energy_prediction/models/lstm_energy_north_01.keras" | |
) | |
# Energy Prediction South wing | |
energy_prediction_south = EnergyPredictionModel( | |
model_path="src/energy_prediction/models/lstm_energy_south_01.keras" | |
) | |
def on_message(client, userdata, message): | |
dfN = prediction_data_pipeline_north.fit(message) | |
dfS = prediction_data_pipeline_south.fit(message) | |
if not(dfN is None and dfS is None): | |
outN = energy_prediction_north.pipeline(dfN, prediction_data_pipeline_north.scaler) | |
outS = energy_prediction_south.pipeline(dfS, prediction_data_pipeline_south.scaler) | |
return outN, outS | |
else: | |
return None | |
print("Connecting to broker") | |
client.on_message = on_message | |
client.connect(broker_address, broker_port) | |
client.subscribe(topic) | |
client.loop_forever() | |
if __name__ == "__main__": | |
main() | |