private void btn_OpenBackupFile_Click(object sender, EventArgs e) { openFileDialog1.Title = "Backup-Datei öffnen"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { Logger.WriteToLog("Backup-Datei laden (" + openFileDialog1.FileName + ")", LogLevel.RestoreInfo); try { backup = HueParameters.FromJson(openFileDialog1.FileName); } catch (Exception ex) { Logger.WriteToLog("Fehler beim lesen der Backup-Datei: " + ex.Message, LogLevel.Error); throw ex; } Logger.WriteToLog("Backup-Datei erfolgreich gelesen", LogLevel.RestoreInfo); cbx_ReadConfig.Checked = true; btn_ReadConfig.Enabled = true; } else { Logger.WriteToLog("Öffnen der Backup-Datei wurde abbgebrochen", LogLevel.Error); } }
public void SetBlink() { if (light == null) { return; } light.SetState(HueParameters.AlertParameter(HueKeys.LSELECT)); }
IEnumerator RacingCountdown(float timeOut = 1f) { //Change the color instantly (no transition time) light.SetColor(Color.red, HueParameters.TransitionParameter(0)); yield return(new WaitForSeconds(timeOut)); light.SetColor(Color.yellow, HueParameters.TransitionParameter(0)); yield return(new WaitForSeconds(timeOut)); light.SetColor(Color.green, HueParameters.TransitionParameter(0)); }
public void GetIds_DuplicatedBackupId() { var backup = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid001" }, Lights = new List <Light> { new Light { Id = "1", UniqueId = "uid001" }, new Light { Id = "2", UniqueId = "uid002" }, new Light { Id = "2", UniqueId = "uid002_duplicate" }, new Light { Id = "3", UniqueId = "uid003" } } }; var current = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid002" }, Lights = new List <Light> { new Light { Id = "2", UniqueId = "uid001" }, new Light { Id = "3", UniqueId = "uid002" }, new Light { Id = "4", UniqueId = "uid003" } } }; var testObj = RemappingInfo.Create(backup, current); Assert.ThrowsException <RemappingException>(() => testObj.GetCurrentLightId("2"), "Doppelte Light-Backup-ID nicht gefunden."); Assert.AreEqual("4", testObj.GetCurrentLightId("3"), true, "Falsche Light-ID zur gegebenen Light-Backup-Id (3) gefunden"); }
public void GetIds_EmptyIdMap() { var backup = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid001" }, Sensors = new List <Sensor> { new Sensor { Id = "1", UniqueId = "uid001" }, new Sensor { Id = "2", UniqueId = "uid002" } } }; var current = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid002" }, Lights = new List <Light> { new Light { Id = "2", UniqueId = "uid001" }, new Light { Id = "3", UniqueId = "uid002" }, new Light { Id = "4", UniqueId = "uid003" } }, Sensors = new List <Sensor> { new Sensor { Id = "2", UniqueId = "uid001" } } }; var testObj = RemappingInfo.Create(backup, current); Assert.ThrowsException <EmptyIdMapException>(() => testObj.GetCurrentLightId("1"), "Leere Light-ID-Map nicht identifiziert."); Assert.AreEqual("2", testObj.GetCurrentSensorId("1"), true, "Falsche Sensor-ID zur gegebenen Sensor-Backup-Id (1) gefunden"); }
public static RemappingInfo Create(HueParameters backup, HueParameters current) { var result = new RemappingInfo { BridgeBackupUniqueId = backup.Configuration.BridgeId, BridgeCurrentUniqueId = current.Configuration.BridgeId }; foreach (var l in backup.Lights) { result.Lights.Add(new IdPair(l.UniqueId, l.Id, current.Lights.FirstOrDefault(x => String.Equals(x.UniqueId, l.UniqueId, StringComparison.InvariantCultureIgnoreCase))?.Id)); } foreach (var s in backup.Sensors) { result.Sensors.Add(new IdPair(s.UniqueId, s.Id, current.Sensors.FirstOrDefault(x => String.Equals(x.UniqueId, s.UniqueId, StringComparison.InvariantCultureIgnoreCase))?.Id)); } return(result); }
public void Create() { var backup = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid001" }, Lights = new List <Light> { new Light { Id = "1", UniqueId = "uid001" }, new Light { Id = "2", UniqueId = "uid002" }, new Light { Id = "3", UniqueId = "uid003" } }, Sensors = new List <Sensor> { new Sensor { Id = "1", UniqueId = "uid001" }, new Sensor { Id = "2", UniqueId = "uid002" } } }; var current = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid002" }, Lights = new List <Light> { new Light { Id = "2", UniqueId = "uid001" }, new Light { Id = "3", UniqueId = "uid002" }, new Light { Id = "4", UniqueId = "uid003" } }, Sensors = new List <Sensor> { new Sensor { Id = "2", UniqueId = "uid001" } } }; var expectedResult = new RemappingInfo { BridgeBackupUniqueId = "bridge_uid001", BridgeCurrentUniqueId = "bridge_uid002", Lights = new List <IdPair> { new IdPair { BackupId = "1", CurrentId = "2", UniqueId = "uid001" }, new IdPair { BackupId = "2", CurrentId = "3", UniqueId = "uid002" }, new IdPair { BackupId = "3", CurrentId = "4", UniqueId = "uid003" } }, Sensors = new List <IdPair> { new IdPair { BackupId = "1", CurrentId = "2", UniqueId = "uid001" }, new IdPair { BackupId = "2", CurrentId = null, UniqueId = "uid002" } } }; var testObj = RemappingInfo.Create(backup, current); Assert.AreEqual(expectedResult.BridgeBackupUniqueId, testObj.BridgeBackupUniqueId, "Backup Unique ID der Bridge fehlerhaft"); Assert.AreEqual(expectedResult.BridgeCurrentUniqueId, testObj.BridgeCurrentUniqueId, "Aktuelle Unique ID der Bridge fehlerhaft"); Assert.AreEqual(expectedResult.Lights.Count, testObj.Lights.Count, "Anzahl der gemappten Light-IDs fehlerhaft"); Assert.AreEqual(expectedResult.Sensors.Count, testObj.Sensors.Count, "Anzahl der gemappten Sensor-IDs fehlerhaft"); for (int i = 0; i < expectedResult.Lights.Count; i++) { Assert.IsTrue(idPairComparer(expectedResult.Lights[i], testObj.Lights[i]), "Gemappte Light-IDs fehlerhaft"); } for (int i = 0; i < expectedResult.Sensors.Count; i++) { Assert.IsTrue(idPairComparer(expectedResult.Sensors[i], testObj.Sensors[i]), "Gemappte Sensor-IDs fehlerhaft"); } }
public void GetIds() { var backup = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid001" }, Lights = new List <Light> { new Light { Id = "1", UniqueId = "uid001" }, new Light { Id = "2", UniqueId = "uid002" }, new Light { Id = "3", UniqueId = "uid003" } }, Sensors = new List <Sensor> { new Sensor { Id = "1", UniqueId = "uid001" }, new Sensor { Id = "2", UniqueId = "uid002" } } }; var current = new HueParameters { Configuration = new BridgeConfig { BridgeId = "bridge_uid002" }, Lights = new List <Light> { new Light { Id = "2", UniqueId = "uid001" }, new Light { Id = "3", UniqueId = "uid002" }, new Light { Id = "4", UniqueId = "uid003" } }, Sensors = new List <Sensor> { new Sensor { Id = "2", UniqueId = "uid001" } } }; var testObj = RemappingInfo.Create(backup, current); Assert.AreEqual("2", testObj.GetCurrentLightId("1"), true, "Falsche Light-ID zur gegebenen Light-Backup-Id (1) gefunden"); Assert.AreEqual("3", testObj.GetCurrentLightId("2"), true, "Falsche Light-ID zur gegebenen Light-Backup-Id (2) gefunden"); Assert.AreEqual("4", testObj.GetCurrentLightId("3"), true, "Falsche Light-ID zur gegebenen Light-Backup-Id (3) gefunden"); Assert.ThrowsException <BackupIdNotFoundException>(() => testObj.GetCurrentLightId("4"), "Fehler bei Abfrage von Light-Backup-ID (4) welche nicht verfügbar ist."); Assert.AreEqual("2", testObj.GetCurrentSensorId("1"), true, "Falsche Sensor-ID zur gegebenen Sensor-Backup-Id (1) gefunden"); Assert.ThrowsException <CurrentIdNotFoundException>(() => testObj.GetCurrentSensorId("2"), "Fehler bei Abfrage von Sensor-Current-ID (2) welche nicht verfügbar ist."); Assert.ThrowsException <BackupIdNotFoundException>(() => testObj.GetCurrentSensorId("3"), "Fehler bei Abfrage von Sensor-Backup-ID (3) welche nicht verfügbar ist."); }