예제 #1
0
        public void Update(OHMMonitoringSystem monitoringSystem)
        {
            var triggers = monitoringSystem.GetTriggers();

            for (int i = 0; i < triggers.Count; i++)
            {
                if (GetReboot(i))
                {
                    triggers[i].Enable();
                }
                else
                {
                    triggers[i].Disable();
                }

                triggers[i].WaitTimeInMilleseconds = (GetTimer(i) * 1000f);

                if (triggers[i].Sensor is MultiplyHardwareRangeSensor)
                {
                    ((MultiplyHardwareRangeSensor)triggers[i].Sensor).UpdateRange(GetRanges(i));
                }
            }
        }
예제 #2
0
        public MainForm()
        {
            InitializeComponent();
            globalVars = new GlobalVars();
            PC         = new Computer();

            // PC.CPUEnabled = true;
            PC.GPUEnabled = true;
            PC.Open();

            _log        = new LogFile("log");
            _error      = new LogFile("error");
            _http       = new Http();
            apiResponse = new ApiResponse();

            KillDublicateProcess("Informer");
            KillDublicateProcess("Launcher_informer");

            apiResponse.Params = new Params
            {
                Timers      = new Timers(),
                Reboots     = new Reboots(),
                Data_ranges = new Data_ranges(),
                Version     = "1.3.9"
            };

            СheckForNewVersion();
            response = apiResponse.Load();

            //костыли
            apiResponse = response;
            //


            bool start = false;

            if (!string.IsNullOrEmpty(response.Params.Token))
            {
                start = true;
                tbRigName.ReadOnly = true;
                tbToken.ReadOnly   = true;
                tbRigName.Text     = response.Params.Name;
                tbToken.Text       = response.Params.Token;
            }

            else
            {
                start = false;
                tbRigName.ReadOnly = true;
            }

            if (start)
            {
                NextAutoStart.Interval = globalVars.autostart * 1000;
                NextAutoStart.Enabled  = true;
                AutoStartTimer.Enabled = true;
                TimeWorkTimer.Enabled  = true;
            }

            commandProcesser = new CommandProcesser(response);
            mqttConnect      = new MqttConnect();

            _monitoringSystem = new OHMMonitoringSystem();
            var tempMin = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Core", SensorType.Temperature, MultiplyHardwareRangeSensor.Predicate.Min),
                                                         new RebootTriggerAction("Temp Min, Reboot!", "reboot_t_min.bat", "token", "rigName", globalVars.host), 300);
            var tempMax = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Core", SensorType.Temperature, MultiplyHardwareRangeSensor.Predicate.Max),
                                                         new RebootTriggerAction("Temp Max, Reboot!", "reboot_t_max.bat", "token", "rigName", globalVars.host), 300);

            var memoryMin = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Memory", SensorType.Clock, MultiplyHardwareRangeSensor.Predicate.Min),
                                                           new RebootTriggerAction("Memory Min, Reboot!", "reboot_mem_min.bat", "token", "rigName", globalVars.host), 300);
            var memoryMax = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Memory", SensorType.Clock, MultiplyHardwareRangeSensor.Predicate.Max),
                                                           new RebootTriggerAction("Memory Max, Reboot!", "reboot_mem_max.bat", "token", "rigName", globalVars.host), 300);

            var loadMin = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Core", SensorType.Load, MultiplyHardwareRangeSensor.Predicate.Min),
                                                         new RebootTriggerAction("Load Min, Reboot!", "reboot_load_min.bat", "token", "rigName", globalVars.host), 300);
            var loadMax = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Core", SensorType.Load, MultiplyHardwareRangeSensor.Predicate.Max),
                                                         new RebootTriggerAction("Load Max, Reboot!", "reboot_load_max.bat", "token", "rigName", globalVars.host), 300);

            var fanMin = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Fan", SensorType.Control, MultiplyHardwareRangeSensor.Predicate.Min),
                                                        new RebootTriggerAction("Fan Min, Reboot!", "reboot_fan_min.bat", "token", "rigName", globalVars.host), 300);
            var fanMax = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Fan", SensorType.Control, MultiplyHardwareRangeSensor.Predicate.Max),
                                                        new RebootTriggerAction("Fan Max, Reboot!", "reboot_fan_max.bat", "token", "rigName", globalVars.host), 300);

            var clockMin = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Core", SensorType.Clock, MultiplyHardwareRangeSensor.Predicate.Min),
                                                          new RebootTriggerAction("Clock Min, Reboot!", "reboot_clock_min.bat", "token", "rigName", globalVars.host), 300);
            var clockMax = _monitoringSystem.BuildTrigger(new MultiplyHardwareRangeSensor("GPU Core", SensorType.Clock, MultiplyHardwareRangeSensor.Predicate.Max),
                                                          new RebootTriggerAction("Clock Max, Reboot!", "reboot_clock_max.bat", "token", "rigName", globalVars.host), 300);



            var tempMinOnForm   = new TriggerOnForm(labelTempMin, tempMin, labelStatusTempMin, labelCounterTempMin);
            var tempMaxOnForm   = new TriggerOnForm(labelTempMax, tempMax, labelStatusTempMax, labelCounterTempMax);
            var memoryMinOnForm = new TriggerOnForm(labelMemoryMin, memoryMin, labelStatusMemoryMin, labelCounterMemoryMin);
            var memoryMaxOnForm = new TriggerOnForm(labelMemoryMax, memoryMax, labelStatusMemoryMax, labelCounterMemoryMax);
            var loadMinOnForm   = new TriggerOnForm(labelLoadMin, loadMin, labelStatusLoadMin, labelCounterLoadMin);
            var loadMaxOnForm   = new TriggerOnForm(labelLoadMax, loadMax, labelStatusLoadMax, labelCounterLoadMax);
            var fanMinOnForm    = new TriggerOnForm(labelFanMin, fanMin, labelStatusFanMin, labelCounterFanMin);
            var fanMaxOnForm    = new TriggerOnForm(labelFanMax, fanMax, labelStatusFanMax, labelCounterFanMax);
            var clockMinOnForm  = new TriggerOnForm(labelClockMin, clockMin, labelStatusClockMin, labelCounterClockMin);
            var clockMaxOnForm  = new TriggerOnForm(labelClockMax, clockMax, labelStatusClockMax, labelCounterClockMax);


            _triggersOnForm.Add(tempMinOnForm);
            _triggersOnForm.Add(tempMaxOnForm);
            _triggersOnForm.Add(memoryMinOnForm);
            _triggersOnForm.Add(memoryMaxOnForm);
            //вместо lost inet и lost gpu
            _triggersOnForm.Add(memoryMinOnForm);
            _triggersOnForm.Add(memoryMaxOnForm);
            //
            _triggersOnForm.Add(loadMinOnForm);
            _triggersOnForm.Add(loadMaxOnForm);
            _triggersOnForm.Add(fanMinOnForm);
            _triggersOnForm.Add(fanMaxOnForm);
            _triggersOnForm.Add(clockMinOnForm);
            _triggersOnForm.Add(clockMaxOnForm);


            //LabelOnForm tempMinLabel, tempMaxLabel, fanMinLabel, fanMaxLabel, loadMinLabel, loadMaxLabel,
            //               clockMinLabel, clockMaxLabel, memoryMinLabel, memoryMaxLabel;
            //Sensor tempMin, tempMax, fanMin, fanMax, loadMin, loadMax, clockMin, clockMax, memoryMin, memoryMax, internetOff;

            //tempMinLabel = new LabelOnForm(labelStatusTempMin, labelCounterTempMin, response, "Temp Min, Reboot!", "reboot_t_min.bat", reboot);
            //tempMaxLabel = new LabelOnForm(labelStatusTempMax, labelCounterTempMax, response, "Temp Max, Reboot!", "reboot_t_max.bat", reboot);
            //fanMinLabel = new LabelOnForm(labelStatusFanMin, labelCounterFanMin, response, "Fan Min, Reboot!", "reboot_fan_min.bat", reboot);
            //fanMaxLabel = new LabelOnForm(labelStatusFanMax, labelCounterFanMax, response, "Fan Max, Reboot!", "reboot_fan_max.bat", reboot);
            //loadMinLabel = new LabelOnForm(labelStatusLoadMin, labelCounterLoadMin, response, "Load Min, Reboot!", "reboot_load_min.bat", reboot);
            //loadMaxLabel = new LabelOnForm(labelStatusLoadMax, labelCounterLoadMax, response, "Load Max, Reboot!", "reboot_load_max.bat", reboot);
            //clockMinLabel = new LabelOnForm(labelStatusClockMin, labelCounterClockMin, response, "Clock Min, Reboot!", "reboot_clock_min.bat", reboot);
            //clockMaxLabel = new LabelOnForm(labelStatusClockMax, labelCounterClockMax, response, "Clock Max, Reboot!", "reboot_clock_max.bat", reboot);
            //memoryMinLabel = new LabelOnForm(labelStatusMemoryMin, labelCounterMemoryMin, response, "Memory Min, Reboot!", "reboot_mem_min.bat", reboot);
            //memoryMaxLabel = new LabelOnForm(labelStatusMemoryMax, labelCounterMemoryMax, response, "Memory Max, Reboot!", "reboot_memory_max.bat", reboot);
            //NotInternetLabel = new LabelOnForm(labelStatusInternet, labelCounterInternet, response, "Dont Have Internet", "reboot_internet.bat", reboot);

            //tempMin = new Sensor(tempMinLabel, Sensor.Predicate.Min, "GPU Core", SensorType.Temperature);
            //tempMax = new Sensor(tempMaxLabel, Sensor.Predicate.Max, "GPU Core", SensorType.Temperature);
            //fanMin = new Sensor(fanMinLabel, Sensor.Predicate.Min, "GPU Fan", SensorType.Control);
            //fanMax = new Sensor(fanMaxLabel, Sensor.Predicate.Max, "GPU Fan",SensorType.Control);
            //loadMin = new Sensor(loadMinLabel, Sensor.Predicate.Min, "GPU Core", SensorType.Load);
            //loadMax = new Sensor(loadMaxLabel, Sensor.Predicate.Max, "GPU Core", SensorType.Load);
            //clockMin = new Sensor(clockMinLabel,Sensor.Predicate.Min, "GPU Core",SensorType.Clock);
            //clockMax = new Sensor(clockMaxLabel,Sensor.Predicate.Max, "GPU Core",SensorType.Clock);
            //memoryMin = new Sensor(memoryMinLabel,Sensor.Predicate.Min,"GPU Memory",SensorType.Clock);
            //memoryMax = new Sensor(memoryMaxLabel,Sensor.Predicate.Max,"GPU Memory",SensorType.Clock);

            //dangers = new Sensor[] {
            //    tempMin, tempMax, fanMin, fanMax, loadMin,loadMax,
            //    clockMin,clockMax, memoryMin, memoryMax
            //};
        }