mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Ignore tie lines if none present in config
This commit is contained in:
@@ -64,6 +64,8 @@ namespace PepperDash.Essentials
|
|||||||
var merged = new JObject();
|
var merged = new JObject();
|
||||||
|
|
||||||
// Put together top-level objects
|
// Put together top-level objects
|
||||||
|
// skip any objects that don't have template objects
|
||||||
|
|
||||||
if (system["info"] != null)
|
if (system["info"] != null)
|
||||||
merged.Add("info", Merge(template["info"], system["info"]));
|
merged.Add("info", Merge(template["info"], system["info"]));
|
||||||
else
|
else
|
||||||
@@ -72,25 +74,31 @@ namespace PepperDash.Essentials
|
|||||||
merged.Add("devices", MergeArraysOnTopLevelProperty(template["devices"] as JArray,
|
merged.Add("devices", MergeArraysOnTopLevelProperty(template["devices"] as JArray,
|
||||||
system["devices"] as JArray, "uid"));
|
system["devices"] as JArray, "uid"));
|
||||||
|
|
||||||
if (system["rooms"] == null)
|
if (template["rooms"] != null)
|
||||||
merged.Add("rooms", template["rooms"]);
|
{
|
||||||
else
|
if (system["rooms"] == null)
|
||||||
merged.Add("rooms", MergeArraysOnTopLevelProperty(template["rooms"] as JArray,
|
merged.Add("rooms", template["rooms"]);
|
||||||
system["rooms"] as JArray, "key"));
|
else
|
||||||
|
merged.Add("rooms", MergeArraysOnTopLevelProperty(template["rooms"] as JArray,
|
||||||
|
system["rooms"] as JArray, "key"));
|
||||||
|
}
|
||||||
|
|
||||||
if (system["sourceLists"] == null)
|
if (template["sourceLists"] != null)
|
||||||
merged.Add("sourceLists", template["sourceLists"]);
|
{
|
||||||
else
|
if (system["sourceLists"] == null)
|
||||||
merged.Add("sourceLists", Merge(template["sourceLists"], system["sourceLists"]));
|
merged.Add("sourceLists", template["sourceLists"]);
|
||||||
|
else
|
||||||
|
merged.Add("sourceLists", Merge(template["sourceLists"], system["sourceLists"]));
|
||||||
|
}
|
||||||
|
|
||||||
// Template tie lines take precdence. Config tool doesn't do them at system
|
// Template tie lines take precdence. Config tool doesn't do them at system
|
||||||
// level anyway...
|
// level anyway...
|
||||||
if (template["tieLines"] != null)
|
if (template["tieLines"] != null)
|
||||||
merged.Add("tieLines", template["tieLines"]);
|
merged.Add("tieLines", template["tieLines"]);
|
||||||
else if (system["tieLines"] != null)
|
//else if (system["tieLines"] != null)
|
||||||
merged.Add("tieLines", system["tieLines"]);
|
// merged.Add("tieLines", system["tieLines"]);
|
||||||
else
|
//else
|
||||||
merged.Add("tieLines", new JArray());
|
// merged.Add("tieLines", new JArray());
|
||||||
|
|
||||||
Debug.Console(2, "MERGED CONFIG RESULT: \x0d\x0a{0}", merged);
|
Debug.Console(2, "MERGED CONFIG RESULT: \x0d\x0a{0}", merged);
|
||||||
return merged;
|
return merged;
|
||||||
|
|||||||
@@ -69,14 +69,14 @@ namespace PepperDash.Essentials
|
|||||||
return new CotijaSystemController(key, name, props);
|
return new CotijaSystemController(key, name, props);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (typeName == "mobileControlBridge-ddvc01")
|
else if (typeName == "mobilecontrolbridge-ddvc01")
|
||||||
{
|
{
|
||||||
var comm = CommFactory.GetControlPropertiesConfig(dc);
|
var comm = CommFactory.GetControlPropertiesConfig(dc);
|
||||||
|
|
||||||
var bridge = new PepperDash.Essentials.Room.Cotija.CotijaDdvc01RoomBridge(key, name, comm.IpIdInt);
|
var bridge = new PepperDash.Essentials.Room.Cotija.CotijaDdvc01RoomBridge(key, name, comm.IpIdInt);
|
||||||
bridge.AddPreActivationAction(() =>
|
bridge.AddPreActivationAction(() =>
|
||||||
{
|
{
|
||||||
var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "cotijaServer") as CotijaSystemController;
|
var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "appServer") as CotijaSystemController;
|
||||||
if (parent == null)
|
if (parent == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present");
|
Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present");
|
||||||
|
|||||||
@@ -210,6 +210,11 @@ namespace PepperDash.Essentials
|
|||||||
|
|
||||||
var tlc = TieLineCollection.Default;
|
var tlc = TieLineCollection.Default;
|
||||||
//tlc.Clear();
|
//tlc.Clear();
|
||||||
|
if (ConfigReader.ConfigObject.TieLines == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var tieLineConfig in ConfigReader.ConfigObject.TieLines)
|
foreach (var tieLineConfig in ConfigReader.ConfigObject.TieLines)
|
||||||
{
|
{
|
||||||
var newTL = tieLineConfig.GetTieLine();
|
var newTL = tieLineConfig.GetTieLine();
|
||||||
@@ -273,7 +278,7 @@ namespace PepperDash.Essentials
|
|||||||
{
|
{
|
||||||
bridge.AddPostActivationAction(() =>
|
bridge.AddPostActivationAction(() =>
|
||||||
{
|
{
|
||||||
var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "cotijaServer") as CotijaSystemController;
|
var parent = DeviceManager.AllDevices.FirstOrDefault(d => d.Key == "appServer") as CotijaSystemController;
|
||||||
if (parent == null)
|
if (parent == null)
|
||||||
{
|
{
|
||||||
Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present");
|
Debug.Console(0, bridge, "ERROR: Cannot connect bridge. System controller not present");
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ namespace PepperDash.Essentials.Room.Cotija
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}, "cotijabridgedump", "Dumps DDVC01 bridge EISC data b,u,s", ConsoleAccessLevelEnum.AccessOperator);
|
}, "mobilebridgedump", "Dumps DDVC01 bridge EISC data b,u,s", ConsoleAccessLevelEnum.AccessOperator);
|
||||||
|
|
||||||
CrestronConsole.AddNewConsoleCommand(s => LoadConfigValues(), "loadddvc", "", ConsoleAccessLevelEnum.AccessOperator);
|
CrestronConsole.AddNewConsoleCommand(s => LoadConfigValues(), "loadddvc", "", ConsoleAccessLevelEnum.AccessOperator);
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace PepperDash.Essentials
|
|||||||
/// <param name="parent"></param>
|
/// <param name="parent"></param>
|
||||||
/// <param name="room"></param>
|
/// <param name="room"></param>
|
||||||
public CotijaEssentialsHuddleSpaceRoomBridge(EssentialsHuddleSpaceRoom room):
|
public CotijaEssentialsHuddleSpaceRoomBridge(EssentialsHuddleSpaceRoom room):
|
||||||
base("cotijaController", "Cotija Controller")
|
base("mobileControlBridge-essentialsHuddle", "Essentials Mobile Control Bridge-Huddle")
|
||||||
{
|
{
|
||||||
Room = room;
|
Room = room;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user