Implement DALI Gateway Cache with State Management and Reconciliation

- Added DaliGatewayCache class for managing DALI device states, including address states, presence, and group statuses.
- Implemented methods for configuring cache, enabling/disabling features, and setting status update callbacks.
- Introduced state encoding/decoding for persistence and added support for CSV parsing.
- Created mutation handling for runtime status updates, group masks, scene levels, and settings.
- Developed reconciliation logic to handle incoming frames and classify mutations.
- Added tests to validate cache functionality, persistence, and DALI protocol handling.

Signed-off-by: Tony <tonylu@tony-cloud.com>
This commit is contained in:
Tony
2026-08-01 01:52:12 +08:00
parent d49f580ab6
commit c5a079e779
11 changed files with 1748 additions and 35 deletions
+3 -1
View File
@@ -15,6 +15,7 @@
#include "dt6.hpp"
#include "dt8.hpp"
#include "addr.hpp"
#include "dali_gateway.hpp"
#include "gateway_cloud.hpp"
#include "gateway_provisioning.hpp"
#include "color.hpp"
@@ -27,7 +28,8 @@
#include <memory>
#include <string>
// Convenience umbrella header for the ESP-IDF DALI component.
// Convenience umbrella header for the complete ESP-IDF DALI component.
// Platform-neutral gateway adapters can include dali_gateway.hpp directly.
class Dali {
public: