public async Task SendAsync(string command, object args)
        {
            await WebSocketClient.SendAsync(Serialize(command, args));

            _logger.Trace($"Command {command}, Args={JsonConvert.SerializeObject(args)} sent to device {this}");
        }
 public void Teminate() => WebSocketClient.Dispose();
 public WebSocketRemoteDevice(WebSocketClient client)
 {
     WebSocketClient = client ?? throw new ArgumentNullException(nameof(client));
 }