示例#1
0
        public void CodeShouldBeGeneratedCorrectly_WithUnitBAndTurnOff()
        {
            var generator = new BrennenstuhlCodeSequenceProvider();
            var sequence  = generator.GetSequence(
                BrennenstuhlSystemCode.AllOn,
                BrennenstuhlUnitCode.B,
                RemoteSocketCommand.TurnOff);

            sequence.Codes.Count.ShouldBeEquivalentTo(1);
            sequence.Codes.First().Value.ShouldBeEquivalentTo(4436U);
        }
示例#2
0
        public void CodeShouldBeGeneratedCorrectly_WithUnitCAndTurnOn()
        {
            var generator = new BrennenstuhlCodeSequenceProvider();
            var sequence  =
                generator.GetSequence(
                    BrennenstuhlSystemCode.Switch1 | BrennenstuhlSystemCode.Switch3 | BrennenstuhlSystemCode.Switch5,
                    BrennenstuhlUnitCode.C,
                    RemoteSocketCommand.TurnOn);

            sequence.Codes.Count.ShouldBeEquivalentTo(1);
            sequence.Codes.First().Value.ShouldBeEquivalentTo(1119313U);
        }
示例#3
0
        private RemoteSocketController SetupRemoteSwitchController()
        {
            const int LDP433MhzSenderPin = 10;

            var i2cHardwareBridge = Device <I2CHardwareBridge>();
            var bc = new BrennenstuhlCodeSequenceProvider();
            var ldp433MHzSender = new LPD433MHzSignalSender(i2cHardwareBridge, LDP433MhzSenderPin, HttpApiController);

            var remoteSwitchController = new RemoteSocketController(new DeviceId("RemoteSocketController"), ldp433MHzSender, Timer)
                                         .WithRemoteSocket(0, bc.GetSequence(BrennenstuhlSystemCode.AllOn, BrennenstuhlUnitCode.A, RemoteSocketCommand.TurnOn), bc.GetSequence(BrennenstuhlSystemCode.AllOn, BrennenstuhlUnitCode.A, RemoteSocketCommand.TurnOff));

            return(remoteSwitchController);
        }