diff --git a/PepperDashEssentials/PepperDashEssentials.suo b/PepperDashEssentials/PepperDashEssentials.suo
index 96614471..a85185f4 100644
Binary files a/PepperDashEssentials/PepperDashEssentials.suo and b/PepperDashEssentials/PepperDashEssentials.suo differ
diff --git a/PepperDashEssentials/PepperDashEssentials/ControlSystem.cs b/PepperDashEssentials/PepperDashEssentials/ControlSystem.cs
index 14f66437..209d7c94 100644
--- a/PepperDashEssentials/PepperDashEssentials/ControlSystem.cs
+++ b/PepperDashEssentials/PepperDashEssentials/ControlSystem.cs
@@ -113,7 +113,7 @@ namespace PepperDash.Essentials
if (newDev == null)
newDev = PepperDash.Essentials.DM.DeviceFactory.GetDevice(devConf);
if (newDev == null)
- newDev = PepperDash.Essentials.Displays.DeviceFactory.GetDevice(devConf);
+ newDev = PepperDash.Essentials.Devices.Displays.DisplayDeviceFactory.GetDevice(devConf);
if (newDev != null)
DeviceManager.AddDevice(newDev);
diff --git a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj
index 96b447d5..0baeb2b1 100644
--- a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj
+++ b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.csproj
@@ -92,10 +92,6 @@
False
..\..\..\essentials-ssp-base\PepperDashEssentialsBase\PepperDashEssentialsBase\bin\PepperDash_Essentials_Core.dll
-
- False
- ..\..\..\essentials-displays\Essentials Displays\Essentials Displays\bin\PepperDash_Essentials_Displays.dll
-
False
..\..\..\essentials-dm\Essentials_DM\Essentials_DM\bin\PepperDash_Essentials_DM.dll
@@ -158,6 +154,7 @@
+
diff --git a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo
index 73406ab3..8a01b7ff 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo and b/PepperDashEssentials/PepperDashEssentials/PepperDashEssentials.projectinfo differ
diff --git a/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-02-08 11-44-50).log b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-02-08 11-44-50).log
new file mode 100644
index 00000000..d7470f6a
--- /dev/null
+++ b/PepperDashEssentials/PepperDashEssentials/SIMPLSharpLogs/(2017-02-08 11-44-50).log
@@ -0,0 +1,13 @@
+2/8/2017 11:44:50 AM, Info: Initializing SIMPLSharp Services...
+2/8/2017 11:44:51 AM, Info: ProjectInfo successfully initialized.
+2/8/2017 11:45:14 AM, Info: Saving project information...
+2/8/2017 11:45:14 AM, Info: Saving project information...
+2/8/2017 11:45:14 AM, Info: Saving project information...
+2/8/2017 11:45:14 AM, Info: Saving project information...
+2/8/2017 11:45:14 AM, Info: Saving project information...
+2/8/2017 11:45:14 AM, Info: Saving project information...
+2/8/2017 11:45:38 AM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll...
+2/8/2017 11:45:39 AM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
+2/8/2017 11:45:39 AM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.cpz...
+2/8/2017 11:45:41 AM, Info: Saving project information...
+2/8/2017 11:54:00 AM, Info: Terminating SIMPLSharp Services
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs
index 94392dbc..a68ebd6b 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs
@@ -92,8 +92,18 @@ namespace PepperDash.Essentials
///
BoolFeedbackPulseExtender VolumeButtonsPopupFeedback;
+ ///
+ /// The parent driver for this
+ ///
PanelDriverBase Parent;
+ SingleSubpageModalDriver VolumesPageDriver;
+
+ ///
+ /// All children attached to this driver. For hiding and showing as a group.
+ ///
+ List ChildDrivers = new List();
+
List CurrentDisplayModeSigsInUse = new List();
//// Important smart objects
@@ -176,6 +186,15 @@ namespace PepperDash.Essentials
// Attach actions
TriList.SetSigFalseAction(UIBoolJoin.VolumeButtonPopupPress, VolumeButtonsTogglePress);
+#warning Add press and hold to gear button here
+ TriList.SetSigFalseAction(UIBoolJoin.GearHeaderButtonPress, () =>
+ {
+ if (VolumesPageDriver == null)
+ VolumesPageDriver =
+ new SingleSubpageModalDriver(this, UIBoolJoin.VolumesPageVisible, UIBoolJoin.VolumesPageClosePress);
+ VolumesPageDriver.Toggle();
+ });
+
// power-related functions
// Note: some of these are not directly-related to the huddle space UI, but are held over
// in case
@@ -207,6 +226,8 @@ namespace PepperDash.Essentials
HideAndClearCurrentDisplayModeSigsInUse();
TriList.BooleanInput[UIBoolJoin.TopBarVisible].BoolValue = false;
TriList.BooleanInput[UIBoolJoin.ActivityFooterVisible].BoolValue = false;
+ TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
+ TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = false;
VolumeButtonsPopupFeedback.ClearNow();
CancelPowerOff();
@@ -225,8 +246,12 @@ namespace PepperDash.Essentials
switch (mode)
{
case UiDisplayMode.PresentationMode:
- CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[UIBoolJoin.StagingPageVisible]);
- // Date/time
+ // show start page or staging...
+ if (!CurrentRoom.OnFeedback.BoolValue)
+ TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
+ else
+ TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
+ // Date/time
if (Config.ShowDate && Config.ShowTime)
{
TriList.BooleanInput[UIBoolJoin.DateAndTimeVisible].BoolValue = true;
@@ -251,7 +276,15 @@ namespace PepperDash.Essentials
void SetupActivityFooterWhenRoomOff()
{
ActivityFooterSrl.Clear();
- ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, null));
+ ActivityFooterSrl.AddItem(new SubpageReferenceListActivityItem(1, ActivityFooterSrl, 0, b =>
+ {
+ if (b) return; // ignore press
+ if (!_CurrentRoom.OnFeedback.BoolValue)
+ {
+ TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
+ TriList.BooleanInput[UIBoolJoin.StagingPageVisible].BoolValue = true;
+ }
+ }));
ActivityFooterSrl.Count = 1;
TriList.UShortInput[UIUshortJoin.PresentationListCaretMode].UShortValue = 0;
}
@@ -347,12 +380,12 @@ namespace PepperDash.Essentials
CurrentSourcePageManager = pm;
pm.Show();
}
- else // show some default thing
- {
- CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[12345]);
- }
+ //else // show some default thing
+ //{
+ // CurrentDisplayModeSigsInUse.Add(TriList.BooleanInput[12345]);
+ //}
- ShowCurrentDisplayModeSigsInUse();
+ //ShowCurrentDisplayModeSigsInUse();
}
///
@@ -529,9 +562,15 @@ namespace PepperDash.Essentials
var value = _CurrentRoom.OnFeedback.BoolValue;
TriList.BooleanInput[UIBoolJoin.RoomIsOn].BoolValue = value;
if (value)
+ {
SetupActivityFooterWhenRoomOn();
+ TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = false;
+ }
else
+ {
SetupActivityFooterWhenRoomOff();
+ TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
+ }
}
///
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs
index 5dd02b13..2ba978ad 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/EssentialsPanelMainInterfaceDriver.cs
@@ -18,6 +18,8 @@ namespace PepperDash.Essentials
///
public PanelDriverBase AvDriver { get; set; }
+ SingleSubpageModalDriver HelpDriver;
+
public PanelDriverBase CurrentChildDriver { get; private set; }
CrestronTouchpanelPropertiesConfig Config;
@@ -41,22 +43,46 @@ namespace PepperDash.Essentials
public override void Show()
{
CurrentChildDriver = null;
- if (Config.UsesSplashPage)
- TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
- else
- ShowSubDriver(AvDriver);
- TriList.SetSigFalseAction(UIBoolJoin.HelpButtonPress, () =>
+
+
+ //if (Config.UsesSplashPage)
+ // TriList.BooleanInput[UIBoolJoin.StartPageVisible].BoolValue = true;
+ //else
+ ShowSubDriver(AvDriver);
+
+ TriList.SetSigFalseAction(UIBoolJoin.HelpPress, () =>
{
- var modal = new ModalDialog(TriList);
- var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
- as EssentialsHuddleSpaceRoom;
- string message = "Sorry, no help message available. No room connected.";
- if(room != null)
- message = room.Config.HelpMessage;
- modal.PresentModalTimerDialog(1, "Help", "Help", message,
- "Done", null, 0, false, null);
+ //var modal = new ModalDialog(TriList);
+ //var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
+ // as EssentialsHuddleSpaceRoom;
+ //string message = "Sorry, no help message available. No room connected.";
+ //if(room != null)
+ // message = room.Config.HelpMessage;
+ //modal.PresentModalTimerDialog(1, "Help", "Help", message,
+ // "Done", null, 0, false, null);
+
+ string message = null;
+ var room = DeviceManager.GetDeviceForKey(Config.DefaultRoomKey)
+ as EssentialsHuddleSpaceRoom;
+ if (room != null)
+ message = room.Config.HelpMessage;
+ else
+ message = "Sorry, no help message available. No room connected.";
+
+ if (HelpDriver == null)
+ HelpDriver = new SingleSubpageModalDriver(this, UIBoolJoin.HelpPageVisible, UIBoolJoin.HelpClosePress);
+ if (HelpDriver.IsVisible)
+ HelpDriver.Hide();
+ else
+ HelpDriver.Show();
+
});
+ TriList.SetSigFalseAction(UIBoolJoin.RoomHeaderButtonPress, () =>
+ {
+
+ });
+
base.Show();
}
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/SingleSubpageModalDriver.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/SingleSubpageModalDriver.cs
new file mode 100644
index 00000000..307436e8
--- /dev/null
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/SingleSubpageModalDriver.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Crestron.SimplSharp;
+using Crestron.SimplSharpPro;
+using Crestron.SimplSharpPro.DeviceSupport;
+using Crestron.SimplSharpPro.UI;
+
+using PepperDash.Essentials.Core;
+using PepperDash.Essentials.Core.SmartObjects;
+
+
+namespace PepperDash.Essentials
+{
+ ///
+ /// Very basic show/hide manager for weather page. Basic functionality is useful on any
+ /// size of interface
+ ///
+ public class SingleSubpageModalDriver : PanelDriverBase
+ {
+ BoolInputSig SubpageSig;
+
+ public SingleSubpageModalDriver(PanelDriverBase parent, uint subpageJoin, uint closeJoin)
+ : base(parent.TriList)
+ {
+ SubpageSig = parent.TriList.BooleanInput[subpageJoin];
+ parent.TriList.SetSigFalseAction(closeJoin, Hide);
+ }
+
+ public override void Show()
+ {
+ SubpageSig.BoolValue = true;
+ base.Show();
+ }
+
+ public override void Hide()
+ {
+ SubpageSig.BoolValue = false;
+ base.Hide();
+ }
+ }
+}
\ No newline at end of file
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs
index 6df51660..a9058a39 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/UIJoins.cs
@@ -24,8 +24,6 @@ namespace PepperDash.Essentials
//public const uint MuteTogglePress = 3813;
//public const uint MutedFeedback = 3813;
- // **********************************************************
- // REVISE THESE WITH JOSHUA 3800's
public const uint VolumeSingleMute1Visible = 3811;
public const uint VolumeSlider1Press = 3812;
public const uint Volume1ProgramMutePressAndFB = 3813;
@@ -49,26 +47,32 @@ namespace PepperDash.Essentials
public const uint VolumeSlider6Press = 3862;
public const uint Volume6MutePressAndFB = 3863;
+ ///
+ /// 3870
+ ///
public const uint VolumesPageVisible = 3870;
- // **********************************************************
+ ///
+ /// 3871
+ ///
+ public const uint VolumesPageClosePress = 3871;
public const uint GenericModalVisible = 3999;
public const uint AvNoControlsSubVisible = 12345;
public const uint HomeVisible = 15001;
///
- /// Shows the start page in the source controls area of the screen
+ /// 15002 Shows the start page in the source controls area of the screen
///
public const uint StartPageVisible = 15002;
public const uint StartPagePress = 15003; // REMOVE -------------------------------------------------
public const uint RoomIsOn = 15004;
//public const uint SelectSourcePopupVisible = 15005;
///
- /// Shows always-on volume control subpage with only audio mute
+ /// 15005 Shows always-on volume control subpage with only audio mute
///
public const uint VolumeControlsSingleMuteVisible = 15005;
///
- /// Shows always-on volume control subpage with mic and audio mutes
+ /// 15006 Shows always-on volume control subpage with mic and audio mutes
///
public const uint VolumeControlsDualMuteVisible = 15006;
public const uint ShowPanelSetupPress = 15010;
@@ -87,10 +91,16 @@ namespace PepperDash.Essentials
public const uint CallLeftHeaderButtonVisible = 15025;
public const uint LightsHeaderButtonPress = 15026;
public const uint CallHeaderButtonPress = 15027;
+ ///
+ /// 15028 The gear button in header
+ ///
public const uint GearHeaderButtonPress = 15028;
+ ///
+ /// 15029 the room button in header
+ ///
public const uint RoomHeaderButtonPress = 15029;
- // 15030
- public const uint AllRoomsOffPress = 15031;
+ public const uint RoomHeaderPageVisible = 15030;
+ public const uint AllRoomsOffPress = 15031;
public const uint DisplayPowerTogglePress = 15032;
public const uint PowerOffCancelPress = 15033;
public const uint PowerOffConfirmPress = 15034;
@@ -100,7 +110,18 @@ namespace PepperDash.Essentials
public const uint CallStatusPageVisible = 15040;
public const uint LightsPageVisbible = 15041;
- public const uint HelpButtonPress = 15087;
+ ///
+ /// 15085 Visibility join for help subpage
+ ///
+ public const uint HelpPageVisible = 15085;
+ ///
+ /// 15086 Press for help header button
+ ///
+ public const uint HelpPress = 15086;
+ ///
+ /// 15087 Press to close help page
+ ///
+ public const uint HelpClosePress = 15087;
public const uint DateOnlyVisible = 15088;
public const uint TimeOnlyVisible = 15089;
public const uint DateAndTimeVisible = 15090;
@@ -139,5 +160,6 @@ namespace PepperDash.Essentials
public const uint CurrentSourceName = 3902;
public const uint CurrentSourceIcon = 3903;
public const uint PowerOffMessage = 3911;
+ public const uint HelpMessage = 3922;
}
}
\ No newline at end of file
diff --git a/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs b/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs
index 25d15d0d..fd609c97 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI Drivers/enums and base.cs
@@ -45,13 +45,15 @@ namespace PepperDash.Essentials
///
///
///
- public abstract class PanelDriverBase// : IBasicTriListWithSmartObject
+ public abstract class PanelDriverBase
{
///
///
///
public bool IsVisible { get; private set; }
+ public bool WasVisibleWhenHidden { get; private set; }
+
///
/// Makes sure you call this.
/// Sets IsVisible and attaches back/home buttons to BackButtonPressed
@@ -62,14 +64,35 @@ namespace PepperDash.Essentials
TriList.SetSigFalseAction(15002, BackButtonPressed);
}
+ ///
+ /// Will show if this was visible when Hide was called (for group hiding/showing)
+ ///
+ public void Restore()
+ {
+ if (WasVisibleWhenHidden)
+ Show();
+ }
+
///
/// Only sets IsVisible
///
public virtual void Hide()
{
+ WasVisibleWhenHidden = IsVisible;
IsVisible = false;
}
+ ///
+ /// Toggles visibility of this driver
+ ///
+ public void Toggle()
+ {
+ if (IsVisible)
+ Hide();
+ else
+ Show();
+ }
+
///
/// Override with specific back button behavior. Default is empty
///
diff --git a/PepperDashEssentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs b/PepperDashEssentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs
index ec32609d..469c3688 100644
--- a/PepperDashEssentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs
+++ b/PepperDashEssentials/PepperDashEssentials/UI/EssentialsTouchpanelController.cs
@@ -28,7 +28,6 @@ namespace PepperDash.Essentials
Panel = tsw;
tsw.LoadSmartObjects(sgdPath);
tsw.SigChange += new Crestron.SimplSharpPro.DeviceSupport.SigEventHandler(Tsw_SigChange);
-
}
///
@@ -111,7 +110,7 @@ namespace PepperDash.Essentials
var tsw = Panel as TswFt5ButtonSystem;
// Wire up hard keys
tsw.Power.UserObject = new Action(b => { if (!b) avDriver.PowerButtonPressed(); });
- tsw.Home.UserObject = new Action(b => { if (!b) HomePressed(); });
+ //tsw.Home.UserObject = new Action(b => { if (!b) HomePressed(); });
tsw.Up.UserObject = new Action(avDriver.VolumeUpPress);
tsw.Down.UserObject = new Action(avDriver.VolumeDownPress);
tsw.ButtonStateChange += new ButtonEventHandler(Tsw_ButtonStateChange);
@@ -131,7 +130,7 @@ namespace PepperDash.Essentials
var tsw = Panel as TswFt5ButtonSystem;
// Wire up hard keys
tsw.Power.UserObject = new Action(b => { if (!b) avDriver.PowerButtonPressed(); });
- tsw.Home.UserObject = new Action(b => { if (!b) HomePressed(); });
+ //tsw.Home.UserObject = new Action(b => { if (!b) HomePressed(); });
tsw.Up.UserObject = new Action(avDriver.VolumeUpPress);
tsw.Down.UserObject = new Action(avDriver.VolumeDownPress);
tsw.ButtonStateChange += new ButtonEventHandler(Tsw_ButtonStateChange);
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll b/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll
index ff85d2dc..3afde63f 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll and b/PepperDashEssentials/PepperDashEssentials/bin/Essentials Devices Common.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz
index a4d64fb3..e0e38c95 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.cpz differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll
index 87c3037d..1aa538af 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb
index 7a0b01e3..5a3680e4 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDashEssentials.pdb differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll b/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll
index 38d5c5f6..3f04e548 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll and b/PepperDashEssentials/PepperDashEssentials/bin/PepperDash_Essentials_DM.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
index 397347c5..f1d8a617 100644
--- a/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
+++ b/PepperDashEssentials/PepperDashEssentials/bin/ProgramInfo.config
@@ -10,8 +10,8 @@
- 2/8/2017 10:41:47 AM
- 1.0.0.31698
+ 2/8/2017 2:44:12 PM
+ 1.0.0.26524
Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
index 4f25dc15..aa744a45 100644
--- a/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
+++ b/PepperDashEssentials/PepperDashEssentials/bin/manifest.info
@@ -1,4 +1,4 @@
-MainAssembly=PepperDashEssentials.dll:03a054a3c6b53e2cfb0d0c2061de7dfc
+MainAssembly=PepperDashEssentials.dll:16286fc87faa5656107cc7d7753daf7a
MainAssemblyMinFirmwareVersion=1.009.0029
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
ü
@@ -30,9 +30,9 @@ DependencySource=Crestron.SimplSharpPro.UI.dll:089312a0cb0b4537072d4eb234e71e0e
DependencyPath=PepperDashEssentials.cpz:Crestron.SimplSharpPro.UI.dll
DependencyMainAssembly=Crestron.SimplSharpPro.UI.dll:089312a0cb0b4537072d4eb234e71e0e
ü
-DependencySource=Essentials Devices Common.dll:bd1f528d502da8cf608b0e02c759fe66
+DependencySource=Essentials Devices Common.dll:34096f733e1dccaaa0a25a0078bee6c1
DependencyPath=PepperDashEssentials.cpz:Essentials Devices Common.dll
-DependencyMainAssembly=Essentials Devices Common.dll:bd1f528d502da8cf608b0e02c759fe66
+DependencyMainAssembly=Essentials Devices Common.dll:34096f733e1dccaaa0a25a0078bee6c1
ü
DependencySource=EssentialsHttpServer.dll:0666085bdb0856c1d117699c7859bb8c
DependencyPath=PepperDashEssentials.cpz:EssentialsHttpServer.dll
@@ -58,9 +58,9 @@ DependencySource=PepperDash_Essentials_Displays.dll:3135ef6b8f66b5b1bc5223aad3ef
DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_Displays.dll
DependencyMainAssembly=PepperDash_Essentials_Displays.dll:3135ef6b8f66b5b1bc5223aad3ef66e0
ü
-DependencySource=PepperDash_Essentials_DM.dll:74a4eda48a2b1a459216a509a699818e
+DependencySource=PepperDash_Essentials_DM.dll:79c934f3762e7e3ad6044a4afb070e29
DependencyPath=PepperDashEssentials.cpz:PepperDash_Essentials_DM.dll
-DependencyMainAssembly=PepperDash_Essentials_DM.dll:74a4eda48a2b1a459216a509a699818e
+DependencyMainAssembly=PepperDash_Essentials_DM.dll:79c934f3762e7e3ad6044a4afb070e29
ü
DependencySource=SimplSharpCryptographyInterface.dll:dd4791a86d6f67ddc309c4ab1e24c663
DependencyPath=PepperDashEssentials.cpz:SimplSharpCryptographyInterface.dll
diff --git a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser
index c2d63e73..4a12ff36 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser and b/PepperDashEssentials/PepperDashEssentials/bin/manifest.ser differ
diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.csproj.FileListAbsolute.txt b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.csproj.FileListAbsolute.txt
index cf3b1a07..b90a541c 100644
--- a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.csproj.FileListAbsolute.txt
+++ b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.csproj.FileListAbsolute.txt
@@ -82,3 +82,30 @@ C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashE
C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashEssentials\bin\PepperDashCorePortalSync.dll
C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCWSHelperInterface.dll
C:\Users\hvolmer\Desktop\working\essentials-ssp\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCryptographyInterface.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\ResolveAssemblyReference.cache
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\PepperDashEssentials.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll.config
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashEssentials.pdb
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.DeviceSupport.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.DM.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.EthernetCommunications.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.Fusion.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.Remotes.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.UI.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Essentials Devices Common.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\EssentialsHttpServer.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDash_Core.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDash_Essentials_DM.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\PepperDashCorePortalSync.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCustomAttributesInterface.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpHelperInterface.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpNewtonsoft.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpPro.exe
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCWSHelperInterface.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpSQLHelperInterface.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpCryptographyInterface.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Crestron.SimplSharpPro.Gateways.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\SimplSharpReflectionInterface.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\bin\Newtonsoft.Json.Compact.dll
+C:\Users\hvolmer\Desktop\working\essentials\PepperDashEssentials\PepperDashEssentials\obj\Debug\PepperDashEssentials.pdb
diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll
index c49493fa..85b1a537 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.dll differ
diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb
index 0dc13d2d..52283be4 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/PepperDashEssentials.pdb differ
diff --git a/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache b/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache
index 8644e42a..8fd8f7c9 100644
Binary files a/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache and b/PepperDashEssentials/PepperDashEssentials/obj/Debug/ResolveAssemblyReference.cache differ