You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.0 KiB
JavaScript

const StateManager = require("./StateManager");
const mqtt = require("mqtt");
const mqttClient = mqtt.connect(process.env.MQTT, { clean: true, });
mqttClient.on("connect", (a) => {
console.log(`Connected to ${process.env.MQTT}`);
// mqttClient.publish("door/lock", JSON.stringify({ deviceId: 2, lock: true }));
// setTimeout(() => {
// mqttClient.publish("door/lock", JSON.stringify({ deviceId: 2, lock: false }));
// }, 3000);
console.log(StateManager.alarmStatus);
mqttClient.publish("alarm/state", JSON.stringify({ status: StateManager.alarmStatus }));
// mqttClient.publish("alarm/state", JSON.stringify({ status: "Triggered" }));
// setTimeout(() => {
// mqttClient.publish("alarm/state", JSON.stringify({ status: "Arming" }));
// }, 5000);
});
mqttClient.subscribe("motion");
// mqttClient.subscribe("sound");
mqttClient.subscribe("temperature");
mqttClient.subscribe("light");
mqttClient.subscribe("door/status");
mqttClient.subscribe("display/arm");
mqttClient.subscribe("display/disarm");
module.exports = mqttClient;