Exemplo n.º 1
0
        public async Task OnDeviceStatus(DeviceStatus deviceStatus)
        {
            try
            {
                var dr = GetDeviceRuntime(deviceStatus.Key);
                if (dr != null)
                {
                    try
                    {
                        dr.Status = deviceStatus;
                        var dto = deviceStatus.ToDTO(dr);
                        await this.playHub.Clients.All.SendDeviceStatus(dto);

                        log.Debug($"{dr.DisplayName}, {deviceStatus.ToString()}");
                    }
                    catch (Exception xe)
                    {
                        log.Error(xe);
                    }
                }
                else
                {
                    log.Debug($"Update received from device {deviceStatus.Key}, state {deviceStatus.State} - not found in device run time");
                }
            }
            catch (Exception xe)
            {
                log.Error(xe);
            }
        }