Skip to content

Commit b7a6242

Browse files
committed
Optimize MQTT subscription handling and remove unused getNames method from DeviceService
1 parent d77a477 commit b7a6242

4 files changed

Lines changed: 3 additions & 29 deletions

File tree

firmware/include/extensions/MqttExtension.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ class MqttExtension : public ExtensionModule
1414
static inline bool subscribed = false;
1515

1616
static constexpr size_t
17-
prefixLength = sizeof("frekvens/" HOSTNAME),
18-
suffixLength = sizeof("set");
17+
prefixLength = sizeof("frekvens/" HOSTNAME "/") - 1,
18+
suffixLength = sizeof("/set") - 1;
1919

2020
static void onConnect(bool sessionPresent);
2121
static void onDisconnect(espMqttClientTypes::DisconnectReason reason);

firmware/include/services/DeviceService.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ class DeviceService : public ServiceModule
3232
void transmit(JsonDocument doc, const char *const source, bool retain = true);
3333
void receive(const JsonDocument doc, const char *const source, const char *const destination);
3434

35-
const std::vector<const char *> getNames() const;
3635
const JsonDocument getTransmits() const;
3736

3837
static DeviceService &getInstance();

firmware/src/extensions/MqttExtension.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,7 @@ void MqttExtension::onConnect(bool sessionPresent)
6464
ESP_LOGD(Mqtt->name, "connected");
6565
if (!sessionPresent || (!subscribed && esp_sleep_get_wakeup_cause() == esp_sleep_source_t::ESP_SLEEP_WAKEUP_UNDEFINED))
6666
{
67-
for (const char *const _name : Device.getNames())
68-
{
69-
Mqtt->client.subscribe(std::string("frekvens/" HOSTNAME "/").append(_name).append("/set").c_str(), 2);
70-
}
67+
Mqtt->client.subscribe("frekvens/" HOSTNAME "/+/set", 2);
7168
subscribed = true;
7269
}
7370
Mqtt->client.publish("frekvens/" HOSTNAME "/availability", 1, true, "online");

firmware/src/services/DeviceService.cpp

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -227,28 +227,6 @@ void DeviceService::restore()
227227
esp_deep_sleep_start();
228228
}
229229

230-
const std::vector<const char *> DeviceService::getNames() const
231-
{
232-
std::vector<const char *> modules = {
233-
Device.name,
234-
Display.name,
235-
Extensions.name,
236-
Fonts.name,
237-
Modes.name,
238-
Connectivity.name,
239-
WebServer.name,
240-
};
241-
for (const ExtensionModule *extension : Extensions.getAll())
242-
{
243-
modules.push_back(extension->name);
244-
}
245-
for (const ModeModule *mode : Modes.getAll())
246-
{
247-
modules.push_back(mode->name);
248-
}
249-
return modules;
250-
}
251-
252230
const JsonDocument DeviceService::getTransmits() const
253231
{
254232
return transmits;

0 commit comments

Comments
 (0)