aboutsummaryrefslogtreecommitdiff
path: root/include/pio/libs/mqtt_module_temphum/homekit/mqtt/module/temphum.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/pio/libs/mqtt_module_temphum/homekit/mqtt/module/temphum.cpp')
-rw-r--r--include/pio/libs/mqtt_module_temphum/homekit/mqtt/module/temphum.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/pio/libs/mqtt_module_temphum/homekit/mqtt/module/temphum.cpp b/include/pio/libs/mqtt_module_temphum/homekit/mqtt/module/temphum.cpp
new file mode 100644
index 0000000..409f38f
--- /dev/null
+++ b/include/pio/libs/mqtt_module_temphum/homekit/mqtt/module/temphum.cpp
@@ -0,0 +1,23 @@
+#include "temphum.h"
+
+namespace homekit::mqtt {
+
+static const char TOPIC_TEMPHUM_DATA[] = "temphum/data";
+
+void MqttTemphumModule::onConnect(Mqtt &mqtt) {}
+
+void MqttTemphumModule::tick(homekit::mqtt::Mqtt& mqtt) {
+ if (!tickElapsed())
+ return;
+
+ temphum::SensorData sd = sensor->read();
+ MqttTemphumPayload payload {
+ .temp = sd.temp,
+ .rh = sd.rh,
+ .error = sd.error
+ };
+
+ mqtt.publish(TOPIC_TEMPHUM_DATA, reinterpret_cast<uint8_t*>(&payload), sizeof(payload));
+}
+
+}