RFC: Add method to pass arbitrary client system info #1259
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a request-for-comments PR regarding a new feature I would like to add to SnapCast: sending arbitrary system information from SnapCast clients to the server, so that the information can be displayed in SnapWeb.
It adds two new command-line switches to the client:
--sysinfo [file:<path to JSON file>, script:<path to executable returning JSON>]
--sysinfo-interval [seconds - interval in seconds between system information updates]
Any JSON values that are in the specified file or returned by the script will be passed to the SnapCast server. The server then returns this information along with the other client info and also sends an
Client.OnSystemInfoChanged
event via the Websocket.The data is displayed in a dialog similar to the client details. An example implementation for SnapWeb can be found in this branch: https://github.com/mawe42/snapweb/tree/show-system-info
Use-case for this feature is that I want to sent and display information about the battery charge and power consumption of the connected clients, but possibly also other information.
The question here is: would this be something that you would consider for integration in SnapCast?