From 704bcc974bd4f179a5f669b7729442d0194d9e4d Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Tue, 11 Feb 2020 15:49:35 -0700 Subject: [PATCH 01/14] Adds initial example configs and Plugin Load Sequence diagram --- .../SIMPLBridgeExample_configurationFile.json | 438 ++++++++++++++++++ ...configurationFile-dmps3300c-avRouting.json | 69 +++ .../Room/Types/EssentialsPresentationRoom.cs | 437 ----------------- docs/Plugin Load Sequence.png | Bin 0 -> 407850 bytes 4 files changed, 507 insertions(+), 437 deletions(-) create mode 100644 Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json create mode 100644 Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json delete mode 100644 PepperDashEssentials/Room/Types/EssentialsPresentationRoom.cs create mode 100644 docs/Plugin Load Sequence.png diff --git a/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json b/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json new file mode 100644 index 00000000..918fe73f --- /dev/null +++ b/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json @@ -0,0 +1,438 @@ +{ + "system_url": "", + "template": {}, + "template_url": "", + "system": { + "info": { + "comment": "", + "requiredControlSofwareVersion": "", + "systemType": "huddle", + "lastModifiedDate": "2018-07-09T20:00:47.873Z", + "lastUid": 23, + "processorType": "rmc3" + }, + "devices": [ + { + "key": "processor", + "group": "processor", + "uid": 0, + "supportsCompliance": true, + "type": "rmc3", + "properties": {}, + "name": "RMC3" + }, + { + "key": "comm-1", + "uid": 1, + "name": "Generic comm 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "comParams": { + "hardwareHandshake": "None", + "parity": "None", + "protocol": "RS232", + "baudRate": 9600, + "dataBits": 8, + "softwareHandshake": "None", + "stopBits": 1 + }, + "controlPortNumber": 1, + "controlPortDevKey": "processor", + "method": "Com" + } + } + }, + { + "key": "tcp-1", + "uid": 2, + "name": "Generic TCP 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "tcpSshProperties": { + "username": "", + "autoReconnect": true, + "AutoReconnectIntervalMs": 2000, + "port": 23, + "address": "0.0.0.0", + "password": "" + }, + "method": "Tcpip" + } + } + }, + { + "key": "ssh-1", + "uid": 3, + "name": "Generic SSH 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "tcpSshProperties": { + "username": "crestron", + "autoReconnect": true, + "AutoReconnectIntervalMs": 2000, + "port": 22, + "address": "10.11.50.135", + "password": "2H3Zu&OvgXp6" + }, + "method": "Ssh" + } + } + }, + { + "key": "eisc-1A", + "uid": 4, + "type": "eiscApi", + "group": "api", + "properties": { + "control": { + "tcpSshProperties": { + "address": "127.0.0.2", + "port": 0 + }, + "ipId": "1A" + }, + "devices": [ + { + "deviceKey": "comm-1", + "joinStart": 3001 + }, + { + "deviceKey": "tcp-1", + "joinStart": 3011 + }, + { + "deviceKey": "ssh-1", + "joinStart": 3021 + }, + { + "deviceKey": "dmMd8x8-1", + "joinStart": 1 + }, + { + "deviceKey": "dmTx201C-1", + "joinStart": 3051 + }, + { + "deviceKey": "dmRmc4kScalerC-1", + "joinStart": 3061 + }, + { + "deviceKey": "dmRmc200C-1", + "joinStart": 3071 + }, + { + "deviceKey": "dmRmc100C-1", + "joinStart": 3081 + }, + { + "deviceKey": "comm-2", + "joinStart": 2501 + }, + { + "deviceKey": "comm-3", + "joinStart": 2511 + }, + { + "deviceKey": "comm-4", + "joinStart": 2521 + }, + { + "deviceKey": "cec-1", + "joinStart": 2531 + }, + { + "deviceKey": "cec-2", + "joinStart": 2541 + }, + { + "deviceKey": "cec-3", + "joinStart": 2551 + }, + { + "deviceKey": "cec-4", + "joinStart": 2561 + }, + { + "deviceKey": "cec-5", + "joinStart": 2571 + }, + { + "deviceKey": "cec-6", + "joinStart": 2581 + }, + { + "deviceKey": "cec-7", + "joinStart": 2591 + }, + { + "deviceKey": "gls-oir-1", + "joinStart": 2701 + }, + { + "deviceKey": "gls-odt-1", + "joinStart": 2751 + } + ] + } + }, + { + "key": "dmMd8x8-1", + "uid": 5, + "name": "DM-MD8x8 Chassis 1", + "type": "dmMd8x8", + "group": "dmChassis", + "properties": { + "control": { + "method": "ipid", + "ipid": "40", + "params": { + "endOfLineString": "\n", + "deviceReadyResponsePattern": ".*>" + } + }, + "volumeControls": {}, + "inputSlots": { + "1": "dmcHdDsp", + "2": "dmcHdDsp", + "3": "dmcDvi", + "4": "dmcDvi", + "5": "dmcC", + "6": "dmcCDsp" + }, + "outputSlots": { + "1": "dmcCoHd", + "2": "dmcCoHd" + }, + "inputNames": { + "1": "Input 1", + "2": "Input 2", + "3": "Input 3", + "4": "Input 4", + "5": "Input 5", + "6": "Input 6" + }, + "parentDeviceKey": "processor", + "outputNames": { + "1": "Output 1", + "2": "Output 2", + "3": "Output 3", + "4": "Output 4" + } + } + }, + { + "key": "dmTx201C-1", + "uid": 6, + "name": "DM-TX-201C 1", + "type": "dmTx201C", + "group": "dmEndpoint", + "properties": { + "control": { + "method": "ipid", + "ipid": "45", + "params": { + "endOfLineString": "\n", + "deviceReadyResponsePattern": ".*>" + } + }, + "parentDeviceKey": "dmMd8x8-1", + "parentInputNumber": "5" + } + }, + { + "key": "dmRmc4kScalerC-1", + "uid": 7, + "name": "DM-RMC-4K-SCALER-C Out 1", + "type": "dmRmc4kScalerC", + "group": "dmEndpoint", + "properties": { + "control": { + "method": "ipid", + "ipid": "61", + "params": { + "endOfLineString": "\n", + "deviceReadyResponsePattern": ".*>" + } + }, + "parentDeviceKey": "dmMd8x8-1", + "parentOutputNumber": "1" + } + }, + { + "key": "dmRmc200C-1", + "uid": 8, + "name": "DM-RMC-200-C Out 2", + "type": "dmRmc200C", + "group": "dmEndpoint", + "properties": { + "control": { + "method": "ipid", + "ipid": "62", + "params": { + "endOfLineString": "\n", + "deviceReadyResponsePattern": ".*>" + } + }, + "parentDeviceKey": "dmMd8x8-1", + "parentOutputNumber": "2" + } + }, + { + "key": "dmRmc100C-1", + "uid": 9, + "name": "DM-RMC-100-C Out 3", + "type": "dmRmc100C", + "group": "dmEndpoint", + "properties": { + "control": { + "method": "ipid", + "ipid": "63", + "params": { + "endOfLineString": "\n", + "deviceReadyResponsePattern": ".*>" + } + }, + "parentDeviceKey": "dmMd8x8-1", + "parentOutputNumber": "3" + } + }, + { + "key": "comm-2", + "uid": 10, + "name": "Rmc comm 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "comParams": { + "hardwareHandshake": "None", + "parity": "None", + "protocol": "RS232", + "baudRate": 9600, + "dataBits": 8, + "softwareHandshake": "None", + "stopBits": 1 + }, + "controlPortNumber": 1, + "controlPortDevKey": "dmRmc4kScalerC-1", + "method": "Com" + } + } + }, + { + "key": "comm-3", + "uid": 11, + "name": "Rmc comm 2", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "comParams": { + "hardwareHandshake": "None", + "parity": "None", + "protocol": "RS232", + "baudRate": 9600, + "dataBits": 8, + "softwareHandshake": "None", + "stopBits": 1 + }, + "controlPortNumber": 1, + "controlPortDevKey": "dmRmc200C-1", + "method": "Com" + } + } + }, + { + "key": "cec-1", + "uid": 13, + "name": "Tx 5 cec 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "controlPortName": "HdmiIn", + "controlPortDevKey": "dmTx201C-1", + "method": "Cec" + } + } + }, + { + "key": "cec-5", + "uid": 17, + "name": "Rmc 1 cec 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "controlPortName": "HdmiOut", + "controlPortDevKey": "dmRmc4kScalerC-1", + "method": "Cec" + } + } + }, + { + "key": "cec-6", + "uid": 18, + "name": "Dm Chassis In 1 cec 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "controlPortName": "inputCard1--hdmiIn", + "controlPortDevKey": "dmMd8x8-1", + "method": "Cec" + } + } + }, + { + "key": "cec-7", + "uid": 19, + "name": "Dm Chassis Out 1 cec 1", + "type": "genericComm", + "group": "comm", + "properties": { + "control": { + "controlPortName": "outputCard1--hdmiOut1", + "controlPortDevKey": "dmMd8x8-1", + "method": "Cec" + } + } + }, + { + "key": "gls-oir-1", + "uid": 19, + "name": "GLS-OIR-CN 1", + "type": "glsoirccn", + "group": "occupancy", + "properties": { + "control": { + "cresnetId": "41", + "method": "cresnet" + } + } + }, + { + "key": "gls-odt-1", + "uid": 19, + "name": "GLS-ODT-CN 1", + "type": "glsodtccn", + "group": "occupancy", + "properties": { + "control": { + "cresnetId": "42", + "method": "cresnet" + } + } + } + ], + "rooms": [], + "sourceLists": {}, + "tieLines": [] + } +} \ No newline at end of file diff --git a/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json b/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json new file mode 100644 index 00000000..df791e3d --- /dev/null +++ b/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json @@ -0,0 +1,69 @@ +{ + "system_url": "", + "template": { + }, + "template_url": "", + "system": { + "info": { + "comment": "", + "requiredControlSofwareVersion": "", + "systemType": "huddle", + "lastModifiedDate": "2018-07-09T20:00:47.873Z", + "lastUid": 23, + "processorType": "dmps3300c" + }, + "devices": [ + { + "key": "processor", + "group": "processor", + "uid": 0, + "supportsCompliance": true, + "type": "dmps3300c", + "properties": { + }, + "name": "DMPS3-300-C" + }, + { + "key": "eisc-A", + "uid":4, + "type": "eiscApi", + "group":"api", + "properties": { + "control":{ + "tcpSshProperties":{ + "address":"127.0.0.2", + "port":0 + }, + "ipId":"1A" + }, + "devices": [ + { + "deviceKey":"processor-avRouting", + "joinStart":1 + }, + { + "deviceKey":"processor-programAudioOutput", + "joinStart":3001 + }, + { + "deviceKey":"processor-aux1AudioOutput", + "joinStart":3011 + }, + { + "deviceKey":"processor-aux2AudioOutput", + "joinStart":3021 + } + ] + } + } + ], + "rooms": [ + + ], + "sourceLists": { + + }, + "tieLines": [ + ] + } +} \ No newline at end of file diff --git a/PepperDashEssentials/Room/Types/EssentialsPresentationRoom.cs b/PepperDashEssentials/Room/Types/EssentialsPresentationRoom.cs deleted file mode 100644 index 10a87dca..00000000 --- a/PepperDashEssentials/Room/Types/EssentialsPresentationRoom.cs +++ /dev/null @@ -1,437 +0,0 @@ -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using System.Text; -//using Crestron.SimplSharp; - -//using PepperDash.Core; -//using PepperDash.Essentials.Core; -//using PepperDash.Essentials.Room.Config; - -//namespace PepperDash.Essentials -//{ -// public class EssentialsPresentationRoom : EssentialsRoomBase, IHasCurrentSourceInfoChange -// { -// public event EventHandler CurrentVolumeDeviceChange; -// public event SourceInfoChangeHandler CurrentSingleSourceChange; -// public event SourceInfoChangeHandler CurrentDisplay1SourceChange; -// public event SourceInfoChangeHandler CurrentDisplay2SourceChange; - -// protected override Func OnFeedbackFunc { get { -// return () => (CurrentSingleSourceInfo != null -// && CurrentSingleSourceInfo.Type != eSourceListItemType.Off) -// || (Display1SourceInfo != null -// && Display1SourceInfo.Type != eSourceListItemType.Off) -// || (Display2SourceInfo != null -// && Display2SourceInfo.Type != eSourceListItemType.Off); } } - -// protected override Func IsWarmingFeedbackFunc { get { return () =>false;; } } -// protected override Func IsCoolingFeedbackFunc { get { return () => false; } } - -// public EssentialsPresentationRoomPropertiesConfig Config { get; private set; } - -// public Dictionary Displays { get; private set; } - -// public IRoutingSinkNoSwitching DefaultAudioDevice { get; private set; } -// public IBasicVolumeControls DefaultVolumeControls { get; private set; }C:\Working Directories\PD\essentials\PepperDashEssentials\Room\Types\EssentialsPresentationRoom.cs - -// /// -// /// The config name of the source list -// /// -// public string SourceListKey { get; set; } - -// /// -// /// If room is off, enables power on to last source. Default true -// /// -// public bool EnablePowerOnToLastSource { get; set; } -// string LastSourceKey; - -// public enum eVideoRoutingMode -// { -// SelectSourceSelectDisplay, SourceToAllDisplays -// } - -// public eVideoRoutingMode VideoRoutingMode { get; set; } - -// public enum eAudioRoutingMode -// { -// AudioFollowsLastVideo, SelectAudioFromDisplay -// } - -// /// -// /// -// /// -// public IBasicVolumeControls CurrentVolumeControls -// { -// get { return _CurrentAudioDevice; } -// set -// { -// if (value == _CurrentAudioDevice) return; - -// var oldDev = _CurrentAudioDevice; -// // derigister this room from the device, if it can -// if (oldDev is IInUseTracking) -// (oldDev as IInUseTracking).InUseTracker.RemoveUser(this, "audio"); -// var handler = CurrentVolumeDeviceChange; -// if (handler != null) -// CurrentVolumeDeviceChange(this, new VolumeDeviceChangeEventArgs(oldDev, value, ChangeType.WillChange)); -// _CurrentAudioDevice = value; -// if (handler != null) -// CurrentVolumeDeviceChange(this, new VolumeDeviceChangeEventArgs(oldDev, value, ChangeType.DidChange)); -// // register this room with new device, if it can -// if (_CurrentAudioDevice is IInUseTracking) -// (_CurrentAudioDevice as IInUseTracking).InUseTracker.AddUser(this, "audio"); -// } -// } -// IBasicVolumeControls _CurrentAudioDevice; - -// /// -// /// The SourceListItem last run - containing names and icons. The complex setter is -// /// to add/remove this room to the source's InUseTracking, if it is capable -// /// -// public SourceListItem CurrentSingleSourceInfo -// { -// get { return _CurrentSingleSourceInfo; } -// private set -// { -// if (value == _CurrentSingleSourceInfo) return; - -// var handler = CurrentSingleSourceChange; -// // remove from in-use tracker, if so equipped -// if(_CurrentSingleSourceInfo != null && _CurrentSingleSourceInfo.SourceDevice is IInUseTracking) -// (_CurrentSingleSourceInfo.SourceDevice as IInUseTracking).InUseTracker.RemoveUser(this, "control"); - -// if (handler != null) -// handler(this, _CurrentSingleSourceInfo, ChangeType.WillChange); - -// _CurrentSingleSourceInfo = value; - -// // add to in-use tracking -// if (_CurrentSingleSourceInfo != null && _CurrentSingleSourceInfo.SourceDevice is IInUseTracking) -// (_CurrentSingleSourceInfo.SourceDevice as IInUseTracking).InUseTracker.AddUser(this, "control"); -// if (handler != null) -// handler(this, _CurrentSingleSourceInfo, ChangeType.DidChange); -// } -// } -// SourceListItem _CurrentSingleSourceInfo; - -// public SourceListItem Display1SourceInfo -// { -// get { return _Display1SourceInfo; } -// set -// { -// if (value == _Display1SourceInfo) return; - -// var handler = CurrentDisplay1SourceChange; -// if (handler != null) -// handler(this, _Display1SourceInfo, ChangeType.WillChange); - -// _Display1SourceInfo = value; - -// if (handler != null) -// handler(this, _Display1SourceInfo, ChangeType.DidChange); -// } -// } -// SourceListItem _Display1SourceInfo; - -// public SourceListItem Display2SourceInfo -// { -// get { return _Display2SourceInfo; } -// set -// { -// if (value == _Display2SourceInfo) return; - -// var handler = CurrentDisplay2SourceChange; -// if (handler != null) -// handler(this, _Display2SourceInfo, ChangeType.WillChange); - -// _Display2SourceInfo = value; - -// if (handler != null) -// handler(this, _Display2SourceInfo, ChangeType.DidChange); -// } -// } -// SourceListItem _Display2SourceInfo; - -// /// -// /// If an audio dialer is available for this room -// /// -// public bool HasAudioDialer { get { return false; } } -// /// -// /// -// /// -// /// -// /// -// public EssentialsPresentationRoom(string key, string name, -// Dictionary displays, -// IBasicVolumeWithFeedback defaultVolume, EssentialsPresentationRoomPropertiesConfig config) -// : base(key, name) -// { -// Config = config; -// Displays = displays; - -// DefaultVolumeControls = defaultVolume; -// CurrentVolumeControls = defaultVolume; - -// //DefaultAudioDevice = defaultAudio; -// //if (defaultAudio is IBasicVolumeControls) -// // DefaultVolumeControls = defaultAudio as IBasicVolumeControls; -// //else if (defaultAudio is IHasVolumeDevice) -// // DefaultVolumeControls = (defaultAudio as IHasVolumeDevice).VolumeDevice; - - -// SourceListKey = "default"; -// EnablePowerOnToLastSource = true; -// } - -// /// -// /// Run the same source to all destinations -// /// -// /// -// public void RouteSourceToAllDestinations(SourceListItem sourceItem) -// { -// if (Config.Volumes.Master != null) -// { -// var audioDev = DeviceManager.GetDeviceForKey(Config.Volumes.Master.DeviceKey); -// if (audioDev is IBasicVolumeWithFeedback) -// { - -// } -// } - -// foreach (var display in Displays.Values) -// { -// if (sourceItem != null) -// DoVideoRoute(sourceItem.SourceKey, display.Key); -// else -// DoVideoRoute("$off", display.Key); -// } -// Display1SourceInfo = sourceItem; -// Display2SourceInfo = sourceItem; -// CurrentSingleSourceInfo = sourceItem; -// OnFeedback.FireUpdate(); -// } - -// public void SourceToDisplay1(SourceListItem sourceItem) -// { -// DoVideoRoute(sourceItem.SourceKey, Displays[1].Key); -// Display1SourceInfo = sourceItem; -// OnFeedback.FireUpdate(); -// } - -// public void SourceToDisplay2(SourceListItem sourceItem) -// { -// DoVideoRoute(sourceItem.SourceKey, Displays[2].Key); -// Display2SourceInfo = sourceItem; -// OnFeedback.FireUpdate(); -// } - - -// /// -// /// Basic source -> destination routing -// /// -// void DoVideoRoute(string sourceKey, string destinationKey) -// { -// new CTimer(o => -// { -// var dest = DeviceManager.GetDeviceForKey(destinationKey) as IRoutingSinkNoSwitching; -// if (dest == null) -// { -// Debug.Console(1, this, "Cannot route. Destination '{0}' not found", destinationKey); -// return; -// } -// // off is special case -// if (sourceKey.Equals("$off", StringComparison.OrdinalIgnoreCase)) -// { -// dest.ReleaseRoute(); -// if (dest is IPower) -// (dest as IPower).PowerOff(); -// return; -// } - -// var source = DeviceManager.GetDeviceForKey(sourceKey) as IRoutingOutputs; -// if (source == null) -// { -// Debug.Console(1, this, "Cannot route. Source '{0}' not found", sourceKey); -// return; -// } -// dest.ReleaseAndMakeRoute(source, eRoutingSignalType.Video); -// }, 0); -// } - -// /// -// /// -// /// -// protected override void EndShutdown() -// { -// RunRouteAction("roomoff"); -// } - -// /// -// /// -// /// -// /// -// public void RunRouteAction(string routeKey) -// { -// RunRouteAction(routeKey, null); -// } - -// /// -// /// Gets a source from config list SourceListKey and dynamically build and executes the -// /// route or commands -// /// -// /// -// public void RunRouteAction(string routeKey, Action successCallback) -// { -// // Run this on a separate thread -// new CTimer(o => -// { -// Debug.Console(1, this, "Run room action '{0}'", routeKey); -// var dict = ConfigReader.ConfigObject.GetSourceListForKey(SourceListKey); -// if(dict == null) -// { -// Debug.Console(1, this, "WARNING: Config source list '{0}' not found", SourceListKey); -// return; -// } - -// // Try to get the list item by it's string key -// if (!dict.ContainsKey(routeKey)) -// { -// Debug.Console(1, this, "WARNING: No item '{0}' found on config list '{1}'", -// routeKey, SourceListKey); -// return; -// } - -// var item = dict[routeKey]; -// //Debug.Console(2, this, "Action {0} has {1} steps", -// // item.SourceKey, item.RouteList.Count); - -// // Let's run it -// if (routeKey.ToLower() != "roomoff") -// LastSourceKey = routeKey; - -// foreach (var route in item.RouteList) -// { -// // if there is a $defaultAll on route, run two separate -// if (route.DestinationKey.Equals("$defaultAll", StringComparison.OrdinalIgnoreCase)) -// { -// var tempAudio = new SourceRouteListItem -// { -// DestinationKey = "$defaultDisplay", -// SourceKey = route.SourceKey, -// Type = eRoutingSignalType.Video -// }; -// DoRoute(tempAudio); - -// var tempVideo = new SourceRouteListItem -// { -// DestinationKey = "$defaultAudio", -// SourceKey = route.SourceKey, -// Type = eRoutingSignalType.Audio -// }; -// DoRoute(tempVideo); -// continue; -// } -// else -// DoRoute(route); -// } - -// // Set volume control on room, using default if non provided -// IBasicVolumeControls volDev = null; -// // Handle special cases for volume control -// if (string.IsNullOrEmpty(item.VolumeControlKey) -// || item.VolumeControlKey.Equals("$defaultAudio", StringComparison.OrdinalIgnoreCase)) -// volDev = DefaultVolumeControls; -// //else if (item.VolumeControlKey.Equals("$defaultDisplay", StringComparison.OrdinalIgnoreCase)) -// // volDev = DefaultDisplay as IBasicVolumeControls; -// // Or a specific device, probably rarely used. -// else -// { -// var dev = DeviceManager.GetDeviceForKey(item.VolumeControlKey); -// if (dev is IBasicVolumeControls) -// volDev = dev as IBasicVolumeControls; -// else if (dev is IHasVolumeDevice) -// volDev = (dev as IHasVolumeDevice).VolumeDevice; -// } -// CurrentVolumeControls = volDev; - -// // store the name and UI info for routes -// if (item.SourceKey != null) -// CurrentSingleSourceInfo = item; -// // And finally, set the "control". This will trigger event -// //CurrentControlDevice = DeviceManager.GetDeviceForKey(item.SourceKey) as Device; - -// OnFeedback.FireUpdate(); - -// // report back when done -// if (successCallback != null) -// successCallback(); -// }, 0); // end of CTimer -// } - -// /// -// /// Will power the room on with the last-used source -// /// -// public void PowerOnToDefaultOrLastSource() -// { -// if (!EnablePowerOnToLastSource || LastSourceKey == null) -// return; -// RunRouteAction(LastSourceKey); -// } - -// /// -// /// Does what it says -// /// -// public override void SetDefaultLevels() -// { -// Debug.Console(0, this, "SetDefaultLevels not implemented"); -// } - -// /// -// /// -// /// -// /// -// /// -// bool DoRoute(SourceRouteListItem route) -// { -// IRoutingSinkNoSwitching dest = null; - -// if (route.DestinationKey.Equals("$defaultaudio", StringComparison.OrdinalIgnoreCase)) -// dest = DefaultAudioDevice; -// //else if (route.DestinationKey.Equals("$defaultDisplay", StringComparison.OrdinalIgnoreCase)) -// // dest = DefaultDisplay; -// else -// dest = DeviceManager.GetDeviceForKey(route.DestinationKey) as IRoutingSinkNoSwitching; - -// if (dest == null) -// { -// Debug.Console(1, this, "Cannot route, unknown destination '{0}'", route.DestinationKey); -// return false; -// } - -// if (route.SourceKey.Equals("$off", StringComparison.OrdinalIgnoreCase)) -// { -// dest.ReleaseRoute(); -// if (dest is IPower) -// (dest as IPower).PowerOff(); -// } -// else -// { -// var source = DeviceManager.GetDeviceForKey(route.SourceKey) as IRoutingOutputs; -// if (source == null) -// { -// Debug.Console(1, this, "Cannot route unknown source '{0}' to {1}", route.SourceKey, route.DestinationKey); -// return false; -// } -// dest.ReleaseAndMakeRoute(source, route.Type); -// } -// return true; -// } - -// public override void RoomVacatedForTimeoutPeriod(object o) -// { -// //Implement this -// } - -// } -//} \ No newline at end of file diff --git a/docs/Plugin Load Sequence.png b/docs/Plugin Load Sequence.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c4732c69c73568a77e5245ed4dc1a73d0b65b7 GIT binary patch literal 407850 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
    nk8H^0c>+ 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 - /// Shows received lines as hex - /// - public bool ShowHexResponse { get; set; } - public Dictionary Endpoints; - public Dictionary ServerIdByEndpointIp; - - public EvertzEndpointStatusServer(string key, string name, GenericUdpServer server, EvertzEndpointStatusServerPropertiesConfig props) : - base(key, name) - { - Server = server; - Address = props.serverHostname; - Server.DataRecievedExtra += new EventHandler(_Server_DataRecievedExtra); - - Server.Connect(); - Endpoints = new Dictionary(); - - //CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(CrestronEnvironment_ProgramStatusEventHandler); - } - - - - //TODO JTA: Move this method and process over to the endpoint itself. return a bool. - public bool RegisterEvertzEndpoint (EvertzEndpoint device) - { - - if (Endpoints.ContainsKey(device.Address) == false) - { - Endpoints.Add(device.Address, device); - } - - return true; - } - - - - - void _Server_DataRecievedExtra(object sender, GenericUdpReceiveTextExtraArgs e) - { - Debug.Console(2, this, "_Server_DataRecievedExtra:\nIP:{0}\nPort:{1}\nText{2}\nBytes:{3} ", e.IpAddress, e.Port, e.Text, e.Bytes); - } - - public override bool CustomActivate() - { - /* - Communication.Connect(); - CommunicationMonitor.StatusChange += (o, a) => { Debug.Console(2, this, "Communication monitor state: {0}", CommunicationMonitor.Status); }; - CommunicationMonitor.Start(); - */ - - - - - - return true; - } - - } - - - - - - - - - - - - public class EvertzPortRestResponse - { - public string id; - public string name; - public string type; - public string value; - - } - - public class EvertsStatusRequesstResponse - { - public EvertzStatusDataResponse data; - public string error; - } - - public class EvertzStatusDataResponse - { - public List servers; - } - - public class EvertzServerStatusResponse - { - public string id; - public string name; - public EvertsServerStausNotificationsResponse notify; - - } - public class EvertsServerStausNotificationsResponse - { - public string ip; - public List parameters; - public string port; - public string protocol; - } - public class EvertzEndpointStatusServerPropertiesConfig - { - - public ControlPropertiesConfig control { get; set; } - public string serverHostname { get; set; } - - } - - } diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpoint.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpoint.cs deleted file mode 100644 index 7ab504d1..00000000 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpoint.cs +++ /dev/null @@ -1,337 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; -using PepperDash.Core; -using PepperDash.Essentials.Core; -using System.Text.RegularExpressions; -using Crestron.SimplSharp.Net.Http; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; - - -namespace PepperDash.Essentials.Devices.Common -{ - - public class EvertzEndpoint : Device - { - - - - public IBasicCommunication Communication { get; private set; } - public CommunicationGather PortGather { get; private set; } - public GenericCommunicationMonitor CommunicationMonitor { get; private set; } - - private GenericHttpClient Client; - public string userName; - public string password; - public string Address; - private bool OnlineStatus; - public BoolFeedback OnlineFeedback; - public IntFeedback PresetFeedback; - - - public bool isSubscribed; - - - - CrestronQueue CommandQueue; - - public Dictionary Ports; - - private string _ControllerKey; - - - private EvertzEndpointStatusServer StatusServer; - private String StatusServerId; - - /// - /// Shows received lines as hex - /// - public bool ShowHexResponse { get; set; } - - public EvertzEndpoint(string key, string name, EvertzEndpointPropertiesConfig props, string type) : - base(key, name) - { - - - this.Address = props.address; - Client = new GenericHttpClient(string.Format("{0}-GenericWebClient", name), string.Format("{0}-GenericWebClient", name), this.Address); - Client.ResponseRecived += new EventHandler(Client_ResponseRecived); - Ports = new Dictionary(); - if (type.ToLower() == "mma10g-trs4k") - { - //create port hdmi 01 - EvertzEndpointPort hdmi1 = new EvertzEndpointPort("HDMI01", "131.0@s", "136.0@s"); - EvertzEndpointPort hdmi2 = new EvertzEndpointPort("HDMI02", "131.1@s", "136.1@s"); - // add to dictionay with all keys - addPortToDictionary(hdmi1); - addPortToDictionary(hdmi2); - } - _ControllerKey = null; - if (props.controllerKey != null) - { - _ControllerKey = props.controllerKey; - } - AddPostActivationAction( () => {PostActivation();}); - CrestronEnvironment.ProgramStatusEventHandler += new ProgramStatusEventHandler(CrestronEnvironment_ProgramStatusEventHandler); - if (props.CommunicationMonitorProperties != null) - { - CommunicationMonitor = new GenericCommunicationMonitor(this, Client, props.CommunicationMonitorProperties); - } - else - { - CommunicationMonitor = new GenericCommunicationMonitor(this, Client, 40000, 120000, 300000, "v.api/apis/EV/SERVERSTATUS"); - } - - - } - - /// - /// Helper method - /// - /// - private void addPortToDictionary(EvertzEndpointPort port) - { - Ports.Add(port.PortName, port); - Ports.Add(port.ResolutionVarID, port); - Ports.Add(port.SyncVarID, port); - //PollForState(port.SyncVarID); - //PollForState(port.ResolutionVarID); - } - - /// - /// - /// - /// - public override bool CustomActivate() - { - - // Create Device -> Constructor fires - // PreActivations get called - // CustomActivate Gets Called Anything that is involved with this single class Ex: Connection, Setup Feedback, Etc. - // After this point all devices are ready for interaction - // PostActivation gets called. Use this for interClass activation. - CommunicationMonitor.Start(); - OnlineFeedback = new BoolFeedback(() => { return OnlineStatus; }); - - - //CrestronConsole.AddNewConsoleCommand(SendLine, "send" + Key, "", ConsoleAccessLevelEnum.AccessOperator); - return true; - } - - /// - /// - /// - private void PostActivation() - { - Debug.Console(2, this, "EvertzEndpoint Post Activation"); - if (_ControllerKey != null) - { - StatusServer = DeviceManager.GetDeviceForKey(_ControllerKey) as EvertzEndpointStatusServer; - StatusServer.RegisterEvertzEndpoint(this); - - // RegisterStatusServer(); - // SendStatusRequest(); - } - // PollAll(); - } - - void CrestronEnvironment_ProgramStatusEventHandler(eProgramStatusEventType programEventType) - { - if (programEventType == eProgramStatusEventType.Stopping) - { - Debug.Console(1, this, "Program stopping. Disabling EvertzStatusServer"); - if (StatusServerId != null) - { - //UnregisterServer(); - } - } - } - - private void ProcessServerStatusRequest(EvertsStatusRequesstResponse status) - { - // var status = JsonConvert.DeserializeObject(SendStatusRequest()); - if (status.error != null) - { - - } - else if (status.data != null) - { - foreach (var server in status.data.servers) - { - if (server.name == string.Format("{0}-{1}", this.Name, StatusServer.Address)) - { - StatusServerId = server.id; - Debug.Console(2, this, "EvertzEndpoint {0} StatusServer {1} Registered ID {2}", Name, StatusServer.Name, StatusServerId); - /* - - foreach (var port in Ports) - { - // TODO JTA: This needs a better check - // you get a {"status": "success"} or "error": "error to register notification- Variable exists.." - if (!server.notify.parameters.Contains(port.Value.ResolutionVarID)) - { - RegisterForNotification(StatusServerId, port.Value.ResolutionVarID); - } - if (!server.notify.parameters.Contains(port.Value.ResolutionVarID)) - { - RegisterForNotification(StatusServerId, port.Value.SyncVarID); - } - } - */ - - break; - } - } - StatusServerId = null; - } - } - private void RegisterServerWithEndpoint() - { - /* - var registrationResult = RegisterServer(StatusServer.Address, string.Format("{0}-{1}", this.Name, StatusServer.Address), StatusServer.Server.Port.ToString()); - Debug.Console(2, this, "EvertzEndpointStatusServer Registration Result with device {0}\n{1}", Address, registrationResult); - if (registrationResult.Contains("success")) - { - RegisterStatusServer(); - } - else - { - Debug.Console(0, this, "EvertzEndpointStatusServer RegisterServerWithEndpoint with device {0}\n{1}", Address, registrationResult); - - } - * */ - } - - public void PollAll() - { - string collection = ""; - foreach (var parameter in Ports) - { - if (parameter.Key.Contains("@")) - { - collection = collection + parameter.Key + ","; - } - } - collection = collection.Substring(0, collection.Length - 1); - SendGetRequest(collection); - } - public void PollForState(string varId) - { - try - { - SendGetRequest(varId); - //var returnState = JsonConvert.DeserializeObject(SendGetRequest(varId)); - - } - catch (Exception e) - { - Debug.Console(0, this, "PollForState {0}", e); - - } - } - - - public void ProcessGetParameterResponse(EvertzPortRestResponse response) - { - var PortObject = Ports[response.id]; - if (response.name == "Input Status") - { - if (response.value == "Missing") { PortObject.SyncDetected = false; } - else { PortObject.SyncDetected = true; } - } - } - public void SendGetRequest(string s) - { - Client.SendText("v.api/apis/EV/GET/parameter/{0}", s); - } - - public void SendStatusRequest() - { - Client.SendText("/v.api/apis/EV/SERVERSTATUS"); - } - public void RegisterServer(string hostname, string servername, string port) - { - Client.SendText("v.api/apis/EV/SERVERADD/server/{0}/{1}/{2}/udp", hostname, servername, port); - } - public void UnregisterServer() - { - if (StatusServerId != null) - { - Client.SendTextNoResponse("v.api/apis/EV/SERVERDEL/server/{0}", StatusServerId); - } - } - - // TODO JTA: Craete a UnregisterServerFast using DispatchASync. - public void RegisterForNotification(string varId) - { - Client.SendText("v.api/apis/EV/NOTIFYADD/parameter/{0}/{1}", StatusServerId, varId); - } - - - void Client_ResponseRecived(object sender, GenericHttpClientEventArgs e) - { - if (e.Error == HTTP_CALLBACK_ERROR.COMPLETED) - { - if (e.RequestPath.Contains("GET/parameter/")) - { - // Get Parameter response - if (!e.ResponseText.Contains("[")) - ProcessGetParameterResponse(JsonConvert.DeserializeObject(e.ResponseText)); - else if (e.ResponseText.Contains("[")) - { - List test = JsonConvert.DeserializeObject>(e.ResponseText); - foreach (var thing in test) - { - ProcessGetParameterResponse(thing); - } - - } - } - else if (e.RequestPath.Contains("SERVERSTATUS")) - { - PollAll(); - ProcessServerStatusRequest(JsonConvert.DeserializeObject(e.ResponseText)); - } - } - } - - - - - public class EvertzPortsRestResponse - { - List test; - } - public class EvertzPortRestResponse - { - public string id; - public string name; - public string type; - public string value; - - } - - public class EvertzEndpointPort - { - public string PortName; - public string SyncVarID; - public string ResolutionVarID; - public bool SyncDetected; - public string Resolution; - public BoolFeedback SyncDetectedFeedback; - - public EvertzEndpointPort (string portName, string syncVarId, string resolutionVarId) - { - PortName = portName; - SyncVarID = syncVarId; - ResolutionVarID = resolutionVarId; - SyncDetectedFeedback = new BoolFeedback(() => { return SyncDetected; }); - } - - } - - } -} \ No newline at end of file diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointPropertiesConfig.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointPropertiesConfig.cs deleted file mode 100644 index 5beff4df..00000000 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointPropertiesConfig.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; - -using PepperDash.Core; -using PepperDash.Essentials.Core; - -namespace PepperDash.Essentials.Devices.Common -{ - /// - /// - /// - public class EvertzEndpointPropertiesConfig - { - public CommunicationMonitorConfig CommunicationMonitorProperties { get; set; } - - public ControlPropertiesConfig Control { get; set; } - public string userName { get; set; } - public string password { get; set; } - public string address { get; set; } - public string controllerKey { get; set; } - } - -} \ No newline at end of file diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointVarIds.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointVarIds.cs deleted file mode 100644 index fc5200f1..00000000 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointVarIds.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; - -namespace PepperDash.Essentials.Devices.Common -{ - public class EvertzEndpointVarIds - { - private string HdmiPort01SyncStatus = "136.0"; - } -} \ No newline at end of file diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Factory/DeviceFactory.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Factory/DeviceFactory.cs index 004a2579..48179ff1 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Factory/DeviceFactory.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Factory/DeviceFactory.cs @@ -107,21 +107,6 @@ namespace PepperDash.Essentials.Devices.Common properties.ToString()); return new DigitalLogger(key, name, props); } - else if (groupName == "evertzendpoint") - { - // var comm = CommFactory.CreateCommForDevice(dc); - var props = JsonConvert.DeserializeObject( - properties.ToString()); - return new EvertzEndpoint(key, name, props, typeName); - } - else if (typeName == "evertzendpointstatusserver") - { - var server = CommFactory.CreateCommForDevice(dc) as GenericUdpServer; - - var props = JsonConvert.DeserializeObject( - properties.ToString()); - return new EvertzEndpointStatusServer(key, name, server, props); - } else if (typeName == "genericaudiooutwithvolume") { var zone = dc.Properties.Value("zone"); @@ -395,13 +380,6 @@ namespace PepperDash.Essentials.Devices.Common } } - //else if (typeName == "qscdsp") - //{ - // var comm = CommFactory.CreateCommForDevice(dc); - // var props = JsonConvert.DeserializeObject( - // properties.ToString()); - // return new QscDsp(key, name, comm, props); - //} return null; } diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Power Controllers/Digitallogger.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Power Controllers/Digitallogger.cs index e48a5b7b..358c63cb 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Power Controllers/Digitallogger.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Power Controllers/Digitallogger.cs @@ -26,7 +26,7 @@ namespace PepperDash.Essentials.Devices.Common public string address; private bool OnlineStatus; public BoolFeedback OnlineFeedback; - private ushort CurrentPreset; + //private ushort CurrentPreset; public IntFeedback PresetFeedback; public Dictionary CircuitStatus; @@ -103,7 +103,7 @@ namespace PepperDash.Essentials.Devices.Common }); CircuitIsCritical[circuit] = new BoolFeedback(() => { - if (CircuitStatus[circuit].critical != null) + if (CircuitStatus.ContainsKey(circuit)) { return CircuitStatus[circuit].critical; } @@ -114,7 +114,7 @@ namespace PepperDash.Essentials.Devices.Common }); CircuitState[circuit] = new BoolFeedback(() => { - if (CircuitStatus[circuit].state != null) + if (CircuitStatus.ContainsKey(circuit)) { return CircuitStatus[circuit].state; } diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ResponseObjects.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ResponseObjects.cs index 3a78c5e0..c603ca08 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ResponseObjects.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ResponseObjects.cs @@ -979,8 +979,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom meeting.StartTime = b.StartTime; if (b.EndTime != null) meeting.EndTime = b.EndTime; - if (b.IsPrivate != null) - meeting.Privacy = b.IsPrivate ? eMeetingPrivacy.Private : eMeetingPrivacy.Public; + + meeting.Privacy = b.IsPrivate ? eMeetingPrivacy.Private : eMeetingPrivacy.Public; // No meeting.Calls data exists for Zoom Rooms. Leaving out for now. diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoom.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoom.cs index 4d4ad472..84881df3 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoom.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoom.cs @@ -43,8 +43,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom public bool CommDebuggingIsOn; - CTimer LoginMessageReceivedTimer; - CTimer RetryConnectionTimer; + //CTimer LoginMessageReceivedTimer; + //CTimer RetryConnectionTimer; /// /// Gets and returns the scaled volume of the codec diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs index 32a8296e..209cfdd9 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/ZoomRoom/ZoomRoomCamera.cs @@ -47,13 +47,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom private bool isZooming; - private bool isFocusing; + //private bool isFocusing; private bool isMoving { get { - return isPanning || isTilting || isZooming || isFocusing; + return isPanning || isTilting || isZooming; } } From 6a9a793bc5c5535f6d001e70612c97ce9a1a6a90 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Wed, 12 Feb 2020 23:26:59 -0700 Subject: [PATCH 03/14] Adds example config file for EssentialsHuddleVtc1Room type --- ...onFile-mockVideoCodec_din-ap3_-_dm4x1.json | 387 ++++++++++++++++++ 1 file changed, 387 insertions(+) create mode 100644 Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json diff --git a/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json b/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json new file mode 100644 index 00000000..c419138d --- /dev/null +++ b/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json @@ -0,0 +1,387 @@ +{ + "system": { + "rooms": [ + { + "name": "Example Room", + "key": "room1", + "properties": { + "occupancy": { + "timeoutMinutes": "60" + } + } + } + ], + "devices": [ + { + "key": "hdMd4x14kE-1", + "uid": 4, + "properties": { + "control": { + "tcpSshProperties": { + "address": "0.0.0.0" + } + } + } + }, + { + "key": "mockCodec-1", + "uid": 5, + "properties": { + "control": { + "tcpSshProperties": { + "address": "0.0.0.0" + } + } + } + } + ], + "info": { + "lastModifiedDate": "2019-02-26T21:08:09.195Z" + } + }, + "system_url": "", + "template_url": "", + "template": { + "rooms": [ + { + "type": "huddleVtc1", + "name": "Essentials DIN-AP3 - DM4x1", + "key": "room1", + "properties": { + "defaultDisplayKey": "display-1", + "description": "", + "helpMessage": "", + "sourceListKey": "default", + "defaultVideoBehavior": "basic", + "logo": { + "type": "system", + "url": "" + }, + "occupancy": { + "timeoutMinutes": "60", + "deviceKey": "glsOdtCCn-1" + }, + "defaultSourceItem": "source-1", + "videoCodecKey": "mockCodec-1", + "hasDsp": false, + "volumes": { + "master": { + "level": 40, + "deviceKey": "mockCodec-1", + "label": "Volume" + } + }, + "defaultAudioKey": "display-1", + "tech": { + "password": "1234" + } + } + } + ], + "devices": [ + { + "name": "DIN-AP3", + "key": "processor", + "type": "dinAp3", + "group": "processor", + "uid": 0, + "properties": { + } + }, + { + "name": "Room PC", + "key": "inRoomPc-1", + "type": "inRoomPc", + "properties": { + "hasAudio": true, + "hasControls": false, + "isDefault": true + }, + "group": "pc", + "uid": 1 + }, + { + "name": "Laptop", + "key": "laptop-1", + "type": "laptop", + "properties": { + "hasAudio": true, + "hasControls": false + }, + "group": "pc", + "uid": 2 + }, + { + "name": "Wireless Video", + "key": "wePresent-1", + "type": "wePresent", + "properties": {}, + "group": "genericSource", + "uid": 3 + }, + { + "name": "HD-MD4x1-4k-E HDMI Switch 1", + "key": "hdMd4x14kE-1", + "type": "hdMd4x14kE", + "properties": { + "control": { + "params": { + "deviceReadyResponsePattern": ".*>", + "endOfLineString": "\n" + }, + "ipid": "10", + "method": "ipidTcp", + "tcpSshProperties": { + "port": 0, + "address": "" + } + }, + "parentDeviceKey": "processor", + "inputs": { + "hdmiIn2": { + "disableHdcp": true + }, + "hdmiIn3": { + "disableHdcp": true + }, + "hdmiIn4": { + "disableHdcp": true + }, + "hdmiIn1": { + "disableHdcp": true + } + } + }, + "group": "hdMdSwitch", + "uid": 4 + }, + { + "name": "Mock Video Codec 1", + "key": "mockCodec-1", + "type": "mockVideoCodec", + "properties": { + "favorites": [ + { + "name": "Corporate WebEx", + "number": "5555555555" + } + ] + }, + "group": "videoCodec", + "uid": 5 + }, + { + "name": "Samsung MDC Protocol 1", + "key": "display-1", + "type": "samsungmdc", + "properties": { + "id": "01", + "control": { + "controlPortDevKey": "processor", + "controlPortNumber": 1, + "method": "com", + "comParams": { + "protocol": "RS232", + "baudRate": 9600, + "hardwareHandshake": "None", + "softwareHandshake": "None", + "dataBits": 8, + "parity": "None", + "stopBits": 1 + } + } + }, + "group": "display", + "uid": 6 + }, + { + "name": "Crestron GLS-ODT-C-CN 1", + "key": "glsOdtCCn-1", + "type": "glsOdtCCn", + "properties": { + "control": { + "method": "cresnet", + "cresnetId": "97" + } + }, + "group": "occupancy", + "uid": 7 + }, + { + "name": "TSW-760", + "key": "tsw760-1", + "type": "tsw760", + "properties": { + "control": { + "params": { + "deviceReadyResponsePattern": ".*>", + "endOfLineString": "\n" + }, + "ipid": "03", + "method": "ipid" + }, + "showVolumeGauge": true, + "sourcesOverflowCount": 4, + "showDate": true, + "headerStyle": "Verbose", + "sgdFile": "PepperDash Essentials TSW-760.sgd", + "showTime": true, + "roomListKey": "", + "usesSplashPage": false, + "defaultRoomKey": "room1" + }, + "group": "touchpanel", + "uid": 8 + }, + { + "name": "Crestron XPanel", + "key": "crestronApp-1", + "type": "crestronApp", + "properties": { + "control": { + "params": { + "deviceReadyResponsePattern": ".*>", + "endOfLineString": "\n" + }, + "ipid": "04", + "method": "ipid" + }, + "showVolumeGauge": true, + "sourcesOverflowCount": 5, + "showDate": true, + "headerStyle": "Verbose", + "sgdFile": "PepperDash Essentials iPad.sgd", + "showTime": true, + "roomListKey": "", + "projectName": "PepperDash Essentials iPad", + "defaultRoomKey": "room1", + "usesSplashPage": false + }, + "group": "touchpanel", + "uid": 9 + } + ], + "info": { + "comment": "", + "lastUid": 10, + "lastModifiedDate": "2018-07-02T17:41:06.550Z", + "systemType": "huddle", + "processorType": "dinAp3", + "requiredControlSofwareVersion": "" + }, + "tieLines": [ + { + "type": "audioVideo", + "sourceKey": "hdMd4x14kE-1", + "destinationKey": "mockCodec-1", + "destinationPort": "HdmiIn2", + "sourcePort": "hdmiOut" + }, + { + "type": "audioVideo", + "sourceKey": "mockCodec-1", + "destinationKey": "display-1", + "destinationPort": "HdmiIn1", + "sourcePort": "HdmiOut1" + }, + { + "type": "audioVideo", + "sourceKey": "laptop-1", + "destinationKey": "hdMd4x14kE-1", + "destinationPort": "hdmiIn1", + "sourcePort": "anyOut" + }, + { + "type": "audioVideo", + "sourceKey": "inRoomPc-1", + "destinationKey": "mockCodec-1", + "destinationPort": "HdmiIn3", + "sourcePort": "anyVideoOut" + }, + { + "type": "audioVideo", + "sourceKey": "wePresent-1", + "destinationKey": "hdMd4x14kE-1", + "destinationPort": "hdmiIn2", + "sourcePort": "anyOut" + } + ], + "sourceLists": { + "default": { + "source-2": { + "order": 6, + "icon": "", + "altIcon": "Blank", + "type": "route", + "sourceKey": "laptop-1", + "includeInSourceList": true, + "volumeControlKey": "$defaultAudio", + "routeList": [ + { + "type": "audioVideo", + "sourceKey": "laptop-1", + "destinationKey": "$defaultAll" + } + ] + }, + "source-3": { + "order": 7, + "icon": "", + "altIcon": "Blank", + "type": "route", + "sourceKey": "wePresent-1", + "includeInSourceList": true, + "volumeControlKey": "$defaultAudio", + "routeList": [ + { + "type": "audioVideo", + "sourceKey": "wePresent-1", + "destinationKey": "$defaultAll" + } + ] + }, + "source-1": { + "order": 5, + "icon": "", + "altIcon": "Blank", + "type": "route", + "sourceKey": "inRoomPc-1", + "includeInSourceList": true, + "volumeControlKey": "$defaultAudio", + "routeList": [ + { + "type": "audioVideo", + "sourceKey": "inRoomPc-1", + "destinationKey": "$defaultAll" + } + ] + }, + "roomOff": { + "type": "off", + "sourceKey": "$off", + "routeList": [ + { + "type": "audioVideo", + "sourceKey": "$off", + "destinationKey": "$defaultAll" + } + ] + }, + "codecOsd": { + "order": 1, + "name": "None", + "type": "route", + "includeInSourceList": true, + "sourceKey": "", + "routeList": [ + { + "type": "audioVideo", + "sourceKey": "mockCodec-1[osd]", + "destinationKey": "$defaultAll" + } + ] + } + } + } + } +} \ No newline at end of file From a799973e52785a35adcf0a65b6e2e2652542787f Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Wed, 12 Feb 2020 23:43:09 -0700 Subject: [PATCH 04/14] Adds example config for EssentialsHuddleSpaceRoom type --- ...onfigurationFile-HuddleSpace-2-Source.json | 232 ++++++++++++++++++ ...onFile-mockVideoCodec_din-ap3_-_dm4x1.json | 2 +- 2 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json diff --git a/Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json b/Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json new file mode 100644 index 00000000..3e43dac6 --- /dev/null +++ b/Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json @@ -0,0 +1,232 @@ +{ + "system": {}, + "system_url": "", + "template_url": "", + "template": { + "sourceLists": { + "default": { + "source-2": { + "order": 6, + "type": "route", + "altIcon": "Blank", + "icon": "", + "sourceKey": "wePresent-1", + "includeInSourceList": true, + "volumeControlKey": "$defaultAudio", + "routeList": [ + { + "sourceKey": "wePresent-1", + "type": "audioVideo", + "destinationKey": "$defaultAll" + } + ] + }, + "source-1": { + "order": 5, + "type": "route", + "altIcon": "Blank", + "icon": "", + "sourceKey": "inRoomPc-1", + "includeInSourceList": true, + "volumeControlKey": "$defaultAudio", + "routeList": [ + { + "sourceKey": "inRoomPc-1", + "type": "audioVideo", + "destinationKey": "$defaultAll" + } + ] + }, + "roomOff": { + "sourceKey": "$off", + "type": "off", + "routeList": [ + { + "sourceKey": "$off", + "type": "audioVideo", + "destinationKey": "$defaultAll" + } + ] + } + } + }, + "devices": [ + { + "name": "RMC3", + "group": "processor", + "properties": { + "numberOfIrPorts": 2, + "numberOfComPorts": 1 + }, + "supportedSystemTypes": [ + "hudType", + "presType", + "vtcType", + "custom" + ], + "type": "rmc3", + "supportedConfigModes": [ + "compliance", + "essentials" + ], + "supportsCompliance": true, + "key": "processor", + "uid": 0 + }, + { + "name": "Room PC", + "key": "inRoomPc-1", + "type": "inRoomPc", + "group": "pc", + "uid": 8, + "properties": { + "hasAudio": true, + "hasControls": false, + "isDefault": true + } + }, + { + "name": "Wireless Video", + "key": "wePresent-1", + "type": "wePresent", + "group": "genericSource", + "uid": 9, + "properties": { + "isDefault": false + } + }, + { + "name": "Samsung QM Series Display", + "key": "display-1", + "type": "samsungmdc", + "group": "display", + "uid": 11, + "properties": { + "id": "01", + "control": { + "controlPortDevKey": "processor", + "comParams": { + "parity": "None", + "protocol": "RS232", + "baudRate": 9600, + "softwareHandshake": "None", + "dataBits": 8, + "hardwareHandshake": "None", + "stopBits": 1 + }, + "controlPortNumber": 1, + "method": "com" + } + } + }, + { + "name": "TSW-760", + "key": "tsw760-1", + "type": "tsw760", + "group": "touchpanel", + "uid": 14, + "properties": { + "control": { + "method": "ipid", + "ipid": "03", + "params": { + "deviceReadyResponsePattern": ".*>", + "endOfLineString": "\n" + } + }, + "showVolumeGauge": true, + "roomListKey": "", + "showDate": true, + "headerStyle": "Verbose", + "sgdFile": "PepperDash Essentials TSW-760.sgd", + "showTime": true, + "sourcesOverflowCount": 4, + "usesSplashPage": false, + "defaultRoomKey": "room1" + } + }, + { + "name": "iPad", + "key": "crestronApp-1", + "type": "crestronApp", + "group": "touchpanel", + "uid": 15, + "properties": { + "control": { + "method": "ipid", + "ipid": "04", + "params": { + "deviceReadyResponsePattern": ".*>", + "endOfLineString": "\n" + } + }, + "showVolumeGauge": true, + "roomListKey": "", + "showDate": false, + "headerStyle": "Verbose", + "sgdFile": "PepperDash Essentials iPad.sgd", + "showTime": false, + "sourcesOverflowCount": 5, + "projectName": "PepperDash Essentials iPad", + "defaultRoomKey": "room1", + "usesSplashPage": false + } + } + ], + "info": { + "processorType": "rmc3", + "lastUid": 16, + "lastModifiedDate": "2018-02-16T17:54:41.315Z", + "systemType": "huddle", + "comment": "", + "requiredControlSofwareVersion": "" + }, + "tieLines": [ + { + "sourceKey": "inRoomPc-1", + "sourcePort": "anyVideoOut", + "destinationKey": "display-1", + "destinationPort": "HdmiIn1", + "type": "audioVideo" + }, + { + "sourceKey": "wePresent-1", + "sourcePort": "anyOut", + "destinationKey": "display-1", + "destinationPort": "HdmiIn2", + "type": "audioVideo" + } + ], + "rooms": [ + { + "type": "huddle", + "name": "Essentials Huddle 2 Inputs", + "key": "room1", + "properties": { + "defaultDisplayKey": "display-1", + "logo": { + "type": "system", + "url": "" + }, + "description": "Huddle Space with 2 sources. RMC3 processor. iPad + TSW-560", + "defaultSourceItem": "source-1", + "hasDsp": false, + "helpMessage": "", + "sourceListKey": "default", + "volumes": { + "master": { + "level": 40, + "deviceKey": "display-1", + "label": "Volume" + } + }, + "defaultAudioKey": "display-1", + "defaultVideoBehavior": "basic", + "tech": { + "password": "1234" + } + } + } + ] + } +} \ No newline at end of file diff --git a/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json b/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json index c419138d..7cc97c47 100644 --- a/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json +++ b/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json @@ -158,7 +158,7 @@ { "name": "Mock Video Codec 1", "key": "mockCodec-1", - "type": "mockVideoCodec", + "type": "mockVc", "properties": { "favorites": [ { From e5d745f508c61c54a6d87e7c088aeb38f2b71184 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Thu, 13 Feb 2020 00:04:55 -0700 Subject: [PATCH 05/14] Updates Readme.md Adds working links and links to existing wiki pages to prevent redundant information --- README.md | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 14d6f100..b8b4547b 100644 --- a/README.md +++ b/README.md @@ -16,38 +16,29 @@ Essentials Framework is a collection of C# / Simpl# Pro libraries that can be ut ## Dependencies -The PepperDash.Core SIMPL# library is required. It is referenced as a submodule and will be automatically checked out when cloning this repo if set to recurse submodules. This allows different builds of the PepperDash.Core library to be reference by checking out the desired submodule commit. +The [PepperDash.Core](https://github.com/PepperDash/PepperDashCore) SIMPL# library is required. It is referenced as a submodule and will be automatically checked out when cloning this repo if set to recurse submodules. This allows different builds of the PepperDash.Core library to be reference by checking out the desired submodule commit. ## Utilization Essentials was originally conceptualized as a standalone application for running control system logic entirely in Simpl# Pro. It is primarily designed around accomplishing this goal, but during development, it became obvious that it could easily be leveraged to also serve as a partner application to one or more SIMPL Windows programs. Utilization of Essentials Framework falls into the following categories: -1. Standalone Control System Application for controlling one or more rooms +1. Standalone Control System Application for controlling one or more rooms. See [Standalone Use](https://github.com/PepperDash/Essentials/wiki/Standalone-Use#standalone-application) -2. Partner Application to a SIMPL Windows program. This allows for several useful advantages +2. Partner Application to a SIMPL Windows program. This allows for several useful advantages. See [SIMPL Windows Bridging](https://github.com/PepperDash/Essentials/wiki/SIMPL-Bridging#simpl-windows-bridging) -- Dynamic device instantiation. Devices can be defined in configuration and instantiated at runtime and then "bridged" to a SIMPL Windows program via EISC. +- Dynamic device instantiation. Devices can be defined in configuration and instantiated at runtime and then bridged to a SIMPL Windows program via EISC. -- Advanced logic. Some logic operations that cannot be affectively accomplished in SIMPL Windows (ex. JSON/XML serialization/deserialization, database operations, etc.) can be done in the Simpl# Pro environment and the necessary input and output "bridged" to a SIMPL Windows program via EISC. +- Advanced logic. Some logic operations that cannot be affectively accomplished in SIMPL Windows (ex. JSON/XML serialization/deserialization, database operations, etc.) can be done in the Simpl# Pro environment and the necessary input and output bridged to a SIMPL Windows program via EISC. 3. Hybrid Application that may contain elements of both standalone control and SIMPL partner application integration. -- There may be a use case where a device can only be defined in a single application, but that device may need to be interacted with from multiple applications. The device can be defined in an Essentials application, interacted with in that application and also "bridged" to one or more SIMPL Windows applications. +- There may be a use case where a device can only be defined in a single application, but that device may need to be interacted with from multiple applications. The device can be defined in an Essentials application, interacted with in that application and also bridged to one or more SIMPL Windows applications. ## Documentation - For detailed documentation, follow this [LINK](https://github.com/PepperDash/EssentialsFramework/wiki) to the Wiki. + For detailed documentation, see the [Wiki](https://github.com/PepperDash/EssentialsFramework/wiki). ## How-To (Getting Started) -To help understand Essentials Framework, we recommend starting with the current [Example Build]() and loading it to a Crestron 3-Series processor. -1. First, load the PepperDashEssentials.cpz to the processor in program slot 1 and start the program. -2. On first boot, the Essentials Application will build the necessary configuration folder structure in the User/Program1/ path. -3. Load the ExampleEssentialsConfigurationFile.json to the User/Program1/ folder. -4. Reset the program via console (progreset -p:1). The program will load the example configuration file. -5. Launch the EssentialsExampleXpanel.vtz project. You can interact with the program (which uses simulated device logic to emulate a real commercial huddle room with presentation, audio and video calling capabilities). -6. Via console, you can run the (**devlist:1**) command to get some insight into what has been loaded from the configuration file into the system . This will print the basic device information in the form of ["key"] "Name". The "key" value is what we can use to interact with each device uniquely. -7. Run the command (**devprops:1 display-1**). This will print the real-time property values of the device with key "display-1". -8. Run the command (**devmethods:1 display-1**). This will print the public methods available for the device with key "display-1". -9. Run the command (**devjson:1 {"deviceKey":"display-1","methodName":"PowerOn", "params": []}**). This will call the method PowerOn() on the device with key "display-1". +See [Getting Started](https://github.com/PepperDash/Essentials/wiki/Get-started#how-to-get-started) From 4f35a4285b4726c670232a96d966458db7e554d1 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Thu, 13 Feb 2020 16:17:23 -0700 Subject: [PATCH 06/14] Moves example configs inside PepperDashEssentials folder and makes them embedded resources --- .../configurationFile-HuddleSpace-2-Source.json | 0 ...igurationFile-mockVideoCodec_din-ap3_-_dm4x1.json | 0 .../SIMPLBridgeExample_configurationFile.json | 0 .../configurationFile-dmps3300c-avRouting.json | 0 PepperDashEssentials/PepperDashEssentials.csproj | 12 ++++++++++++ .../PepperDashEssentialsBase/JoinMaps/JoinMapBase.cs | 4 +++- 6 files changed, 15 insertions(+), 1 deletion(-) rename {Example Configuration => PepperDashEssentials/Example Configuration}/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json (100%) rename {Example Configuration => PepperDashEssentials/Example Configuration}/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json (100%) rename {Example Configuration => PepperDashEssentials/Example Configuration}/SIMPLBridging/SIMPLBridgeExample_configurationFile.json (100%) rename {Example Configuration => PepperDashEssentials/Example Configuration}/SIMPLBridging/configurationFile-dmps3300c-avRouting.json (100%) diff --git a/Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json b/PepperDashEssentials/Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json similarity index 100% rename from Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json rename to PepperDashEssentials/Example Configuration/EssentialsHuddleSpaceRoom/configurationFile-HuddleSpace-2-Source.json diff --git a/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json b/PepperDashEssentials/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json similarity index 100% rename from Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json rename to PepperDashEssentials/Example Configuration/EssentialsHuddleVtc1Room/configurationFile-mockVideoCodec_din-ap3_-_dm4x1.json diff --git a/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json b/PepperDashEssentials/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json similarity index 100% rename from Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json rename to PepperDashEssentials/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json diff --git a/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json b/PepperDashEssentials/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json similarity index 100% rename from Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json rename to PepperDashEssentials/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json diff --git a/PepperDashEssentials/PepperDashEssentials.csproj b/PepperDashEssentials/PepperDashEssentials.csproj index f808a708..65a12025 100644 --- a/PepperDashEssentials/PepperDashEssentials.csproj +++ b/PepperDashEssentials/PepperDashEssentials.csproj @@ -223,6 +223,18 @@ + + Always + + + Always + + + Always + + + Always + Always diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/JoinMaps/JoinMapBase.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/JoinMaps/JoinMapBase.cs index 23669066..2d7bfc51 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/JoinMaps/JoinMapBase.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/JoinMaps/JoinMapBase.cs @@ -31,7 +31,9 @@ namespace PepperDash.Essentials.Core } } - + /// + /// Base class for join maps + /// public abstract class JoinMapBase { /// From b5a7c76c3f7cfcbd764dc541358261cd73a61b96 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Thu, 13 Feb 2020 17:41:42 -0700 Subject: [PATCH 07/14] Minor formatting edits --- .../Config/Comm and IR/GenericHttpClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericHttpClient.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericHttpClient.cs index 830b10e1..87cde373 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericHttpClient.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericHttpClient.cs @@ -23,7 +23,6 @@ namespace PepperDash.Essentials.Core } - /// /// /// @@ -53,6 +52,7 @@ namespace PepperDash.Essentials.Core Client.Dispatch(request); Debug.Console(2, this, "GenericHttpClient SentRequest TX:'{0}'", url); } + private void Response(HttpClientResponse response, HTTP_CALLBACK_ERROR error, object request) { if (error == HTTP_CALLBACK_ERROR.COMPLETED) From dc9eee9325ddb989588dfca7fed6e882f6bf5122 Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Thu, 13 Feb 2020 20:31:06 -0700 Subject: [PATCH 08/14] Update Readme.md Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b8b4547b..05f0953c 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Essentials Framework is a collection of C# / Simpl# Pro libraries that can be ut ## Dependencies -The [PepperDash.Core](https://github.com/PepperDash/PepperDashCore) SIMPL# library is required. It is referenced as a submodule and will be automatically checked out when cloning this repo if set to recurse submodules. This allows different builds of the PepperDash.Core library to be reference by checking out the desired submodule commit. +The [PepperDash.Core](https://github.com/PepperDash/PepperDashCore) SIMPL# library is required. It is referenced as a submodule and will be automatically checked out when cloning this repo if set to recurse submodules. This allows different builds of the PepperDash.Core library to be referenced by checking out the desired submodule commit. ## Utilization Essentials was originally conceptualized as a standalone application for running control system logic entirely in Simpl# Pro. It is primarily designed around accomplishing this goal, but during development, it became obvious that it could easily be leveraged to also serve as a partner application to one or more SIMPL Windows programs. From 8a09ffa7e4626de59cb17ea3977751fb7f3def9a Mon Sep 17 00:00:00 2001 From: bitm0de Date: Sat, 15 Feb 2020 14:28:10 -0700 Subject: [PATCH 09/14] Updated to HDCPSupportOnFeedback from obsolete HDPCSupportOnFeedback --- .../Essentials_DM/Endpoints/Transmitters/DmTx200Controller.cs | 2 +- .../Essentials_DM/Endpoints/Transmitters/DmTx201CController.cs | 2 +- .../Essentials_DM/Endpoints/Transmitters/DmTx401CController.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx200Controller.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx200Controller.cs index 2a898b19..3b48a0f5 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx200Controller.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx200Controller.cs @@ -115,7 +115,7 @@ namespace PepperDash.Essentials.DM HdmiInHdcpCapabilityFeedback = new IntFeedback("HdmiInHdcpCapability", () => { - if (tx.HdmiInput.HdpcSupportOnFeedback.BoolValue) + if (tx.HdmiInput.HdcpSupportOnFeedback.BoolValue) return 1; else return 0; diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx201CController.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx201CController.cs index 224510aa..ba7a005d 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx201CController.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx201CController.cs @@ -116,7 +116,7 @@ namespace PepperDash.Essentials.DM HdmiInHdcpCapabilityFeedback = new IntFeedback("HdmiInHdcpCapability", () => { - if (tx.HdmiInput.HdpcSupportOnFeedback.BoolValue) + if (tx.HdmiInput.HdcpSupportOnFeedback.BoolValue) return 1; else return 0; diff --git a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx401CController.cs b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx401CController.cs index b0356f0d..86003aae 100644 --- a/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx401CController.cs +++ b/essentials-framework/Essentials DM/Essentials_DM/Endpoints/Transmitters/DmTx401CController.cs @@ -122,7 +122,7 @@ namespace PepperDash.Essentials.DM HdmiInHdcpCapabilityFeedback = new IntFeedback("HdmiInHdcpCapability", () => { - if (tx.HdmiInput.HdpcSupportOnFeedback.BoolValue) + if (tx.HdmiInput.HdcpSupportOnFeedback.BoolValue) return 1; else return 0; From ee26e77f15d320623e8d575feeab4d7db002a61b Mon Sep 17 00:00:00 2001 From: bitm0de Date: Sat, 15 Feb 2020 14:28:41 -0700 Subject: [PATCH 10/14] Added plugin entrypoint attribute and interface --- .../Plugins/IPluginDeviceConfig.cs | 10 ++++++++++ .../Plugins/PluginEntrypointAttribute.cs | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs create mode 100644 essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/PluginEntrypointAttribute.cs diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs new file mode 100644 index 00000000..b131437d --- /dev/null +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs @@ -0,0 +1,10 @@ +using PepperDash.Core; +using PepperDash.Essentials.Core.Config; + +namespace PepperDash.Essentials.Core.Plugins +{ + public interface IPluginDeviceConfig + { + IKeyed BuildDevice(DeviceConfig dc); + } +} \ No newline at end of file diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/PluginEntrypointAttribute.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/PluginEntrypointAttribute.cs new file mode 100644 index 00000000..f802211f --- /dev/null +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/PluginEntrypointAttribute.cs @@ -0,0 +1,19 @@ +using System; + +namespace PepperDash.Essentials.Core.Plugins +{ + [AttributeUsage(AttributeTargets.Class)] + public sealed class PluginEntryPointAttribute : Attribute + { + private readonly string _uniqueKey; + + public string UniqueKey { + get { return _uniqueKey; } + } + + public PluginEntryPointAttribute(string key) + { + _uniqueKey = key; + } + } +} \ No newline at end of file From 00e14b746bcfb31f472fe5baf5564e1ef4457481 Mon Sep 17 00:00:00 2001 From: bitm0de Date: Sat, 15 Feb 2020 14:32:46 -0700 Subject: [PATCH 11/14] Added floating point epsilon comparison for equality check --- .../Essentials Devices Common/Codec/iHasScheduleAwareness.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Codec/iHasScheduleAwareness.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Codec/iHasScheduleAwareness.cs index 5a006388..57839471 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Codec/iHasScheduleAwareness.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Codec/iHasScheduleAwareness.cs @@ -73,17 +73,18 @@ namespace PepperDash.Essentials.Devices.Common.Codec { // Iterate the meeting list and check if any meeting need to do anythingk + const double meetingTimeEpsilon = 0.0001; foreach (Meeting m in Meetings) { eMeetingEventChangeType changeType = eMeetingEventChangeType.Unkown; if (m.TimeToMeetingStart.TotalMinutes <= m.MeetingWarningMinutes.TotalMinutes) // Meeting is about to start changeType = eMeetingEventChangeType.MeetingStartWarning; - else if (m.TimeToMeetingStart.TotalMinutes == 0) // Meeting Start + else if (Math.Abs(m.TimeToMeetingStart.TotalMinutes) < meetingTimeEpsilon) // Meeting Start changeType = eMeetingEventChangeType.MeetingStart; else if (m.TimeToMeetingEnd.TotalMinutes <= m.MeetingWarningMinutes.TotalMinutes) // Meeting is about to end changeType = eMeetingEventChangeType.MeetingEndWarning; - else if (m.TimeToMeetingEnd.TotalMinutes == 0) // Meeting has ended + else if (Math.Abs(m.TimeToMeetingEnd.TotalMinutes) < meetingTimeEpsilon) // Meeting has ended changeType = eMeetingEventChangeType.MeetingEnd; if (changeType != eMeetingEventChangeType.Unkown) From c420e0654095e09eaf6fff7c61cb949801b462d2 Mon Sep 17 00:00:00 2001 From: bitm0de Date: Sat, 15 Feb 2020 14:43:31 -0700 Subject: [PATCH 12/14] Fixed conditional check to prevent NullReferenceException --- .../VideoCodec/CiscoCodec/BookingsDataClasses.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/BookingsDataClasses.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/BookingsDataClasses.cs index 46d171cf..cf4d8530 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/BookingsDataClasses.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/BookingsDataClasses.cs @@ -336,8 +336,10 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec if(b.Agenda != null) meeting.Agenda = b.Agenda.Value; if(b.Time != null) + { meeting.StartTime = b.Time.StartTime.Value; meeting.EndTime = b.Time.EndTime.Value; + } if(b.Privacy != null) meeting.Privacy = CodecCallPrivacy.ConvertToDirectionEnum(b.Privacy.Value); From 86dcd066fe573d4464d9989ede497a09565bb446 Mon Sep 17 00:00:00 2001 From: bitm0de Date: Sat, 15 Feb 2020 15:10:22 -0700 Subject: [PATCH 13/14] Added MinimumEssentialsFrameworkVersion to plugin interface --- .../PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs index b131437d..7ac894c6 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Plugins/IPluginDeviceConfig.cs @@ -5,6 +5,7 @@ namespace PepperDash.Essentials.Core.Plugins { public interface IPluginDeviceConfig { + string MinimumEssentialsFrameworkVersion { get; } IKeyed BuildDevice(DeviceConfig dc); } } \ No newline at end of file From f33f42a40e1ee4d61daa50728753cfafbdba3a72 Mon Sep 17 00:00:00 2001 From: bitm0de Date: Sat, 15 Feb 2020 19:51:09 -0700 Subject: [PATCH 14/14] Fixed misspelling --- .../PepperDashEssentialsBase/Properties/AssemblyInfo.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Properties/AssemblyInfo.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Properties/AssemblyInfo.cs index f9464b7d..5c1f9863 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Properties/AssemblyInfo.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Properties/AssemblyInfo.cs @@ -3,5 +3,5 @@ [assembly: AssemblyTitle("PepperDashEssentialsBase")] [assembly: AssemblyCompany("PepperDash Technology Corp")] [assembly: AssemblyProduct("PepperDashEssentialsBase")] -[assembly: AssemblyCopyright("Copyright © Ppperdash 2019")] +[assembly: AssemblyCopyright("Copyright © Pepperdash 2019")] [assembly: AssemblyVersion("1.4.0.*")] \ No newline at end of file

    YJ7+ z%o;5N2-Fj*?T~f+pSmp$uqrf;?}-=FHdy~(Oa9I1dc9m$Y(j>$5j?}qo-=}XTmdfY zJp@?j;#ci_&KxkpXg4)f>sOy_?gzU#yuaKtR;m_)F~>*)C)}hX`A?7hccG(7&0;iC zl?b41Z{w+MUA4_Pv~wr50~U}-g`I!9#T4M0OiR}}nK;3C1IEeS?FvN$LtGi3+5G|u zVh05aH);y6YZ(xEnCZa;f?t4pf0>9M!aYvH*n&Dk5fnyRMU=K7c<1>19$Lm@7eQ#BO^qL}l>%CUto zFR;=P#xv}Y)B;}D)o$`o)K1@1FdHY}_xi>vk&zrQ60IaxiblLVj6N2P@wNJe+hxzP_9AMV4NGjzuHr(D>!?}6 zWQOAHU8nA+XJyI5CZ^?T{7IcoS}D&?3b?Z?Pf}+UvnSpgXYBkXBoUzgLc2TA=94ma z)!P0?0#lpchwYNe5NR;R5gpW&+vLnNB%is#xREz+Xh18`Ji=M{B_M`dfwjh_e+Yqk zlL96-)m-SfbwJovFy1s+Lq@IpTF%uCq;qa#U+#$v=_-Xx>#QIJ6j0Cv=$O`|H2}TU zBoxT8=`p-pXJDt$&CjWWqwl&$KAHB}+gM}%0DSP01LIh;yy^(!U6}r`!v5wbLH|z4 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≪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 literal 0 HcmV?d00001 From 9a2c001a93f7d2db3f2e835c0d9da7072569903d Mon Sep 17 00:00:00 2001 From: Neil Dorin Date: Wed, 12 Feb 2020 10:27:27 -0700 Subject: [PATCH 02/14] Cleans out classes moved to plugins (Evertz). Adds example configs, removes old #warning statements. --- .../SIMPLBridgeExample_configurationFile.json | 7 +- ...configurationFile-dmps3300c-avRouting.json | 11 +- .../PepperDashEssentials.csproj | 1 - .../Config/Comm and IR}/GenericHttpClient.cs | 2 +- .../PepperDash_Essentials_Core.csproj | 1 + .../Essentials Devices Common/DSP/DspBase.cs | 1 - .../Essentials Devices Common.csproj | 5 - .../Evertz/EvertsEndpointStatusServer.cs | 152 -------- .../Evertz/EvertzEndpoint.cs | 337 ------------------ .../Evertz/EvertzEndpointPropertiesConfig.cs | 26 -- .../Evertz/EvertzEndpointVarIds.cs | 13 - .../Factory/DeviceFactory.cs | 22 -- .../Power Controllers/Digitallogger.cs | 6 +- .../VideoCodec/ZoomRoom/ResponseObjects.cs | 4 +- .../VideoCodec/ZoomRoom/ZoomRoom.cs | 4 +- .../VideoCodec/ZoomRoom/ZoomRoomCamera.cs | 4 +- 16 files changed, 21 insertions(+), 575 deletions(-) rename essentials-framework/{Essentials Devices Common/Essentials Devices Common/Evertz => Essentials Core/PepperDashEssentialsBase/Config/Comm and IR}/GenericHttpClient.cs (98%) delete mode 100644 essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertsEndpointStatusServer.cs delete mode 100644 essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpoint.cs delete mode 100644 essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointPropertiesConfig.cs delete mode 100644 essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertzEndpointVarIds.cs diff --git a/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json b/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json index 918fe73f..3fb02ce8 100644 --- a/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json +++ b/Example Configuration/SIMPLBridging/SIMPLBridgeExample_configurationFile.json @@ -1,8 +1,6 @@ { "system_url": "", - "template": {}, - "template_url": "", - "system": { + "template": { "info": { "comment": "", "requiredControlSofwareVersion": "", @@ -434,5 +432,8 @@ "rooms": [], "sourceLists": {}, "tieLines": [] + }, + "template_url": "", + "system": { } } \ No newline at end of file diff --git a/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json b/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json index df791e3d..de6d6fa4 100644 --- a/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json +++ b/Example Configuration/SIMPLBridging/configurationFile-dmps3300c-avRouting.json @@ -1,9 +1,6 @@ { "system_url": "", - "template": { - }, - "template_url": "", - "system": { + "template": { "info": { "comment": "", "requiredControlSofwareVersion": "", @@ -64,6 +61,10 @@ }, "tieLines": [ - ] + ] + }, + "template_url": "", + "system": { + } } \ No newline at end of file diff --git a/PepperDashEssentials/PepperDashEssentials.csproj b/PepperDashEssentials/PepperDashEssentials.csproj index 82ebc282..f808a708 100644 --- a/PepperDashEssentials/PepperDashEssentials.csproj +++ b/PepperDashEssentials/PepperDashEssentials.csproj @@ -189,7 +189,6 @@ - diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/GenericHttpClient.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericHttpClient.cs similarity index 98% rename from essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/GenericHttpClient.cs rename to essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericHttpClient.cs index 53b4efd6..830b10e1 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/GenericHttpClient.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Config/Comm and IR/GenericHttpClient.cs @@ -7,7 +7,7 @@ using Crestron.SimplSharp.Net.Http; using PepperDash.Core; using PepperDash.Core.DebugThings; -namespace PepperDash.Essentials.Devices.Common +namespace PepperDash.Essentials.Core { public class GenericHttpClient : Device, IBasicCommunication { diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj b/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj index 587159a2..815f6658 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.csproj @@ -113,6 +113,7 @@ + diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/DSP/DspBase.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/DSP/DspBase.cs index 36c655d2..318268f1 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/DSP/DspBase.cs +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/DSP/DspBase.cs @@ -62,7 +62,6 @@ namespace PepperDash.Essentials.Devices.Common.DSP /// In BiAmp: Instance Tag, QSC: Named Control, Polycom: /// string ControlPointTag { get; } -#warning I dont think index1 and index2 should be a part of the interface. JTA 2018-07-17 int Index1 { get; } int Index2 { get; } bool HasMute { get; } diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj index bed83feb..6b57d1ca 100644 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj +++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.csproj @@ -112,11 +112,6 @@ - - - - - diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertsEndpointStatusServer.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertsEndpointStatusServer.cs deleted file mode 100644 index 5867b51a..00000000 --- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/Evertz/EvertsEndpointStatusServer.cs +++ /dev/null @@ -1,152 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; -using PepperDash.Core; -using PepperDash.Essentials.Core; -using System.Text.RegularExpressions; -using Crestron.SimplSharp.Net.Http; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using Newtonsoft.Json.Serialization; - -using Crestron.SimplSharp.CrestronSockets; - - -namespace PepperDash.Essentials.Devices.Common -{ - - /***** - * TODO JTA: Add Polling - * TODO JTA: Move all the registration commnads to the EvertEndpoint class. - * - * - * - * - * - */ - - public class EvertzEndpointStatusServer : Device - { - public IBasicCommunication Communication { get; private set; } - public CommunicationGather PortGather { get; private set; } - public StatusMonitorBase CommunicationMonitor { get; private set; } - public bool isSubscribed; - public string Address; - public GenericUdpServer Server; - - - - ///