feat: unique status requests for messengers

UI Applications can now request status for specific feature sets instead of full status for a device. This will hopefully cut down on the traffic and messages required to get the data for the UI.
This commit is contained in:
Andrew Welker
2025-09-23 10:55:16 -05:00
parent cae1bbd6e6
commit 9c9eaea928
45 changed files with 619 additions and 425 deletions

View File

@@ -33,16 +33,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
{
base.RegisterActions();
AddAction("/fullStatus", (id, content) =>
{
var message = new CurrentSourcesStateMessage
{
CurrentSourceKeys = sourceDevice.CurrentSourceKeys,
CurrentSources = sourceDevice.CurrentSources
};
AddAction("/fullStatus", (id, content) => SendCurrentSourceStatus(id));
PostStatusMessage(message);
});
AddAction("/currentSourceStatus", (id, content) => SendCurrentSourceStatus(id));
sourceDevice.CurrentSourcesChanged += (sender, e) =>
{
@@ -53,6 +46,17 @@ namespace PepperDash.Essentials.AppServer.Messengers
}));
};
}
private void SendCurrentSourceStatus(string id = null)
{
var message = new CurrentSourcesStateMessage
{
CurrentSourceKeys = sourceDevice.CurrentSourceKeys,
CurrentSources = sourceDevice.CurrentSources
};
PostStatusMessage(message, id);
}
}
/// <summary>