Beispiel #1
0
        private void ProcessCommand(object?sender, DreamScreenClient.MessageEventArgs e)
        {
            Log.Debug("Incoming command from DS: " + e.Response.Type);
            if (_dDev == null)
            {
                return;
            }

            if (e.Response.Group == TargetGroup || e.Response.Group == _dDev.DeviceGroup)
            {
                switch (e.Response.Type)
                {
                case MessageType.Mode:
                    var mode = (DeviceMode)int.Parse(e.Response.Payload.ToString());
                    if (mode == DeviceMode.Video || mode == DeviceMode.Ambient)
                    {
                        _cs.ControlService.SetMode(GlimmrMode.DreamScreen).ConfigureAwait(false);
                    }

                    if (mode == DeviceMode.Ambient)
                    {
                        _cs.ControlService.SetMode(GlimmrMode.Ambient).ConfigureAwait(false);
                    }

                    if (mode == DeviceMode.Off)
                    {
                        _cs.ControlService.SetMode(GlimmrMode.Off).ConfigureAwait(false);
                    }

                    break;

                case MessageType.AmbientModeType:
                    _cs.ControlService.SetMode(GlimmrMode.Ambient).ConfigureAwait(false);
                    break;
                }
            }
            else
            {
                Log.Debug($"{TargetGroup} doesn't match {e.Response.Group} or {_dDev.DeviceGroup} command from " +
                          e.Response.Target);
            }
        }
Beispiel #2
0
 private static void LogCommand(object?sender, DreamScreenClient.MessageEventArgs e)
 {
     Console.WriteLine($"We got us a command from {e.Response.Target}: " + e.Response.Type);
 }