Example #1
0
        public async Task SetVisualOverride(VisualOverride @override, int?interval = null)
        {
            var nextInterval = interval ?? CurrentInterval;

            var cmd = SetOverrideCommand.Create(@override, nextInterval);
            await Sender.SendCommand(cmd);

            CurrentOverride = @override;
            CurrentInterval = nextInterval;

            VisualOverrideChanged?.Invoke(
                this,
                VisualOverrideChangedEventArgs.Create(@override));
        }
Example #2
0
        public void OnMessage(UdpReceiveResult msg)
        {
            var kind = (CommandKind)msg.Buffer[0];

            ILightSwitchCommand command = null;

            switch (kind)
            {
            case CommandKind.SetOverrideMode:
                command = SetOverrideCommand.FromBuffer(msg.Buffer);
                break;
            }

            if (command != null)
            {
                OnCommand?.Invoke(command);
            }
        }