private void AddOrUpdateAccessory(PhilipsHueBridge bridge, Sensor accessory) { string accessoryKey = $"{bridge.BridgeId}-{accessory.Id}"; AccessoryDataModel accessoryDataModel = null; if (TryGetDynamicChild(accessoryKey, out DynamicChild dynamicChild)) { accessoryDataModel = (AccessoryDataModel)dynamicChild.BaseValue; } if (accessoryDataModel != null) { accessoryDataModel.HueSensor = accessory; } else { accessoryDataModel = accessory.Type switch { "ZLLSwitch" => AddDynamicChild(accessoryKey, new DimmerSwitch(accessory), accessory.Name).Value, "ZGPSwitch" => AddDynamicChild(accessoryKey, new Tap(accessory), accessory.Name).Value, _ => null }; } if (accessoryDataModel != null) { accessoryDataModel.DataModelDescription.Name = accessoryDataModel.Name; } }
private void AddOrUpdateAccessory(PhilipsHueBridge bridge, Sensor accessory) { string accessoryKey = $"{bridge.BridgeId}-{accessory.Id}"; AccessoryDataModel accessoryDataModel = DynamicChild <AccessoryDataModel>(accessoryKey); if (accessoryDataModel != null) { accessoryDataModel.HueSensor = accessory; } else { switch (accessory.Type) { case "ZLLSwitch": accessoryDataModel = AddDynamicChild(new DimmerSwitch(accessory), accessoryKey); break; case "ZGPSwitch": accessoryDataModel = AddDynamicChild(new Tap(accessory), accessoryKey); break; } } accessoryDataModel.DataModelDescription.Name = accessoryDataModel.Name; }