public SystemMonitorController(string key) : base(key) { Debug.Console(2, this, "Adding SystemMonitorController."); SystemMonitor.ProgramInitialization.ProgramInitializationUnderUserControl = true; //CrestronConsole.AddNewConsoleCommand(RefreshSystemMonitorData, "RefreshSystemMonitor", "Refreshes System Monitor Feedbacks", ConsoleAccessLevelEnum.AccessOperator); TimeZoneFeedback = new IntFeedback(new Func <int>(() => SystemMonitor.TimeZoneInformation.TimeZoneNumber)); TimeZoneTextFeedback = new StringFeedback(new Func <string>(() => SystemMonitor.TimeZoneInformation.TimeZoneName)); IOControllerVersionFeedback = new StringFeedback(new Func <string>(() => SystemMonitor.VersionInformation.IOPVersion)); SnmpVersionFeedback = new StringFeedback(new Func <string>(() => SystemMonitor.VersionInformation.SNMPVersion)); BACnetAppVersionFeedback = new StringFeedback(new Func <string>(() => SystemMonitor.VersionInformation.BACNetVersion)); ControllerVersionFeedback = new StringFeedback(new Func <string>(() => SystemMonitor.VersionInformation.ControlSystemVersion)); //var status = string.Format("System Monitor Status: \r TimeZone: {0}\rTimeZoneText: {1}\rIOControllerVersion: {2}\rSnmpAppVersionFeedback: {3}\rBACnetAppVersionFeedback: {4}\rControllerVersionFeedback: {5}", // SystemMonitor.TimeZoneInformation.TimeZoneNumber, SystemMonitor.TimeZoneInformation.TimeZoneName, SystemMonitor.VersionInformation.IOPVersion, SystemMonitor.VersionInformation.SNMPVersion, // SystemMonitor.VersionInformation.BACNetVersion, SystemMonitor.VersionInformation.ControlSystemVersion); //Debug.Console(1, this, status); ProgramStatusFeedbackCollection = new Dictionary <uint, ProgramStatusFeedbacks>(); foreach (var prog in SystemMonitor.ProgramCollection) { var program = new ProgramStatusFeedbacks(prog); ProgramStatusFeedbackCollection.Add(prog.Number, program); } SystemMonitor.ProgramChange += new ProgramStateChangeEventHandler(SystemMonitor_ProgramChange); SystemMonitor.TimeZoneInformation.TimeZoneChange += new TimeZoneChangeEventHandler(TimeZoneInformation_TimeZoneChange); }
public SystemMonitorController(string key) : base(key) { Debug.Console(2, this, "Adding SystemMonitorController."); SystemMonitor.ProgramInitialization.ProgramInitializationUnderUserControl = true; TimeZoneFeedback = new IntFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneNumber); TimeZoneTextFeedback = new StringFeedback(() => SystemMonitor.TimeZoneInformation.TimeZoneName); IoControllerVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.IOPVersion); SnmpVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.SNMPVersion); BaCnetAppVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.BACNetVersion); ControllerVersionFeedback = new StringFeedback(() => SystemMonitor.VersionInformation.ControlSystemVersion); SerialNumberFeedback = new StringFeedback(() => CrestronEnvironment.SystemInfo.SerialNumber); ModelFeedback = new StringFeedback(() => InitialParametersClass.ControllerPromptName); UptimeFeedback = new StringFeedback(() => _uptime); LastStartFeedback = new StringFeedback(() => _lastStart); ProgramStatusFeedbackCollection = new Dictionary <uint, ProgramStatusFeedbacks>(); foreach (var prog in SystemMonitor.ProgramCollection) { var program = new ProgramStatusFeedbacks(prog); ProgramStatusFeedbackCollection.Add(prog.Number, program); } CreateEthernetStatusFeedbacks(); UpdateEthernetStatusFeeedbacks(); _uptimePollTimer = new CTimer(PollUptime, null, 0, UptimePollTime); SystemMonitor.ProgramChange += SystemMonitor_ProgramChange; SystemMonitor.TimeZoneInformation.TimeZoneChange += TimeZoneInformation_TimeZoneChange; CrestronEnvironment.EthernetEventHandler += CrestronEnvironmentOnEthernetEventHandler; CrestronEnvironment.ProgramStatusEventHandler += CrestronEnvironmentOnProgramStatusEventHandler; }