add initial components and utility functions for simulation and builder modules

This commit is contained in:
2025-03-25 14:00:03 +05:30
parent 61b3c4ee2c
commit 2303682a15
164 changed files with 13967 additions and 52 deletions

View File

@@ -0,0 +1,48 @@
import React, { useEffect } from "react";
import mqtt from "mqtt";
import { useDrieUIValue } from "../../../store/store";
const MqttEvents = () => {
const { setTouch, setTemperature, setHumidity } = useDrieUIValue();
useEffect(() => {
const client = mqtt.connect("ws://192.168.0.192:1884", {
username: "gabby",
password: "gabby"
});
client.subscribe("touch");
client.subscribe("temperature");
client.subscribe("humidity");
const handleMessage = (topic: string, message: any) => {
const value = message.toString();
if (topic === "touch") {
setTouch(value);
} else if (topic === "temperature") {
setTemperature(parseFloat(value));
} else if (topic === "humidity") {
setHumidity(parseFloat(value));
}
};
client.on("message", handleMessage);
client.on("error", (err) => {
console.error("MQTT Connection Error:", err);
});
client.on("close", () => {
console.log("MQTT Connection Closed");
});
return () => {
client.end();
};
}, [setTouch, setTemperature, setHumidity]);
return null;
};
export default MqttEvents;