aboutsummaryrefslogtreecommitdiff
path: root/src/lib/helpers/device.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/helpers/device.ts')
-rw-r--r--src/lib/helpers/device.ts20
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)
+}