コード例 #1
0
        public void Send(DeviceReadings deviceReadings)
        {
            var config = new Config();

            var hgClient = new HostedGraphiteService();
            hgClient.ActivateForUse(config.GraphiteApiKey);
            hgClient.Send("humidity", Convert.ToSingle(deviceReadings.CurrentHumidity));
            hgClient.Send("temperature", Convert.ToSingle(deviceReadings.CurrentTemp));
            hgClient.Send("target_temperature", Convert.ToSingle(deviceReadings.TargetTemp));
            hgClient.Send("heating_on", deviceReadings.HeatState ? 1 : 0);
            hgClient.Send("auto_away", deviceReadings.AutoAway);

            if (config.SendRandom)
            {
                Random rnd = new Random();
                hgClient.Send("random", rnd.Next(1, 100));
            }

            Console.WriteLine("Tracked on Graphite");
        }
コード例 #2
0
        public void Execute()
        {
            try
            {
                var config = new Config();

                var deviceReadings = GetReadings(config.Username, config.Password);

                Console.WriteLine("{0} {1} {2}",
                    deviceReadings.CurrentHumidity,
                    deviceReadings.CurrentTemp,
                    deviceReadings.TargetTemp);

                var sender = new StatSender();
                sender.Send(deviceReadings);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error : {0} \n {1}", ex.Message, ex.StackTrace);
            }
        }