mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 12:44:58 +00:00
Cleans out classes moved to plugins (Evertz). Adds example configs, removes old #warning statements.
This commit is contained in:
@@ -1,8 +1,6 @@
|
|||||||
{
|
{
|
||||||
"system_url": "",
|
"system_url": "",
|
||||||
"template": {},
|
"template": {
|
||||||
"template_url": "",
|
|
||||||
"system": {
|
|
||||||
"info": {
|
"info": {
|
||||||
"comment": "",
|
"comment": "",
|
||||||
"requiredControlSofwareVersion": "",
|
"requiredControlSofwareVersion": "",
|
||||||
@@ -434,5 +432,8 @@
|
|||||||
"rooms": [],
|
"rooms": [],
|
||||||
"sourceLists": {},
|
"sourceLists": {},
|
||||||
"tieLines": []
|
"tieLines": []
|
||||||
|
},
|
||||||
|
"template_url": "",
|
||||||
|
"system": {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
"system_url": "",
|
"system_url": "",
|
||||||
"template": {
|
"template": {
|
||||||
},
|
|
||||||
"template_url": "",
|
|
||||||
"system": {
|
|
||||||
"info": {
|
"info": {
|
||||||
"comment": "",
|
"comment": "",
|
||||||
"requiredControlSofwareVersion": "",
|
"requiredControlSofwareVersion": "",
|
||||||
@@ -64,6 +61,10 @@
|
|||||||
|
|
||||||
},
|
},
|
||||||
"tieLines": [
|
"tieLines": [
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"template_url": "",
|
||||||
|
"system": {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -189,7 +189,6 @@
|
|||||||
<Compile Include="Room\Types\EssentialsDualDisplayRoom.cs" />
|
<Compile Include="Room\Types\EssentialsDualDisplayRoom.cs" />
|
||||||
<Compile Include="Room\Types\EssentialsHuddleVtc1Room.cs" />
|
<Compile Include="Room\Types\EssentialsHuddleVtc1Room.cs" />
|
||||||
<Compile Include="Room\Types\EssentialsNDisplayRoomBase.cs" />
|
<Compile Include="Room\Types\EssentialsNDisplayRoomBase.cs" />
|
||||||
<Compile Include="Room\Types\EssentialsPresentationRoom.cs" />
|
|
||||||
<Compile Include="Room\Config\EssentialsRoomConfig.cs" />
|
<Compile Include="Room\Config\EssentialsRoomConfig.cs" />
|
||||||
<Compile Include="UIDrivers\Environment Drivers\EssentialsEnvironmentDriver.cs" />
|
<Compile Include="UIDrivers\Environment Drivers\EssentialsEnvironmentDriver.cs" />
|
||||||
<Compile Include="UIDrivers\Environment Drivers\EssentialsLightingDriver.cs" />
|
<Compile Include="UIDrivers\Environment Drivers\EssentialsLightingDriver.cs" />
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ using Crestron.SimplSharp.Net.Http;
|
|||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.DebugThings;
|
using PepperDash.Core.DebugThings;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.Devices.Common
|
namespace PepperDash.Essentials.Core
|
||||||
{
|
{
|
||||||
public class GenericHttpClient : Device, IBasicCommunication
|
public class GenericHttpClient : Device, IBasicCommunication
|
||||||
{
|
{
|
||||||
@@ -113,6 +113,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="Config\Comm and IR\CecPortController.cs" />
|
<Compile Include="Config\Comm and IR\CecPortController.cs" />
|
||||||
<Compile Include="Config\Comm and IR\GenericComm.cs" />
|
<Compile Include="Config\Comm and IR\GenericComm.cs" />
|
||||||
|
<Compile Include="Config\Comm and IR\GenericHttpClient.cs" />
|
||||||
<Compile Include="Config\Essentials\ConfigUpdater.cs" />
|
<Compile Include="Config\Essentials\ConfigUpdater.cs" />
|
||||||
<Compile Include="Config\Essentials\ConfigReader.cs" />
|
<Compile Include="Config\Essentials\ConfigReader.cs" />
|
||||||
<Compile Include="Config\Essentials\ConfigWriter.cs" />
|
<Compile Include="Config\Essentials\ConfigWriter.cs" />
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ namespace PepperDash.Essentials.Devices.Common.DSP
|
|||||||
/// In BiAmp: Instance Tag, QSC: Named Control, Polycom:
|
/// In BiAmp: Instance Tag, QSC: Named Control, Polycom:
|
||||||
/// </summary>
|
/// </summary>
|
||||||
string ControlPointTag { get; }
|
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 Index1 { get; }
|
||||||
int Index2 { get; }
|
int Index2 { get; }
|
||||||
bool HasMute { get; }
|
bool HasMute { get; }
|
||||||
|
|||||||
@@ -112,11 +112,6 @@
|
|||||||
<Compile Include="Occupancy\GlsOdtOccupancySensorController.cs" />
|
<Compile Include="Occupancy\GlsOdtOccupancySensorController.cs" />
|
||||||
<Compile Include="Power Controllers\Digitallogger.cs" />
|
<Compile Include="Power Controllers\Digitallogger.cs" />
|
||||||
<Compile Include="Power Controllers\DigitalLoggerPropertiesConfig.cs" />
|
<Compile Include="Power Controllers\DigitalLoggerPropertiesConfig.cs" />
|
||||||
<Compile Include="Evertz\EvertsEndpointStatusServer.cs" />
|
|
||||||
<Compile Include="Evertz\EvertzEndpointVarIds.cs" />
|
|
||||||
<Compile Include="Evertz\EvertzEndpoint.cs" />
|
|
||||||
<Compile Include="Evertz\EvertzEndpointPropertiesConfig.cs" />
|
|
||||||
<Compile Include="Evertz\GenericHttpClient.cs" />
|
|
||||||
<Compile Include="ImageProcessors\AnalogWay\AnalongWayLiveCore.cs" />
|
<Compile Include="ImageProcessors\AnalogWay\AnalongWayLiveCore.cs" />
|
||||||
<Compile Include="ImageProcessors\AnalogWay\AnalogWayLiveCorePropertiesConfig.cs" />
|
<Compile Include="ImageProcessors\AnalogWay\AnalogWayLiveCorePropertiesConfig.cs" />
|
||||||
<Compile Include="VideoCodec\CiscoCodec\CiscoCamera.cs" />
|
<Compile Include="VideoCodec\CiscoCodec\CiscoCamera.cs" />
|
||||||
|
|||||||
@@ -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;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Shows received lines as hex
|
|
||||||
/// </summary>
|
|
||||||
public bool ShowHexResponse { get; set; }
|
|
||||||
public Dictionary<string, EvertzEndpoint> Endpoints;
|
|
||||||
public Dictionary<string, string> ServerIdByEndpointIp;
|
|
||||||
|
|
||||||
public EvertzEndpointStatusServer(string key, string name, GenericUdpServer server, EvertzEndpointStatusServerPropertiesConfig props) :
|
|
||||||
base(key, name)
|
|
||||||
{
|
|
||||||
Server = server;
|
|
||||||
Address = props.serverHostname;
|
|
||||||
Server.DataRecievedExtra += new EventHandler<GenericUdpReceiveTextExtraArgs>(_Server_DataRecievedExtra);
|
|
||||||
|
|
||||||
Server.Connect();
|
|
||||||
Endpoints = new Dictionary<string,EvertzEndpoint>();
|
|
||||||
|
|
||||||
//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<EvertzServerStatusResponse> servers;
|
|
||||||
}
|
|
||||||
|
|
||||||
public class EvertzServerStatusResponse
|
|
||||||
{
|
|
||||||
public string id;
|
|
||||||
public string name;
|
|
||||||
public EvertsServerStausNotificationsResponse notify;
|
|
||||||
|
|
||||||
}
|
|
||||||
public class EvertsServerStausNotificationsResponse
|
|
||||||
{
|
|
||||||
public string ip;
|
|
||||||
public List<string> parameters;
|
|
||||||
public string port;
|
|
||||||
public string protocol;
|
|
||||||
}
|
|
||||||
public class EvertzEndpointStatusServerPropertiesConfig
|
|
||||||
{
|
|
||||||
|
|
||||||
public ControlPropertiesConfig control { get; set; }
|
|
||||||
public string serverHostname { get; set; }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<string, EvertzEndpointPort> Ports;
|
|
||||||
|
|
||||||
private string _ControllerKey;
|
|
||||||
|
|
||||||
|
|
||||||
private EvertzEndpointStatusServer StatusServer;
|
|
||||||
private String StatusServerId;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Shows received lines as hex
|
|
||||||
/// </summary>
|
|
||||||
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<GenericHttpClientEventArgs>(Client_ResponseRecived);
|
|
||||||
Ports = new Dictionary<string, EvertzEndpointPort>();
|
|
||||||
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");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Helper method
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="port"></param>
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
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<EvertsStatusRequesstResponse>(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<EvertzPortRestResponse>(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<EvertzPortRestResponse>(e.ResponseText));
|
|
||||||
else if (e.ResponseText.Contains("["))
|
|
||||||
{
|
|
||||||
List<EvertzPortRestResponse> test = JsonConvert.DeserializeObject<List<EvertzPortRestResponse>>(e.ResponseText);
|
|
||||||
foreach (var thing in test)
|
|
||||||
{
|
|
||||||
ProcessGetParameterResponse(thing);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (e.RequestPath.Contains("SERVERSTATUS"))
|
|
||||||
{
|
|
||||||
PollAll();
|
|
||||||
ProcessServerStatusRequest(JsonConvert.DeserializeObject<EvertsStatusRequesstResponse>(e.ResponseText));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class EvertzPortsRestResponse
|
|
||||||
{
|
|
||||||
List<EvertzPortRestResponse> 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; });
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
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; }
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -107,21 +107,6 @@ namespace PepperDash.Essentials.Devices.Common
|
|||||||
properties.ToString());
|
properties.ToString());
|
||||||
return new DigitalLogger(key, name, props);
|
return new DigitalLogger(key, name, props);
|
||||||
}
|
}
|
||||||
else if (groupName == "evertzendpoint")
|
|
||||||
{
|
|
||||||
// var comm = CommFactory.CreateCommForDevice(dc);
|
|
||||||
var props = JsonConvert.DeserializeObject<EvertzEndpointPropertiesConfig>(
|
|
||||||
properties.ToString());
|
|
||||||
return new EvertzEndpoint(key, name, props, typeName);
|
|
||||||
}
|
|
||||||
else if (typeName == "evertzendpointstatusserver")
|
|
||||||
{
|
|
||||||
var server = CommFactory.CreateCommForDevice(dc) as GenericUdpServer;
|
|
||||||
|
|
||||||
var props = JsonConvert.DeserializeObject<EvertzEndpointStatusServerPropertiesConfig>(
|
|
||||||
properties.ToString());
|
|
||||||
return new EvertzEndpointStatusServer(key, name, server, props);
|
|
||||||
}
|
|
||||||
else if (typeName == "genericaudiooutwithvolume")
|
else if (typeName == "genericaudiooutwithvolume")
|
||||||
{
|
{
|
||||||
var zone = dc.Properties.Value<uint>("zone");
|
var zone = dc.Properties.Value<uint>("zone");
|
||||||
@@ -395,13 +380,6 @@ namespace PepperDash.Essentials.Devices.Common
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
//else if (typeName == "qscdsp")
|
|
||||||
//{
|
|
||||||
// var comm = CommFactory.CreateCommForDevice(dc);
|
|
||||||
// var props = JsonConvert.DeserializeObject<QscDspPropertiesConfig>(
|
|
||||||
// properties.ToString());
|
|
||||||
// return new QscDsp(key, name, comm, props);
|
|
||||||
//}
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace PepperDash.Essentials.Devices.Common
|
|||||||
public string address;
|
public string address;
|
||||||
private bool OnlineStatus;
|
private bool OnlineStatus;
|
||||||
public BoolFeedback OnlineFeedback;
|
public BoolFeedback OnlineFeedback;
|
||||||
private ushort CurrentPreset;
|
//private ushort CurrentPreset;
|
||||||
public IntFeedback PresetFeedback;
|
public IntFeedback PresetFeedback;
|
||||||
|
|
||||||
public Dictionary<uint, DigitalLoggerCircuit> CircuitStatus;
|
public Dictionary<uint, DigitalLoggerCircuit> CircuitStatus;
|
||||||
@@ -103,7 +103,7 @@ namespace PepperDash.Essentials.Devices.Common
|
|||||||
});
|
});
|
||||||
CircuitIsCritical[circuit] = new BoolFeedback(() =>
|
CircuitIsCritical[circuit] = new BoolFeedback(() =>
|
||||||
{
|
{
|
||||||
if (CircuitStatus[circuit].critical != null)
|
if (CircuitStatus.ContainsKey(circuit))
|
||||||
{
|
{
|
||||||
return CircuitStatus[circuit].critical;
|
return CircuitStatus[circuit].critical;
|
||||||
}
|
}
|
||||||
@@ -114,7 +114,7 @@ namespace PepperDash.Essentials.Devices.Common
|
|||||||
});
|
});
|
||||||
CircuitState[circuit] = new BoolFeedback(() =>
|
CircuitState[circuit] = new BoolFeedback(() =>
|
||||||
{
|
{
|
||||||
if (CircuitStatus[circuit].state != null)
|
if (CircuitStatus.ContainsKey(circuit))
|
||||||
{
|
{
|
||||||
return CircuitStatus[circuit].state;
|
return CircuitStatus[circuit].state;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -979,8 +979,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
meeting.StartTime = b.StartTime;
|
meeting.StartTime = b.StartTime;
|
||||||
if (b.EndTime != null)
|
if (b.EndTime != null)
|
||||||
meeting.EndTime = b.EndTime;
|
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.
|
// No meeting.Calls data exists for Zoom Rooms. Leaving out for now.
|
||||||
|
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
|
|
||||||
public bool CommDebuggingIsOn;
|
public bool CommDebuggingIsOn;
|
||||||
|
|
||||||
CTimer LoginMessageReceivedTimer;
|
//CTimer LoginMessageReceivedTimer;
|
||||||
CTimer RetryConnectionTimer;
|
//CTimer RetryConnectionTimer;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets and returns the scaled volume of the codec
|
/// Gets and returns the scaled volume of the codec
|
||||||
|
|||||||
@@ -47,13 +47,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||||||
|
|
||||||
private bool isZooming;
|
private bool isZooming;
|
||||||
|
|
||||||
private bool isFocusing;
|
//private bool isFocusing;
|
||||||
|
|
||||||
private bool isMoving
|
private bool isMoving
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return isPanning || isTilting || isZooming || isFocusing;
|
return isPanning || isTilting || isZooming;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user