From 0cdf58d99b67fc36117b14f4c0b617fcc70506a4 Mon Sep 17 00:00:00 2001 From: Nicu Hodos Date: Thu, 16 May 2024 10:37:11 +0200 Subject: [PATCH] fine tunning: - use namespace for oil tank builders - use factory method for creating DeviceConfig - use C's strcmp for comparing strings - split parsing of incoming RCSwitch states --- gateway/include/ha.h | 5 ++++- gateway/include/mqtt.h | 9 ++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/gateway/include/ha.h b/gateway/include/ha.h index ad354ff..c8a4f33 100644 --- a/gateway/include/ha.h +++ b/gateway/include/ha.h @@ -19,7 +19,10 @@ namespace Ha { DeviceConfig* parent = nullptr; DeviceConfig(const char* id) : id(id) {} - DeviceConfig(DeviceConfig& d) : id(d.id), name(d.name), model(d.model), manufacturer(d.manufacturer), area(d.area), parent(d.parent) {} + + static DeviceConfig* create(const char* id) { + return new DeviceConfig{ id }; + } void buildConfig(JsonDocument& jsonDoc) { JsonObject device = jsonDoc.createNestedObject("device"); diff --git a/gateway/include/mqtt.h b/gateway/include/mqtt.h index a10e07e..bfa5bcc 100644 --- a/gateway/include/mqtt.h +++ b/gateway/include/mqtt.h @@ -12,12 +12,11 @@ namespace Mqtt { AsyncMqttClient client; - void publishInit(); - void disconnect(); Task tReConnect(5 * TASK_MINUTE, TASK_FOREVER, []() { Serial.println("Connecting to MQTT..."); client.connect(); }, &ts); + void publishInit(); Task tPublishInit(TASK_IMMEDIATE, TASK_ONCE, publishInit, &ts); const char* mainTopic = "homeassistant/+/rc-gateway/#"; @@ -34,7 +33,7 @@ namespace Mqtt { Command* commands[] = { Builder