示例#1
0
        public override void SetState(ComponentState state, params IHardwareParameter[] parameters)
        {
            if (state == null)
            {
                throw new ArgumentNullException(nameof(state));
            }

            if (state.Equals(RollerShutterStateId.Off) || _state.Equals(state))
            {
                _endpoint.Stop(parameters);
            }
            else if (state.Equals(RollerShutterStateId.MovingUp))
            {
                _endpoint.StartMoveUp(parameters);
                RestartTracking();
            }
            else if (state.Equals(RollerShutterStateId.MovingDown))
            {
                _endpoint.StartMoveDown(parameters);
                RestartTracking();
            }

            var oldState = _state;

            _state = state;

            OnActiveStateChanged(oldState, _state);
        }
示例#2
0
        public ComponentState GetNextState(ComponentState baseStateId)
        {
            if (baseStateId.Equals(BinaryStateId.Off))
            {
                return(BinaryStateId.On);
            }

            if (baseStateId.Equals(BinaryStateId.On))
            {
                return(BinaryStateId.Off);
            }

            throw new StateNotSupportedException(baseStateId);
        }
        public ComponentState GetNextState(ComponentState baseStateId)
        {
            if (baseStateId.Equals(BinaryStateId.Off))
            {
                return BinaryStateId.On;
            }

            if (baseStateId.Equals(BinaryStateId.On))
            {
                return BinaryStateId.Off;
            }

            throw new StateNotSupportedException(baseStateId);
        }
        public void State_NotEquals_State()
        {
            var state1 = new ComponentState("Off");
            var state2 = new ComponentState("On");

            state1.Equals(state2).ShouldBeEquivalentTo(false);
        }
        public void UnknownState_NotEquals_DifferentState()
        {
            var state1 = new ComponentState(null);
            var state2 = new ComponentState(5);

            state1.Equals(state2).ShouldBeEquivalentTo(false);
        }
示例#6
0
        public void NumericState_NotEquals_NumericState()
        {
            var state1 = new ComponentState(5);
            var state2 = new ComponentState(6);

            state1.Equals(state2).ShouldBeEquivalentTo(false);
        }
示例#7
0
        public void State_NotEquals_State()
        {
            var state1 = new ComponentState("Off");
            var state2 = new ComponentState("On");

            state1.Equals(state2).ShouldBeEquivalentTo(false);
        }
示例#8
0
        public void UnknownState_NotEquals_DifferentState()
        {
            var state1 = new ComponentState(null);
            var state2 = new ComponentState(5);

            state1.Equals(state2).ShouldBeEquivalentTo(false);
        }
示例#9
0
        public void UnknownState_Equals_UnknownState()
        {
            var state1 = new ComponentState(null);
            var state2 = new ComponentState(null);

            state1.Equals(state2).ShouldBeEquivalentTo(true);
        }
        public void UnknownState_Equals_UnknownState()
        {
            var state1 = new ComponentState(null);
            var state2 = new ComponentState(null);

            state1.Equals(state2).ShouldBeEquivalentTo(true);
        }
        public void NumericState_NotEquals_NumericState()
        {
            var state1 = new ComponentState(5);
            var state2 = new ComponentState(6);

            state1.Equals(state2).ShouldBeEquivalentTo(false);
        }
示例#12
0
        protected void SetState(ComponentState newState)
        {
            if (newState.Equals(_state))
            {
                return;
            }

            var oldValue = _state;
            _state = newState;

            OnActiveStateChanged(oldValue, newState);
        }
示例#13
0
文件: SensorBase.cs 项目: v1ku/HA4IoT
        protected void SetState(ComponentState newState)
        {
            if (newState.Equals(_state))
            {
                return;
            }

            var oldValue = _state;

            _state = newState;

            OnActiveStateChanged(oldValue, newState);
        }
 private static void HandleBlindButtonPressedEvent(IRollerShutter rollerShutter, ComponentState direction)
 {
     if (direction.Equals(RollerShutterStateId.MovingUp) && rollerShutter.GetState().Equals(RollerShutterStateId.MovingUp))
     {
         rollerShutter.SetState(RollerShutterStateId.Off);
     }
     else if (direction.Equals(RollerShutterStateId.MovingDown) && rollerShutter.GetState().Equals(RollerShutterStateId.MovingDown))
     {
         rollerShutter.SetState(RollerShutterStateId.Off);
     }
     else if (direction.Equals(RollerShutterStateId.MovingDown))
     {
         rollerShutter.SetState(RollerShutterStateId.MovingDown);
     }
     else if (direction.Equals(RollerShutterStateId.MovingUp))
     {
         rollerShutter.SetState(RollerShutterStateId.MovingUp);
     }
     else
     {
         throw new InvalidOperationException();
     }
 }
示例#15
0
 private static void HandleBlindButtonPressedEvent(IRollerShutter rollerShutter, ComponentState direction)
 {
     if (direction.Equals(RollerShutterStateId.MovingUp) && rollerShutter.GetState().Equals(RollerShutterStateId.MovingUp))
     {
         rollerShutter.SetState(RollerShutterStateId.Off);
     }
     else if (direction.Equals(RollerShutterStateId.MovingDown) && rollerShutter.GetState().Equals(RollerShutterStateId.MovingDown))
     {
         rollerShutter.SetState(RollerShutterStateId.Off);
     }
     else if (direction.Equals(RollerShutterStateId.MovingDown))
     {
         rollerShutter.SetState(RollerShutterStateId.MovingDown);
     }
     else if (direction.Equals(RollerShutterStateId.MovingUp))
     {
         rollerShutter.SetState(RollerShutterStateId.MovingUp);
     }
     else
     {
         throw new InvalidOperationException();
     }
 }
示例#16
0
        private void UpdateState(ComponentState newState)
        {
            if (!Settings.IsEnabled)
            {
                return;
            }

            SetState(newState);

            if (newState.Equals(MotionDetectorStateId.MotionDetected))
            {
                OnMotionDetected();
            }
            else
            {
                OnDetectionCompleted();
            }
        }
示例#17
0
        public override void SetState(ComponentState state, params IHardwareParameter[] parameters)
        {
            if (state == null) throw new ArgumentNullException(nameof(state));

            if (state.Equals(RollerShutterStateId.Off) || _state.Equals(state))
            {
                _endpoint.Stop(parameters);
            }
            else if (state.Equals(RollerShutterStateId.MovingUp))
            {
                _endpoint.StartMoveUp(parameters);
                RestartTracking();
            }
            else if (state.Equals(RollerShutterStateId.MovingDown))
            {
                _endpoint.StartMoveDown(parameters);
                RestartTracking();
            }

            var oldState = _state;
            _state = state;

            OnActiveStateChanged(oldState, _state);
        }
        private void UpdateState(ComponentState newState)
        {
            if (!Settings.IsEnabled)
            {
                return;
            }

            SetState(newState);

            if (newState.Equals(MotionDetectorStateId.MotionDetected))
            {
                OnMotionDetected();
            }
            else
            {
                OnDetectionCompleted();
            }
        }