From 07e4eca14a14c4fc6c5b46e93adce1ee9defd488 Mon Sep 17 00:00:00 2001 From: Kyle Schwarz Date: Mon, 17 Aug 2026 15:28:04 -0400 Subject: [PATCH] Heartbeat: Include DeviceStatus --- api/icsneocpp/heartbeat.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/api/icsneocpp/heartbeat.cpp b/api/icsneocpp/heartbeat.cpp index 56d5148..9bce792 100644 --- a/api/icsneocpp/heartbeat.cpp +++ b/api/icsneocpp/heartbeat.cpp @@ -20,9 +20,16 @@ Heartbeat::~Heartbeat() { void Heartbeat::run() { EventManager::GetInstance().downgradeErrorsOnCurrentThread(); - auto filter = std::make_shared(Message::Type::ResetStatus); + auto filter = std::make_shared(); + filter->includeInternalInAny = true; bool status = false; - auto cbHandle = device.com->addMessageCallback(std::make_shared(filter, [&](std::shared_ptr) { + auto cbHandle = device.com->addMessageCallback(std::make_shared(filter, [&](std::shared_ptr msg) { + // TODO: remove DeviceStatus after 2027-08-17, as ResetStatus should be widely supported + const bool isHeartbeat = + (msg->type == Message::Type::ResetStatus) || + (msg->type == Message::Type::RawMessage && std::static_pointer_cast(msg)->network == Network::NetID::DeviceStatus); + if(!isHeartbeat) + return; { std::lock_guard lk(mutex); status = true;