From 64d6df70b01640c7862b36616823b3151e4c7d35 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Mon, 22 Jul 2024 11:19:08 -0500 Subject: [PATCH] fix: deactivate all rooms on startup As part of the Essentials startup process, ALL rooms are activated, meaning there are unnecessary rooms activated. Deactiving them all prior to determining a combination scenario helps keep unecessary activity from happening. --- .../Room/Combining/EssentialsRoomCombiner.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/PepperDash.Essentials.Core/Room/Combining/EssentialsRoomCombiner.cs b/src/PepperDash.Essentials.Core/Room/Combining/EssentialsRoomCombiner.cs index 6b2d8615..9c8bfa49 100644 --- a/src/PepperDash.Essentials.Core/Room/Combining/EssentialsRoomCombiner.cs +++ b/src/PepperDash.Essentials.Core/Room/Combining/EssentialsRoomCombiner.cs @@ -110,11 +110,20 @@ namespace PepperDash.Essentials.Core foreach (var roomKey in _propertiesConfig.RoomKeys) { - if (DeviceManager.GetDeviceForKey(roomKey) is IEssentialsRoom room) + var room = DeviceManager.GetDeviceForKey(roomKey); + + if (DeviceManager.GetDeviceForKey(roomKey) is IEssentialsRoom essentialsRoom) { - _rooms.Add(room); + _rooms.Add(essentialsRoom); } } + + var rooms = DeviceManager.AllDevices.OfType().Cast(); + + foreach (var room in rooms) + { + room.Deactivate(); + } } private void SetupPartitionStateProviders()