Beispiel #1
0
        public void Toggle()
        {
            CrestronConsole.PrintLine("Toggle is called");

            var _ison = this.IsOn();

            currentState         = loadState.Toggle;
            expectedMessageCount = 2;

            if (!_ison)
            {
                FullOn();
            }
            else if (_ison)
            {
                Off();
            }

            var hub = MessageHub.Instance;
            LoadToggleOnEvent message = new LoadToggleOnEvent(this);

            message.IsOn = !_ison;

            hub.Publish <LoadToggleOnEvent>(message);
        }
Beispiel #2
0
        public void Off()
        {
            // level = 0;
            _crestronLoad.FullOff();
            _level = 0;

            var hub = MessageHub.Instance;

            LoadToggleOnEvent message = new LoadToggleOnEvent(this);

            message.IsOn = false;

            hub.Publish <LoadToggleOnEvent>(message);
        }
Beispiel #3
0
        public void FullOn()
        {
            //Set Level 100
            //  level = 100;
            _crestronLoad.FullOn();
            _level = 65535;

            var hub = MessageHub.Instance;

            LoadToggleOnEvent message = new LoadToggleOnEvent(this);

            message.IsOn = true;

            hub.Publish <LoadToggleOnEvent>(message);
        }
Beispiel #4
0
        public void SetLevel(ushort level)
        {
            if (_crestronLoad.Type == eLoadType.Switch)
            {
                if (level > 0)
                {
                    FullOn();
                }
                else
                {
                    Off();
                }
            }
            else if (_crestronLoad.Type == eLoadType.Dimmer)
            {
                ((DimmingLoad)_crestronLoad).Level.UShortValue = level;
                _level = level;

                var hub = MessageHub.Instance;

                LoadToggleOnEvent message = new LoadToggleOnEvent(this);
                if (level != 0)
                {
                    message.IsOn = true;
                }
                else
                {
                    message.IsOn = false;
                }

                message.stopwatch.Start();
                hub.Publish <LoadToggleOnEvent>(message);

                //Testing with multiple loads going on

                LoadLevelEvent lmessage = new LoadLevelEvent(this);
                lmessage.Level = level;

                hub.Publish <LoadLevelEvent>(lmessage);
            }

            return;
        }