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)); } } }
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 //}; }