diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/helpers/device.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/helpers/device.ts b/src/lib/helpers/device.ts new file mode 100644 index 0000000..42076cb --- /dev/null +++ b/src/lib/helpers/device.ts @@ -0,0 +1,20 @@ +// +// ~~~ device helper utilities +// + +// imports +import { sendMessage } from "@lib/mqtt.ts" +import allDevices from "@lib/config/devices.ts" + +// set state +export async function setState(device, state) { + + const deviceInfo = allDevices.find((dev) => dev.id === device) + + if (!deviceInfo) return false + + const deviceTopic = `${deviceInfo.mqtt}/set` + const deviceMessage = JSON.stringify({ "state": state }) + + return sendMessage(deviceTopic, deviceMessage) +} |
