public void StoresPortInProperty()
        {
            string host            = nameof(host);
            int    port            = IPEndPoint.MinPort;
            string gatewayPassword = nameof(gatewayPassword);
            string privatePassword = nameof(privatePassword);

            var reader = new BuderusKm200Reader(host, port, gatewayPassword, privatePassword);

            reader.Port.Should().Be(port);
        }
        public void ThrowsIfPrivatePasswordIsNullOrWhitespace(string privatePassword)
        {
            string host            = nameof(host);
            int    port            = IPEndPoint.MinPort;
            string gatewayPassword = nameof(gatewayPassword);

            Action act = () => _ = new BuderusKm200Reader(host, port, gatewayPassword, privatePassword);

            act.Should().Throw <ArgumentException>()
            .WithMessage("*invalid*private*password*")
            .And.ParamName.Should().Be("privatePassword");
        }
        public void ThrowsIfPortIsOutOfRange(int port)
        {
            string host            = nameof(host);
            string gatewayPassword = nameof(gatewayPassword);
            string privatePassword = nameof(privatePassword);

            Action act = () => _ = new BuderusKm200Reader(host, port, gatewayPassword, privatePassword);

            act.Should().Throw <ArgumentOutOfRangeException>()
            .WithMessage("*invalid*port*")
            .And.ParamName.Should().Be("port");
        }
Пример #4
0
        public static void Main(string[] args)
        {
            if (args.Length != 4)
            {
                Console.WriteLine("Usage: <host address> <host port> <gateway password> <private password>");
                return;
            }

            var host            = args[0];
            var port            = int.Parse(args[1]);
            var gatewayPassword = args[2];
            var privatePassword = args[3];
            var reader          = new BuderusKm200Reader(host, port, gatewayPassword, privatePassword);

            var datapointOutdoorTemperature = "/system/sensors/temperatures/outdoor_t1";
            var datapointSystemHealth       = "/system/healthStatus";

            ReadAndShow(reader.ReadDatapointValueAsFloat, datapointOutdoorTemperature);
            ReadAndShow(reader.ReadDatapointValueAsString, datapointSystemHealth);
        }