diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/EssentialsRoomCombiner.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/EssentialsRoomCombiner.cs
index d9886e70..820d363f 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/EssentialsRoomCombiner.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/EssentialsRoomCombiner.cs
@@ -171,8 +171,22 @@ namespace PepperDash.Essentials.Core
{
if (value != _currentScenario)
{
+ // Deactivate the old scenario first
+ if (_currentScenario != null)
+ {
+ _currentScenario.Deactivate();
+ }
+
_currentScenario = value;
- Debug.Console(1, this, "Current Scenario: {0}", _currentScenario.Name);
+
+ // Activate the new scenario
+ if (_currentScenario != null)
+ {
+ _currentScenario.Activate();
+
+ Debug.Console(1, this, "Current Scenario: {0}", _currentScenario.Name);
+ }
+
var handler = RoomCombinationScenarioChanged;
if (handler != null)
{
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/IEssentialsRoomCombiner.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/IEssentialsRoomCombiner.cs
index c0c8101b..e6bdd983 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/IEssentialsRoomCombiner.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/IEssentialsRoomCombiner.cs
@@ -78,6 +78,11 @@ namespace PepperDash.Essentials.Core
///
void Activate();
+ ///
+ /// Deactivates this room combination scenario
+ ///
+ void Deactivate();
+
///
/// The state of the partitions that would activate this scenario
///
diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/RoomCombinationScenario.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/RoomCombinationScenario.cs
index a5534edc..460241a0 100644
--- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/RoomCombinationScenario.cs
+++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Room/Combining/RoomCombinationScenario.cs
@@ -4,6 +4,8 @@ using System.Linq;
using System.Text;
using Crestron.SimplSharp;
+using PepperDash.Core;
+
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core
@@ -27,9 +29,9 @@ namespace PepperDash.Essentials.Core
public BoolFeedback IsActiveFeedback { get; private set; }
- List activationActions;
+ private List activationActions;
- List deactivationActions;
+ private List deactivationActions;
public RoomCombinationScenario(RoomCombinationScenarioConfig config)
{
@@ -52,6 +54,8 @@ namespace PepperDash.Essentials.Core
public void Activate()
{
+ Debug.Console(1, "Activating Scenario: '{0}' with {1} action(s) defined", Name, activationActions.Count);
+
if (activationActions != null)
{
foreach (var action in activationActions)
@@ -66,6 +70,8 @@ namespace PepperDash.Essentials.Core
public void Deactivate()
{
+ Debug.Console(1, "Deactivating Scenario: '{0}' with {1} action(s) defined", Name, deactivationActions.Count);
+
if (deactivationActions != null)
{
foreach (var action in deactivationActions)
diff --git a/packages.config b/packages.config
index 3494f2eb..06d30eaa 100644
--- a/packages.config
+++ b/packages.config
@@ -1,3 +1,3 @@
-
+
\ No newline at end of file