diff --git a/src/PepperDash.Core/Comm/GenericUdpServer.cs b/src/PepperDash.Core/Comm/GenericUdpServer.cs
index 61bebf8d..1c747998 100644
--- a/src/PepperDash.Core/Comm/GenericUdpServer.cs
+++ b/src/PepperDash.Core/Comm/GenericUdpServer.cs
@@ -131,14 +131,14 @@ namespace PepperDash.Core
///
///
///
- ///
- public GenericUdpServer(string key, string address, int port, int buffefSize)
+ ///
+ public GenericUdpServer(string key, string address, int port, int bufferSize)
: base(key)
{
StreamDebugging = new CommunicationStreamDebugging(key);
Hostname = address;
Port = port;
- BufferSize = buffefSize;
+ BufferSize = bufferSize;
CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(CrestronEnvironment_ProgramStatusEventHandler);
CrestronEnvironment.EthernetEventHandler += new EthernetEventHandler(CrestronEnvironment_EthernetEventHandler);
diff --git a/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/ISelectableItemsMessenger.cs b/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/ISelectableItemsMessenger.cs
index c3b3715f..8e2f8f3e 100644
--- a/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/ISelectableItemsMessenger.cs
+++ b/src/PepperDash.Essentials.MobileControl.Messengers/Messengers/ISelectableItemsMessenger.cs
@@ -41,6 +41,32 @@ namespace PepperDash.Essentials.AppServer.Messengers
AddAction("/itemsStatus", (id, content) => SendFullStatus(id));
+ AddAction("/selectItem", (id, content) =>
+ {
+ try
+ {
+ var key = content.ToObject();
+
+ if (key == null)
+ {
+ this.LogError("No key specified to select");
+ return;
+ }
+ if (itemDevice.Items.ContainsKey((TKey)Convert.ChangeType(key, typeof(TKey))))
+ {
+ itemDevice.Items[(TKey)Convert.ChangeType(key, typeof(TKey))].Select();
+ }
+ else
+ {
+ this.LogError("Key {0} not found in items", key);
+ }
+ }
+ catch (Exception e)
+ {
+ this.LogError("Error selecting item: {0}", e.Message);
+ }
+ });
+
itemDevice.ItemsUpdated += (sender, args) =>
{
SetItems();
@@ -59,18 +85,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
///
private void SetItems()
{
- /// Clear out any existing item actions
- foreach (var item in _itemKeys)
+ if (_itemKeys != null && _itemKeys.Count > 0)
{
- RemoveAction($"/{item}");
+ /// Clear out any existing item actions
+ foreach (var item in _itemKeys)
+ {
+ RemoveAction($"/{item}");
+ }
+
+ _itemKeys.Clear();
}
- _itemKeys.Clear();
-
- foreach (var input in itemDevice.Items)
+ foreach (var item in itemDevice.Items)
{
- var key = input.Key;
- var localItem = input.Value;
+ var key = item.Key;
+ var localItem = item.Value;
AddAction($"/{key}", (id, content) =>
{