diff options
Diffstat (limited to 'pio')
-rw-r--r-- | pio/dumb_mqtt/src/main.cpp | 12 | ||||
-rw-r--r-- | pio/relayctl/src/main.cpp | 35 | ||||
-rw-r--r-- | pio/temphum/src/main.cpp | 42 | ||||
-rw-r--r-- | pio/temphum_relayctl/src/main.cpp | 51 |
4 files changed, 140 insertions, 0 deletions
diff --git a/pio/dumb_mqtt/src/main.cpp b/pio/dumb_mqtt/src/main.cpp new file mode 100644 index 0000000..eefc165 --- /dev/null +++ b/pio/dumb_mqtt/src/main.cpp @@ -0,0 +1,12 @@ +#include <Arduino.h> +#include <homekit/main.h> + +using namespace homekit; + +void setup() { + main::setup(); +} + +void loop() { + main::loop(nullptr); +} diff --git a/pio/relayctl/src/main.cpp b/pio/relayctl/src/main.cpp new file mode 100644 index 0000000..c399641 --- /dev/null +++ b/pio/relayctl/src/main.cpp @@ -0,0 +1,35 @@ +#include <Arduino.h> +#include <Wire.h> +#include <homekit/main.h> +#include <homekit/mqtt/mqtt.h> +#include <homekit/mqtt/module/relay.h> +#include <homekit/relay.h> + +using namespace homekit; +using main::LoopConfig; +using mqtt::Mqtt; +using mqtt::MqttRelayModule; + +MqttRelayModule* mqttRelayModule = nullptr; + +static void onMqttCreated(Mqtt& mqtt); + +LoopConfig loopConfig = { + .onMqttCreated = onMqttCreated +}; + +void setup() { + main::setup(); + relay::init(); +} + +void loop() { + main::loop(&loopConfig); +} + +static void onMqttCreated(Mqtt& mqtt) { + if (mqttRelayModule == nullptr) { + mqttRelayModule = new MqttRelayModule(); + mqtt.addModule(mqttRelayModule); + } +}
\ No newline at end of file diff --git a/pio/temphum/src/main.cpp b/pio/temphum/src/main.cpp new file mode 100644 index 0000000..2df8638 --- /dev/null +++ b/pio/temphum/src/main.cpp @@ -0,0 +1,42 @@ +#include <Arduino.h> +#include <Wire.h> +#include <homekit/main.h> +#include <homekit/mqtt/mqtt.h> +#include <homekit/mqtt/module/temphum.h> +#include <homekit/temphum.h> + +using namespace homekit; +using main::LoopConfig; +using mqtt::Mqtt; +using mqtt::MqttTemphumModule; + +temphum::Sensor* sensor = nullptr; +MqttTemphumModule* mqttTemphumModule = nullptr; + +static void onMqttCreated(Mqtt& mqtt); + +LoopConfig loopConfig = { + .onMqttCreated = onMqttCreated +}; + +void setup() { + main::setup(); + +#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); + mqtt.addModule(mqttTemphumModule); + } +}
\ No newline at end of file diff --git a/pio/temphum_relayctl/src/main.cpp b/pio/temphum_relayctl/src/main.cpp new file mode 100644 index 0000000..7f0945e --- /dev/null +++ b/pio/temphum_relayctl/src/main.cpp @@ -0,0 +1,51 @@ +#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(); + relay::off(); + +#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 |