public void ParseConfigFile() { var device = _settingsManager.ReadSettingsFile(@"\NVRAM\Settings\HE_Devices.dat"); _deviceSettings = _settingsManager.GetDeviceConfiguration(device); var system = _settingsManager.ReadSettingsFile(@"\NVRAM\Settings\HE_Lighting.dat"); _systemSettings = _settingsManager.GetLightSystemConfiguration(system); }
public void InitializeLightingLoads(LightSystemSettings systemSettings) { foreach (SerializationLightLoad load in systemSettings.loads) { var deviceId = SettingsManager.ConvertStringNumberToInt(load.lightDeviceId); var loadId = SettingsManager.ConvertStringNumberToInt(load.id); var loadNumber = SettingsManager.ConvertStringNumberToInt(load.loadNumber); LightingBase lightDevice; if (_lightDevices.TryGetValue(deviceId, out lightDevice)) { if (lightDevice is Dimmer) { DimmingLoad dimmingLoad; if (((Dimmer)lightDevice).DimmingLoads.TryGetValue((uint)loadNumber, out dimmingLoad)) { _loadManager.AddLoadsFromCrestronLoad(loadId, load.name, dimmingLoad); } else { CrestronConsole.PrintLine("Unable to get load"); } } else if (lightDevice is Switch) { SwitchedLoad switchedLoad; if (((Switch)lightDevice).SwitchedLoads.TryGetValue((uint)loadNumber, out switchedLoad)) { _loadManager.AddLoadsFromCrestronLoad(loadId, load.name, switchedLoad); } else { CrestronConsole.PrintLine("Unable to get load"); } } else { CrestronConsole.PrintLine("Unknown light device type!"); } } else { CrestronConsole.PrintLine("Cresron device not found with id of: " + load.lightDeviceId); } } }
public void InitializeRooms(LightSystemSettings systemSettings) { foreach (SerializationRoom room in systemSettings.rooms) { var roomId = SettingsManager.ConvertStringNumberToInt(room.id); // var loadId = SettingsManager.ConvertStringNumberToInt(load.id); LightedRoom lightedRoom = new LightedRoom(roomId, room.name); List <int> loadIds = null; if (!String.IsNullOrEmpty(room.loadList)) { if (room.loadList == "all") { loadIds = _loadManager.GetLoads().Select(x => x.LoadID).ToList <int>(); } else { loadIds = new List <int>(room.loadList.Split(',').Select(s => int.Parse(s))); } foreach (int loadId in loadIds) { lightedRoom.AddLoad(_loadManager.GetLoad(loadId)); } } if (!String.IsNullOrEmpty(room.sceneList)) { var sceneIds = new List <int>(room.sceneList.Split(',').Select(s => int.Parse(s))); foreach (int sceneId in sceneIds) { Scene scene = _sceneManager.GetScene(sceneId); scene.AssignRoom(lightedRoom); lightedRoom.AddScene(scene); } } _roomManager.AddRoom(lightedRoom); } }
public void InitializeScenes(LightSystemSettings systemSettings) { foreach (SerializationScene scene in systemSettings.scenes) { var id = SettingsManager.ConvertStringNumberToInt(scene.id); Scene lightScene = new Scene(id, scene.name); if (scene.wholeHome) { lightScene.WholeHome = true; } foreach (SerializationLoadState loadState in scene.loadStates) { var level = SettingsManager.ConvertUnsignedStringNumber(loadState.level); List <int> loadIds = null; if (loadState.loadList == "all") { loadIds = _loadManager.GetLoads().Select(x => x.LoadID).ToList <int>(); } else { loadIds = new List <int>(loadState.loadList.Split(',').Select(s => int.Parse(s))); } foreach (int loadID in loadIds) { LoadState state = new LoadState((ushort)level, LoadManager.GetLoad(loadID)); lightScene.AddLoadState(state); } } _sceneManager.AddScene(lightScene); } }
public void InitializeSystem(LightSystemSettings systemSettings) { InitializeLightingLoads(systemSettings); InitializeScenes(systemSettings); InitializeRooms(systemSettings); }