Example #1
0
        private void SetStateInternal(PowerStateValue powerState, ColorState colorState, bool forceUpdate = false)
        {
            if (colorState == null)
            {
                if (!forceUpdate && _powerState == powerState)
                {
                    return;
                }
            }
            else if (!forceUpdate && _powerState == powerState && colorState.Equals(_colorState))
            {
                return;
            }

            var oldState = GetState();

            var parameters = forceUpdate ? new IHardwareParameter[] { HardwareParameter.ForceUpdateState } : new IHardwareParameter[0];

            if (powerState == PowerStateValue.On)
            {
                _adapter.SetState(AdapterPowerState.On, GenerateAdapterColor(colorState), parameters);
            }
            else if (powerState == PowerStateValue.Off)
            {
                _adapter.SetState(AdapterPowerState.Off, GenerateAdapterColor(colorState), parameters);
            }

            _powerState = powerState;
            _colorState = colorState;

            OnStateChanged(oldState);
        }
Example #2
0
        private void Stop()
        {
            var oldState = GetState();

            _adapter.SetState(AdapterRollerShutterState.Stop);

            _powerState          = PowerStateValue.Off;
            _verticalMovingState = VerticalMovingStateValue.Stopped;
            _autoOffTimeout.Stop();

            OnStateChanged(oldState);
        }
Example #3
0
        private void MoveDown()
        {
            var oldState = GetState();

            _adapter.SetState(AdapterRollerShutterState.MoveDown);

            _powerState          = PowerStateValue.On;
            _verticalMovingState = VerticalMovingStateValue.MovingDown;
            _autoOffTimeout.Start(Settings.AutoOffTimeout);

            OnStateChanged(oldState);
        }
Example #4
0
        private void MoveUp(bool forceUpdate = false)
        {
            var oldState = GetState();

            if (forceUpdate)
            {
                _adapter.SetState(AdapterRollerShutterState.MoveUp, HardwareParameter.ForceUpdateState);
            }
            else
            {
                _adapter.SetState(AdapterRollerShutterState.MoveUp);
            }

            _powerState          = PowerStateValue.On;
            _verticalMovingState = VerticalMovingStateValue.MovingUp;
            _autoOffTimeout.Start(Settings.AutoOffTimeout);

            OnStateChanged(oldState);
        }
Example #5
0
        private void SetStateInternal(PowerStateValue powerState, bool forceUpdate = false)
        {
            if (!forceUpdate && _powerState == powerState)
            {
                return;
            }

            var oldState = GetState();

            var parameters = forceUpdate ? new IHardwareParameter[] { HardwareParameter.ForceUpdateState } : new IHardwareParameter[0];

            if (powerState == PowerStateValue.On)
            {
                _adapter.SetState(AdapterPowerState.On, parameters);
            }
            else if (powerState == PowerStateValue.Off)
            {
                _adapter.SetState(AdapterPowerState.Off, parameters);
            }

            _powerState = powerState;

            OnStateChanged(oldState);
        }