Exemplo n.º 1
0
        private static async Task switchAllRelays(EthRlyDevice device, bool newState)
        {
            device.SetAllRelays(newState);
            var states = await device.GetRelaysStatesAsync();

            Assert.True(states.All(state => !state));
        }
Exemplo n.º 2
0
        public async Task FullTest()
        {
            var expectedFirmwareVersion = 7;
            var expectedMacAddress      = new byte[] { 0, 4, 163, 72, 186, 44 };

            var options = new Options("192.168.1.150");
            var device  = new EthRlyDevice(options);

            await switchAllRelays(device, false);
            await switchAllRelaysOneByOne(device, true);
            await switchAllRelaysOneByOne(device, false);
            await switchAllRelays(device, true);
            await toggleAllRelays(device);

            var voltage = await device.GetVoltageAsync();

            var firmwareVersion = await device.GetFirmwareVersionAsync();

            var macAddress = await device.GetMacAddressAsync();

            var relayStates = await device.GetRelaysStatesAsync();

            Assert.Equal(expectedFirmwareVersion, firmwareVersion);
            Assert.True(voltage > 0);
            Assert.True(expectedMacAddress.SequenceEqual(macAddress));
            Assert.True(relayStates.All(state => !state));
        }
Exemplo n.º 3
0
        private static async Task switchAllRelaysOneByOne(EthRlyDevice device, bool newState)
        {
            for (int address = 0; address < 8; address++)
            {
                device.SetRelayState(address, newState);
                var state = await device.GetRelayStateAsync(address);

                Assert.False(state);
            }
        }
Exemplo n.º 4
0
        private static async Task toggleAllRelays(EthRlyDevice device)
        {
            for (int address = 0; address < 8; address++)
            {
                var beforeState = await device.GetRelayStateAsync(address);

                await device.ToggleRelayStateAsync(address);

                var afterState = await device.GetRelayStateAsync(address);

                Assert.False(beforeState == afterState);
            }
        }
Exemplo n.º 5
0
        private void setupEthrly()
        {
            var options = new Options(
                Config.Ethrly.Hostname,
                Config.Ethrly.Port,
                Config.Ethrly.Timeout,
                Token)
            {
                DelayBetweenCommands = Config.Ethrly.DelayBetweenCommands,
                CommandQueueLength   = Config.Ethrly.CommandQueueLength,
                RelayCount           = Config.Ethrly.RelayCount
            };

            Ethrly = new EthRlyDevice(options);
        }