platformio: add 'temphum_relayctl' product
This commit is contained in:
parent
d1435e2b1a
commit
b02a9c5473
50
platformio/temphum_relayctl/src/main.cpp
Normal file
50
platformio/temphum_relayctl/src/main.cpp
Normal file
@ -0,0 +1,50 @@
|
||||
#include <Arduino.h>
|
||||
#include <Wire.h>
|
||||
#include <homekit/main.h>
|
||||
#include <homekit/mqtt/mqtt.h>
|
||||
#include <homekit/mqtt/module/temphum.h>
|
||||
#include <homekit/mqtt/module/relay.h>
|
||||
#include <homekit/temphum.h>
|
||||
#include <homekit/relay.h>
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user