summaryrefslogtreecommitdiff
path: root/pio/relayctl/src
diff options
context:
space:
mode:
Diffstat (limited to 'pio/relayctl/src')
-rw-r--r--pio/relayctl/src/main.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/pio/relayctl/src/main.cpp b/pio/relayctl/src/main.cpp
new file mode 100644
index 0000000..c399641
--- /dev/null
+++ b/pio/relayctl/src/main.cpp
@@ -0,0 +1,35 @@
+#include <Arduino.h>
+#include <Wire.h>
+#include <homekit/main.h>
+#include <homekit/mqtt/mqtt.h>
+#include <homekit/mqtt/module/relay.h>
+#include <homekit/relay.h>
+
+using namespace homekit;
+using main::LoopConfig;
+using mqtt::Mqtt;
+using mqtt::MqttRelayModule;
+
+MqttRelayModule* mqttRelayModule = nullptr;
+
+static void onMqttCreated(Mqtt& mqtt);
+
+LoopConfig loopConfig = {
+ .onMqttCreated = onMqttCreated
+};
+
+void setup() {
+ main::setup();
+ relay::init();
+}
+
+void loop() {
+ main::loop(&loopConfig);
+}
+
+static void onMqttCreated(Mqtt& mqtt) {
+ if (mqttRelayModule == nullptr) {
+ mqttRelayModule = new MqttRelayModule();
+ mqtt.addModule(mqttRelayModule);
+ }
+} \ No newline at end of file