Beispiel #1
0
        public static async Task Test()
        {
            var endpoint = new IPEndPoint(IPAddress.Parse("192.168.63.3"), 2001);

            using (var client = new HmRpcClient(endpoint))
            {
                var stopwatch = new Stopwatch();

                stopwatch.Start();
                await client.ConnectAsync();

                Console.WriteLine("Connect: {0}ms.", stopwatch.Elapsed.TotalMilliseconds);

                var proxy = new GenericProxy(client);

                var req1 = new Request {
                    Method = "setValue", Parameters = { "HEQ0359881:1", "LEVEL", 1d, "FLOAT" }
                };
                var req2 = new Request {
                    Method = "setValue", Parameters = { "HEQ0359959:1", "LEVEL", 1d, "FLOAT" }
                };
                var req3 = new Request {
                    Method = "setValue", Parameters = { "IEQ0019224:1", "LEVEL", 0d, "FLOAT" }
                };
                var req4 = new Request {
                    Method = "setValue", Parameters = { "IEQ0020290:1", "LEVEL", 0d, "FLOAT" }
                };
                var req5 = new Request {
                    Method = "setValue", Parameters = { "IEQ0020353:1", "LEVEL", 0d, "FLOAT" }
                };

                //var response = await proxy.MultiCall(req1, req2/*, req3, req4, req5*/);

                var req1_ = new Request {
                    Method = "setValue", Parameters = { "HEQ0359881:1", "LEVEL", 0d, "FLOAT" }
                };
                var req2_ = new Request {
                    Method = "setValue", Parameters = { "HEQ0359959:1", "LEVEL", 0d, "FLOAT" }
                };
                var req3_ = new Request {
                    Method = "setValue", Parameters = { "IEQ0019224:1", "LEVEL", 1d, "FLOAT" }
                };
                var req4_ = new Request {
                    Method = "setValue", Parameters = { "IEQ0020290:1", "LEVEL", 1d, "FLOAT" }
                };
                var req5_ = new Request {
                    Method = "setValue", Parameters = { "IEQ0020353:1", "LEVEL", 1d, "FLOAT" }
                };

                //var response_ = await proxy.MultiCall(req1_, req2_, req3_, req4_, req5_);
                //return;

                var pong = await client.ExecuteRequest(new Request { Method = "init", Parameters = { "binary://192.168.63.192:6300", "TEST-" + DateTime.Now.ToString("hhmm", System.Globalization.CultureInfo.GetCultureInfo("nl-NL")), 0 } });

                Console.WriteLine(pong);

                Console.ReadLine();
                var deInit = await client.ExecuteRequest(new Request { Method = "init", Parameters = { "binary://192.168.63.192:6300", "" /* "TEST-" + DateTime.Now.ToString("hhmm")*/, 0 } });


                return;

                await GatherInfo(proxy);

                return;

                var defBlind = Devices["blind_door"];
                var blind    = (Blind)Activator.CreateInstance(defBlind.Item2, defBlind.Item1, proxy);
                stopwatch.Restart();
                await blind.SetLevel(0.5d);

                Console.WriteLine("Blind.SetLevel: {0}ms.", stopwatch.Elapsed.TotalMilliseconds);

                Console.ReadLine();
                Thread.Sleep(1000);
                await blind.SetLevel(1d);

                return;

                var defDimmer = Devices["dimmer_dining"];
                var dimmer    = (Dimmer)Activator.CreateInstance(defDimmer.Item2, defDimmer.Item1, proxy);


                var defSwitch = Devices["switch_hallway"];
                var @switch   = (Switch)Activator.CreateInstance(defSwitch.Item2, defSwitch.Item1, proxy);

                await @switch.SetState(true);

                Thread.Sleep(2000);

                await @switch.SetState(false);



                for (double i = 0; i <= 1; i += 0.1)
                {
                    await dimmer.SetLevel(i);

                    Thread.Sleep(500);
                }
                await dimmer.SetLevel(0d);


                //Console.WriteLine(response);
            }
        }
Beispiel #2
0
 public GenericProxy(HmRpcClient rpcClient)
 {
     RpcClient = rpcClient;
 }
Beispiel #3
0
 public GenericProxy(HmRpcClient rpcClient)
 {
     RpcClient = rpcClient;
 }
Beispiel #4
0
        public static async Task Test()
        {
            var endpoint = new IPEndPoint(IPAddress.Parse("192.168.63.3"), 2001);
            using (var client = new HmRpcClient(endpoint))
            {
                var stopwatch = new Stopwatch();

                stopwatch.Start();
                await client.ConnectAsync();
                Console.WriteLine("Connect: {0}ms.", stopwatch.Elapsed.TotalMilliseconds);

                var proxy = new GenericProxy(client);

                var req1 = new Request { Method = "setValue", Parameters = { "HEQ0359881:1", "LEVEL", 1d, "FLOAT" } };
                var req2 = new Request { Method = "setValue", Parameters = { "HEQ0359959:1", "LEVEL", 1d, "FLOAT" } };
                var req3 = new Request { Method = "setValue", Parameters = { "IEQ0019224:1", "LEVEL", 0d, "FLOAT" } };
                var req4 = new Request { Method = "setValue", Parameters = { "IEQ0020290:1", "LEVEL", 0d, "FLOAT" } };
                var req5 = new Request { Method = "setValue", Parameters = { "IEQ0020353:1", "LEVEL", 0d, "FLOAT" } };

                //var response = await proxy.MultiCall(req1, req2/*, req3, req4, req5*/);

                var req1_ = new Request { Method = "setValue", Parameters = { "HEQ0359881:1", "LEVEL", 0d, "FLOAT" } };
                var req2_ = new Request { Method = "setValue", Parameters = { "HEQ0359959:1", "LEVEL", 0d, "FLOAT" } };
                var req3_ = new Request { Method = "setValue", Parameters = { "IEQ0019224:1", "LEVEL", 1d, "FLOAT" } };
                var req4_ = new Request { Method = "setValue", Parameters = { "IEQ0020290:1", "LEVEL", 1d, "FLOAT" } };
                var req5_ = new Request { Method = "setValue", Parameters = { "IEQ0020353:1", "LEVEL", 1d, "FLOAT" } };

                //var response_ = await proxy.MultiCall(req1_, req2_, req3_, req4_, req5_);
                //return;

                var pong = await client.ExecuteRequest(new Request { Method = "init", Parameters = { "binary://192.168.63.192:6300", "TEST-" + DateTime.Now.ToString("hhmm", System.Globalization.CultureInfo.GetCultureInfo("nl-NL")), 0 } });
                Console.WriteLine(pong);

                Console.ReadLine();
                var deInit = await client.ExecuteRequest(new Request { Method = "init", Parameters = { "binary://192.168.63.192:6300", "" /* "TEST-" + DateTime.Now.ToString("hhmm")*/, 0 } });


                return;

                await GatherInfo(proxy);
                return;

                var defBlind = Devices["blind_door"];
                var blind = (Blind)Activator.CreateInstance(defBlind.Item2, defBlind.Item1, proxy);
                stopwatch.Restart();
                await blind.SetLevel(0.5d);
                Console.WriteLine("Blind.SetLevel: {0}ms.", stopwatch.Elapsed.TotalMilliseconds);

                Console.ReadLine();
                Thread.Sleep(1000);
                await blind.SetLevel(1d);
                return;

                var defDimmer = Devices["dimmer_dining"];
                var dimmer = (Dimmer)Activator.CreateInstance(defDimmer.Item2, defDimmer.Item1, proxy);


                var defSwitch = Devices["switch_hallway"];
                var @switch = (Switch)Activator.CreateInstance(defSwitch.Item2, defSwitch.Item1, proxy);

                await @switch.SetState(true);
                Thread.Sleep(2000);

                await @switch.SetState(false);



                for (double i = 0; i <= 1; i += 0.1)
                {
                    await dimmer.SetLevel(i);
                    Thread.Sleep(500);
                }
                await dimmer.SetLevel(0d);


                //Console.WriteLine(response);
            }

        }