#include // https://github.com/marvinroger/homie-esp8266 #include "DeviceLed.h" #include "DeviceLdr.h" #include "DeviceDht.h" #undef HAS_LDR #undef HAS_LED #define HAS_DHT // HAS_LED #define PIN_LED_RED D8 #define PIN_LED_GREEN D6 #define PIN_LED_BLUE D7 DeviceLed deviceLed(PIN_LED_RED, PIN_LED_GREEN, PIN_LED_BLUE); // HAS_LDR #define PIN_LDR A0 DeviceLdr deviceLdr(PIN_LDR); // HAS_DHT #define PIN_DHT D4 #define TYPE_DHT DHT22 DeviceDht deviceDht(PIN_DHT, TYPE_DHT); void setupHandler() { #ifdef HAS_LDR deviceLdr.setup(); #endif #ifdef HAS_LED deviceLed.setup(); #endif #ifdef HAS_DHT deviceDht.setup(); #endif } void loopHandler() { #ifdef HAS_LDR deviceLdr.loop(); #endif #ifdef HAS_LED deviceLed.loop(); #endif #ifdef HAS_DHT deviceDht.loop(); #endif } void setup() { Homie.setFirmware("things", "1.0.0"); #ifdef HAS_LDR deviceLdr.homieRegister(); #endif #ifdef HAS_LED deviceLed.homieRegister(); #endif #ifdef HAS_DHT deviceDht.homieRegister(); #endif Homie.setSetupFunction(setupHandler); Homie.setLoopFunction(loopHandler); Homie.setup(); } void loop() { Homie.loop(); }