aboutsummaryrefslogtreecommitdiff
path: root/platformio/common/libs/mqtt_module_temphum/homekit/mqtt/module/temphum.cpp
blob: 409f38f4e4a65d143195baf1e1d8d768f3196f3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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));
}

}