From b02a9c5473267da88a9182a5b06753f62b689042 Mon Sep 17 00:00:00 2001 From: Evgeny Zinoviev Date: Tue, 30 May 2023 01:07:42 +0300 Subject: platformio: add 'temphum_relayctl' product --- platformio/temphum_relayctl/src/main.cpp | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 platformio/temphum_relayctl/src/main.cpp diff --git a/platformio/temphum_relayctl/src/main.cpp b/platformio/temphum_relayctl/src/main.cpp new file mode 100644 index 0000000..0b05316 --- /dev/null +++ b/platformio/temphum_relayctl/src/main.cpp @@ -0,0 +1,50 @@ +#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); + } +} \ No newline at end of file -- cgit v1.2.3