#include #include #include #include #include #include #include #include using namespace homekit; using main::LoopConfig; using mqtt::Mqtt; using mqtt::MqttTemphumModule; using mqtt::MqttRelayModule; temphum::Sensor* sensor = nullptr; MqttTemphumModule* mqttTemphumModule = nullptr; MqttRelayModule* mqttRelayModule = nullptr; static void onMqttCreated(Mqtt& mqtt); LoopConfig loopConfig = { .onMqttCreated = onMqttCreated }; void setup() { main::setup(); relay::init(); #if CONFIG_MODULE == HOMEKIT_SI7021 sensor = new temphum::Si7021(); #elif CONFIG_MODULE == HOMEKIT_DHT12 sensor = new temphum::DHT12(); #endif sensor->setup(); } void loop() { main::loop(&loopConfig); } static void onMqttCreated(Mqtt& mqtt) { if (mqttTemphumModule == nullptr) { mqttTemphumModule = new MqttTemphumModule(sensor); mqttRelayModule = new MqttRelayModule(); mqtt.addModule(mqttTemphumModule); mqtt.addModule(mqttRelayModule); } }