public override async Task SendToPlugin(StreamDeckSendToPluginEventMessage message)
        {
            var messageEvent = message.Payload["event"];

            if (messageEvent?.Value <string>() != "getDevices")
            {
                return;
            }

            var devices = await Controller.GetDevicesAsync(DeviceType.Playback);

            var responseDevices = new JArray(devices.OrderBy(d => d.FullName).Select(d => new JObject
            {
                { "id", d.Id.ToString() },
                { "displayName", d.FullName },
                { "active", (d.State & DeviceState.Active) > 0 }
            }));

            var response = new JObject
            {
                { "event", "getDevices" },
                { "devices", responseDevices }
            };

            await Client.SendToPropertyInspector(message.Action, response);
        }
 /// <inheritdoc />
 public virtual Task SendToPlugin(StreamDeckSendToPluginEventMessage message)
 {
     return(Task.CompletedTask);
 }