mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
feat: unique status requests for messengers
UI Applications can now request status for specific feature sets instead of full status for a device. This will hopefully cut down on the traffic and messages required to get the data for the UI.
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
using Newtonsoft.Json.Linq;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Essentials.Devices.Common.AudioCodec;
|
using PepperDash.Essentials.Devices.Common.AudioCodec;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
using System;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -29,12 +29,16 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
codec.CallStatusChange += Codec_CallStatusChange;
|
codec.CallStatusChange += Codec_CallStatusChange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
|
|
||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendAtcFullMessageObject());
|
AddAction("/fullStatus", (id, content) => SendAtcFullMessageObject(id));
|
||||||
|
|
||||||
|
AddAction("/audioDialerStatus", (id, content) => SendAtcFullMessageObject(id));
|
||||||
|
|
||||||
AddAction("/dial", (id, content) =>
|
AddAction("/dial", (id, content) =>
|
||||||
{
|
{
|
||||||
var msg = content.ToObject<MobileControlSimpleContent<string>>();
|
var msg = content.ToObject<MobileControlSimpleContent<string>>();
|
||||||
@@ -97,7 +101,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// Helper method to build call status for vtc
|
/// Helper method to build call status for vtc
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private void SendAtcFullMessageObject()
|
private void SendAtcFullMessageObject(string id = null)
|
||||||
{
|
{
|
||||||
var info = Codec.CodecInfo;
|
var info = Codec.CodecInfo;
|
||||||
|
|
||||||
@@ -109,7 +113,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
phoneNumber = info.PhoneNumber
|
phoneNumber = info.PhoneNumber
|
||||||
}
|
}
|
||||||
})
|
}), id
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendCameraFullMessageObject());
|
AddAction("/fullStatus", (id, content) => SendCameraFullMessageObject(id));
|
||||||
|
|
||||||
|
AddAction("/cameraStatus", (id, content) => SendCameraFullMessageObject(id));
|
||||||
|
|
||||||
|
|
||||||
if (Camera is IHasCameraPtzControl ptzCamera)
|
if (Camera is IHasCameraPtzControl ptzCamera)
|
||||||
@@ -173,7 +175,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Helper method to update the full status of the camera
|
/// Helper method to update the full status of the camera
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SendCameraFullMessageObject()
|
private void SendCameraFullMessageObject(string id = null)
|
||||||
{
|
{
|
||||||
var presetList = new List<CameraPreset>();
|
var presetList = new List<CameraPreset>();
|
||||||
|
|
||||||
@@ -188,7 +190,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
cameraMode = GetCameraMode(),
|
cameraMode = GetCameraMode(),
|
||||||
hasPresets = Camera is IHasCameraPresets,
|
hasPresets = Camera is IHasCameraPresets,
|
||||||
presets = presetList
|
presets = presetList
|
||||||
})
|
}), id
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,16 +33,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) =>
|
AddAction("/fullStatus", (id, content) => SendCurrentSourceStatus(id));
|
||||||
{
|
|
||||||
var message = new CurrentSourcesStateMessage
|
|
||||||
{
|
|
||||||
CurrentSourceKeys = sourceDevice.CurrentSourceKeys,
|
|
||||||
CurrentSources = sourceDevice.CurrentSources
|
|
||||||
};
|
|
||||||
|
|
||||||
PostStatusMessage(message);
|
AddAction("/currentSourceStatus", (id, content) => SendCurrentSourceStatus(id));
|
||||||
});
|
|
||||||
|
|
||||||
sourceDevice.CurrentSourcesChanged += (sender, e) =>
|
sourceDevice.CurrentSourcesChanged += (sender, e) =>
|
||||||
{
|
{
|
||||||
@@ -53,6 +46,17 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SendCurrentSourceStatus(string id = null)
|
||||||
|
{
|
||||||
|
var message = new CurrentSourcesStateMessage
|
||||||
|
{
|
||||||
|
CurrentSourceKeys = sourceDevice.CurrentSourceKeys,
|
||||||
|
CurrentSources = sourceDevice.CurrentSources
|
||||||
|
};
|
||||||
|
|
||||||
|
PostStatusMessage(message, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using Newtonsoft.Json;
|
using System.Timers;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.DeviceInfo;
|
using PepperDash.Essentials.Core.DeviceInfo;
|
||||||
using System.Timers;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -67,13 +67,20 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
debounceTimer.Start();
|
debounceTimer.Start();
|
||||||
};
|
};
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, context) => PostStatusMessage(new DeviceInfoStateMessage
|
AddAction("/fullStatus", (id, context) => SendFullStatus(id));
|
||||||
{
|
|
||||||
DeviceInfo = _deviceInfoProvider.DeviceInfo
|
AddAction("/deviceInfo", (id, content) => SendFullStatus(id));
|
||||||
}));
|
|
||||||
|
|
||||||
AddAction("/update", (id, context) => _deviceInfoProvider.UpdateDeviceInfo());
|
AddAction("/update", (id, context) => _deviceInfoProvider.UpdateDeviceInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SendFullStatus(string id = null)
|
||||||
|
{
|
||||||
|
PostStatusMessage(new DeviceInfoStateMessage
|
||||||
|
{
|
||||||
|
DeviceInfo = _deviceInfoProvider.DeviceInfo
|
||||||
|
}, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Logging;
|
using PepperDash.Core.Logging;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using PepperDash.Essentials.Core.Presets;
|
using PepperDash.Essentials.Core.Presets;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -16,18 +16,24 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
private readonly ITvPresetsProvider _presetsDevice;
|
private readonly ITvPresetsProvider _presetsDevice;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Constructor for DevicePresetsModelMessenger
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">The key.</param>
|
||||||
|
/// <param name="messagePath">The message path.</param>
|
||||||
|
/// <param name="presetsDevice">The presets device.</param>
|
||||||
public DevicePresetsModelMessenger(string key, string messagePath, ITvPresetsProvider presetsDevice)
|
public DevicePresetsModelMessenger(string key, string messagePath, ITvPresetsProvider presetsDevice)
|
||||||
: base(key, messagePath, presetsDevice as Device)
|
: base(key, messagePath, presetsDevice as Device)
|
||||||
{
|
{
|
||||||
_presetsDevice = presetsDevice;
|
_presetsDevice = presetsDevice;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendPresets()
|
private void SendPresets(string id = null)
|
||||||
{
|
{
|
||||||
PostStatusMessage(new PresetStateMessage
|
PostStatusMessage(new PresetStateMessage
|
||||||
{
|
{
|
||||||
Favorites = _presetsDevice.TvPresets.PresetsList
|
Favorites = _presetsDevice.TvPresets.PresetsList
|
||||||
});
|
}, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RecallPreset(ISetTopBoxNumericKeypad device, string channel)
|
private void RecallPreset(ISetTopBoxNumericKeypad device, string channel)
|
||||||
@@ -43,6 +49,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
#region Overrides of MessengerBase
|
#region Overrides of MessengerBase
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -51,7 +58,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
this.LogInformation("getting full status for client {id}", id);
|
this.LogInformation("getting full status for client {id}", id);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
SendPresets();
|
SendPresets(id);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -59,6 +66,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
AddAction("/presetsStatus", (id, content) => SendPresets(id));
|
||||||
|
|
||||||
AddAction("/recall", (id, content) =>
|
AddAction("/recall", (id, content) =>
|
||||||
{
|
{
|
||||||
var p = content.ToObject<PresetChannelMessage>();
|
var p = content.ToObject<PresetChannelMessage>();
|
||||||
@@ -91,16 +100,16 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class PresetChannelMessage
|
public class PresetChannelMessage
|
||||||
{
|
{
|
||||||
[JsonProperty("preset")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Preset
|
/// Gets or sets the Preset
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("preset")]
|
||||||
public PresetChannel Preset;
|
public PresetChannel Preset;
|
||||||
|
|
||||||
[JsonProperty("deviceKey")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the DeviceKey
|
/// Gets or sets the DeviceKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("deviceKey")]
|
||||||
public string DeviceKey;
|
public string DeviceKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,10 +118,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class PresetStateMessage : DeviceStateMessageBase
|
public class PresetStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("favorites", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Favorites
|
/// Gets or sets the Favorites
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("favorites", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<PresetChannel> Favorites { get; set; } = new List<PresetChannel>();
|
public List<PresetChannel> Favorites { get; set; } = new List<PresetChannel>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -14,13 +14,19 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
private readonly IBasicVolumeWithFeedback _localDevice;
|
private readonly IBasicVolumeWithFeedback _localDevice;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="DeviceVolumeMessenger"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">The key.</param>
|
||||||
|
/// <param name="messagePath">The message path.</param>
|
||||||
|
/// <param name="device">The device.</param>
|
||||||
public DeviceVolumeMessenger(string key, string messagePath, IBasicVolumeWithFeedback device)
|
public DeviceVolumeMessenger(string key, string messagePath, IBasicVolumeWithFeedback device)
|
||||||
: base(key, messagePath, device as IKeyName)
|
: base(key, messagePath, device as IKeyName)
|
||||||
{
|
{
|
||||||
_localDevice = device;
|
_localDevice = device;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendStatus()
|
private void SendStatus(string id = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -40,7 +46,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
messageObj.Volume.Units = volumeAdvanced.Units;
|
messageObj.Volume.Units = volumeAdvanced.Units;
|
||||||
}
|
}
|
||||||
|
|
||||||
PostStatusMessage(messageObj);
|
PostStatusMessage(messageObj, id);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -50,10 +56,12 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
#region Overrides of MessengerBase
|
#region Overrides of MessengerBase
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
AddAction("/fullStatus", (id, content) => SendStatus());
|
AddAction("/fullStatus", (id, content) => SendStatus(id));
|
||||||
|
|
||||||
|
AddAction("/volumeStatus", (id, content) => SendStatus(id));
|
||||||
|
|
||||||
AddAction("/level", (id, content) =>
|
AddAction("/level", (id, content) =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,22 +7,29 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class GenericMessenger : MessengerBase
|
public class GenericMessenger : MessengerBase
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="GenericMessenger"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">The key.</param>
|
||||||
|
/// <param name="device">The device.</param>
|
||||||
|
/// <param name="messagePath">The message path.</param>
|
||||||
public GenericMessenger(string key, EssentialsDevice device, string messagePath) : base(key, messagePath, device)
|
public GenericMessenger(string key, EssentialsDevice device, string messagePath) : base(key, messagePath, device)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var state = new DeviceStateMessageBase();
|
var state = new DeviceStateMessageBase();
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -13,6 +13,12 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
private readonly IBasicVideoMuteWithFeedback device;
|
private readonly IBasicVideoMuteWithFeedback device;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="IBasicVideoMuteWithFeedbackMessenger"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key"></param>
|
||||||
|
/// <param name="messagePath"></param>
|
||||||
|
/// <param name="device"></param>
|
||||||
public IBasicVideoMuteWithFeedbackMessenger(string key, string messagePath, IBasicVideoMuteWithFeedback device)
|
public IBasicVideoMuteWithFeedbackMessenger(string key, string messagePath, IBasicVideoMuteWithFeedback device)
|
||||||
: base(key, messagePath, device as IKeyName)
|
: base(key, messagePath, device as IKeyName)
|
||||||
{
|
{
|
||||||
@@ -22,21 +28,24 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// SendFullStatus method
|
/// SendFullStatus method
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void SendFullStatus()
|
public void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var messageObj = new IBasicVideoMuteWithFeedbackMessage
|
var messageObj = new IBasicVideoMuteWithFeedbackMessage
|
||||||
{
|
{
|
||||||
VideoMuteState = device.VideoMuteIsOn.BoolValue
|
VideoMuteState = device.VideoMuteIsOn.BoolValue
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(messageObj);
|
PostStatusMessage(messageObj, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/videoMuteStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/videoMuteToggle", (id, content) =>
|
AddAction("/videoMuteToggle", (id, content) =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -24,14 +24,12 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
AddAction("/fullStatus", (id, content) =>
|
AddAction("/fullStatus", (id, content) =>
|
||||||
{
|
{
|
||||||
PostStatusMessage(new CommunicationMonitorState
|
SendFullStatus(id);
|
||||||
{
|
});
|
||||||
CommunicationMonitor = new CommunicationMonitorProps
|
|
||||||
{
|
AddAction("/commStatus", (id, content) =>
|
||||||
IsOnline = _communicationMonitor.CommunicationMonitor.IsOnline,
|
{
|
||||||
Status = _communicationMonitor.CommunicationMonitor.Status
|
SendFullStatus(id);
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
_communicationMonitor.CommunicationMonitor.StatusChange += (sender, args) =>
|
_communicationMonitor.CommunicationMonitor.StatusChange += (sender, args) =>
|
||||||
@@ -46,6 +44,18 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SendFullStatus(string id = null)
|
||||||
|
{
|
||||||
|
PostStatusMessage(new CommunicationMonitorState
|
||||||
|
{
|
||||||
|
CommunicationMonitor = new CommunicationMonitorProps
|
||||||
|
{
|
||||||
|
IsOnline = _communicationMonitor.CommunicationMonitor.IsOnline,
|
||||||
|
Status = _communicationMonitor.CommunicationMonitor.Status
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -22,15 +22,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) =>
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
{
|
|
||||||
var message = new IHasDspPresetsStateMessage
|
|
||||||
{
|
|
||||||
Presets = device.Presets
|
|
||||||
};
|
|
||||||
|
|
||||||
PostStatusMessage(message);
|
AddAction("/dspPresetStatus", (id, content) => SendFullStatus(id));
|
||||||
});
|
|
||||||
|
|
||||||
AddAction("/recallPreset", (id, content) =>
|
AddAction("/recallPreset", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -43,6 +37,16 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SendFullStatus(string id = null)
|
||||||
|
{
|
||||||
|
var message = new IHasDspPresetsStateMessage
|
||||||
|
{
|
||||||
|
Presets = device.Presets
|
||||||
|
};
|
||||||
|
|
||||||
|
PostStatusMessage(message, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Logging;
|
using PepperDash.Core.Logging;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -46,7 +46,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// partition states.</remarks>
|
/// partition states.</remarks>
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/combinerStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/setAutoMode", (id, content) =>
|
AddAction("/setAutoMode", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -120,7 +122,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -141,7 +143,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
Partitions = _roomCombiner.Partitions
|
Partitions = _roomCombiner.Partitions
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(message);
|
PostStatusMessage(message, id);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
using Newtonsoft.Json.Linq;
|
|
||||||
using PepperDash.Essentials.Devices.Common.Cameras;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using PepperDash.Essentials.Devices.Common.Cameras;
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -26,7 +26,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <param name="cameraController"></param>
|
/// <param name="cameraController"></param>
|
||||||
/// <param name="messagePath"></param>
|
/// <param name="messagePath"></param>
|
||||||
/// <exception cref="ArgumentNullException"></exception>
|
/// <exception cref="ArgumentNullException"></exception>
|
||||||
public IHasCamerasMessenger(string key, string messagePath , IHasCameras cameraController)
|
public IHasCamerasMessenger(string key, string messagePath, IHasCameras cameraController)
|
||||||
: base(key, messagePath, cameraController)
|
: base(key, messagePath, cameraController)
|
||||||
{
|
{
|
||||||
CameraController = cameraController ?? throw new ArgumentNullException("cameraController");
|
CameraController = cameraController ?? throw new ArgumentNullException("cameraController");
|
||||||
@@ -49,10 +49,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, context) =>
|
AddAction("/fullStatus", (id, context) => SendFullStatus(id));
|
||||||
{
|
|
||||||
SendFullStatus(id);
|
AddAction("/cameraListStatus", (id, content) => SendFullStatus(id));
|
||||||
});
|
|
||||||
|
|
||||||
AddAction("/selectCamera", (id, content) =>
|
AddAction("/selectCamera", (id, content) =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
public class IHasCurrentSourceInfoMessenger : MessengerBase
|
public class IHasCurrentSourceInfoMessenger : MessengerBase
|
||||||
{
|
{
|
||||||
private readonly IHasCurrentSourceInfoChange sourceDevice;
|
private readonly IHasCurrentSourceInfoChange sourceDevice;
|
||||||
|
|
||||||
public IHasCurrentSourceInfoMessenger(string key, string messagePath, IHasCurrentSourceInfoChange device) : base(key, messagePath, device as IKeyName)
|
public IHasCurrentSourceInfoMessenger(string key, string messagePath, IHasCurrentSourceInfoChange device) : base(key, messagePath, device as IKeyName)
|
||||||
{
|
{
|
||||||
sourceDevice = device;
|
sourceDevice = device;
|
||||||
@@ -20,16 +21,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) =>
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
{
|
|
||||||
var message = new CurrentSourceStateMessage
|
|
||||||
{
|
|
||||||
CurrentSourceKey = sourceDevice.CurrentSourceInfoKey,
|
|
||||||
CurrentSource = sourceDevice.CurrentSourceInfo
|
|
||||||
};
|
|
||||||
|
|
||||||
PostStatusMessage(message);
|
AddAction("/currentSourceInfoStatus", (id, content) => SendFullStatus(id));
|
||||||
});
|
|
||||||
|
|
||||||
sourceDevice.CurrentSourceChange += (sender, e) =>
|
sourceDevice.CurrentSourceChange += (sender, e) =>
|
||||||
{
|
{
|
||||||
@@ -47,6 +41,17 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SendFullStatus(string id = null)
|
||||||
|
{
|
||||||
|
var message = new CurrentSourceStateMessage
|
||||||
|
{
|
||||||
|
CurrentSourceKey = sourceDevice.CurrentSourceInfoKey,
|
||||||
|
CurrentSource = sourceDevice.CurrentSourceInfo
|
||||||
|
};
|
||||||
|
|
||||||
|
PostStatusMessage(message, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Logging;
|
using PepperDash.Core.Logging;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -11,8 +11,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// Represents a IHasInputsMessenger
|
/// Represents a IHasInputsMessenger
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class IHasInputsMessenger<TKey> : MessengerBase
|
public class IHasInputsMessenger<TKey> : MessengerBase
|
||||||
{
|
{
|
||||||
private readonly IHasInputs<TKey> itemDevice;
|
private readonly IHasInputs<TKey> itemDevice;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -23,17 +23,16 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <param name="device"></param>
|
/// <param name="device"></param>
|
||||||
public IHasInputsMessenger(string key, string messagePath, IHasInputs<TKey> device) : base(key, messagePath, device)
|
public IHasInputsMessenger(string key, string messagePath, IHasInputs<TKey> device) : base(key, messagePath, device)
|
||||||
{
|
{
|
||||||
itemDevice = device;
|
itemDevice = device;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, context) =>
|
AddAction("/fullStatus", (id, context) => SendFullStatus(id));
|
||||||
{
|
|
||||||
SendFullStatus();
|
AddAction("/inputStatus", (id, content) => SendFullStatus(id));
|
||||||
});
|
|
||||||
|
|
||||||
itemDevice.Inputs.ItemsUpdated += (sender, args) =>
|
itemDevice.Inputs.ItemsUpdated += (sender, args) =>
|
||||||
{
|
{
|
||||||
@@ -62,7 +61,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -77,7 +76,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(stateObject);
|
PostStatusMessage(stateObject, id);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -12,6 +12,12 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
private readonly IHasPowerControlWithFeedback _powerControl;
|
private readonly IHasPowerControlWithFeedback _powerControl;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="IHasPowerControlWithFeedbackMessenger"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">The key.</param>
|
||||||
|
/// <param name="messagePath">The message path.</param>
|
||||||
|
/// <param name="powerControl">The power control device</param>
|
||||||
public IHasPowerControlWithFeedbackMessenger(string key, string messagePath, IHasPowerControlWithFeedback powerControl)
|
public IHasPowerControlWithFeedbackMessenger(string key, string messagePath, IHasPowerControlWithFeedback powerControl)
|
||||||
: base(key, messagePath, powerControl as IKeyName)
|
: base(key, messagePath, powerControl as IKeyName)
|
||||||
{
|
{
|
||||||
@@ -21,7 +27,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// SendFullStatus method
|
/// SendFullStatus method
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void SendFullStatus()
|
public void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var messageObj = new PowerControlWithFeedbackStateMessage
|
var messageObj = new PowerControlWithFeedbackStateMessage
|
||||||
{
|
{
|
||||||
@@ -31,11 +37,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
PostStatusMessage(messageObj);
|
PostStatusMessage(messageObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/powerStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
_powerControl.PowerIsOnFeedback.OutputChange += PowerIsOnFeedback_OutputChange; ;
|
_powerControl.PowerIsOnFeedback.OutputChange += PowerIsOnFeedback_OutputChange; ;
|
||||||
}
|
}
|
||||||
@@ -55,6 +64,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class PowerControlWithFeedbackStateMessage : DeviceStateMessageBase
|
public class PowerControlWithFeedbackStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Power State
|
||||||
|
/// </summary>
|
||||||
[JsonProperty("powerState", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("powerState", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? PowerState { get; set; }
|
public bool? PowerState { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -27,7 +27,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
AddAction("/schedule/fullStatus", (id, content) => SendFullScheduleObject());
|
AddAction("/schedule/fullStatus", (id, content) => SendFullScheduleObject(id));
|
||||||
|
|
||||||
|
AddAction("/schedule/status", (id, content) => SendFullScheduleObject(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CodecSchedule_MeetingEventChange(object sender, MeetingEventArgs e)
|
private void CodecSchedule_MeetingEventChange(object sender, MeetingEventArgs e)
|
||||||
@@ -51,13 +53,13 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Helper method to send the full schedule data
|
/// Helper method to send the full schedule data
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SendFullScheduleObject()
|
private void SendFullScheduleObject(string id = null)
|
||||||
{
|
{
|
||||||
PostStatusMessage(new FullScheduleMessage
|
PostStatusMessage(new FullScheduleMessage
|
||||||
{
|
{
|
||||||
Meetings = ScheduleSource.CodecSchedule.Meetings,
|
Meetings = ScheduleSource.CodecSchedule.Meetings,
|
||||||
MeetingWarningMinutes = ScheduleSource.CodecSchedule.MeetingWarningMinutes
|
MeetingWarningMinutes = ScheduleSource.CodecSchedule.MeetingWarningMinutes
|
||||||
});
|
}, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,16 +68,18 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class FullScheduleMessage : DeviceStateMessageBase
|
public class FullScheduleMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("meetings", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Meetings
|
/// Gets or sets the Meetings
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("meetings", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<Meeting> Meetings { get; set; }
|
public List<Meeting> Meetings { get; set; }
|
||||||
|
|
||||||
[JsonProperty("meetingWarningMinutes", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the MeetingWarningMinutes
|
/// Gets or sets the MeetingWarningMinutes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("meetingWarningMinutes", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public int MeetingWarningMinutes { get; set; }
|
public int MeetingWarningMinutes { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,10 +88,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class MeetingChangeMessage
|
public class MeetingChangeMessage
|
||||||
{
|
{
|
||||||
[JsonProperty("meetingChange", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the MeetingChange
|
/// Gets or sets the MeetingChange
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("meetingChange", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public MeetingChange MeetingChange { get; set; }
|
public MeetingChange MeetingChange { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,16 +101,18 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class MeetingChange
|
public class MeetingChange
|
||||||
{
|
{
|
||||||
[JsonProperty("changeType", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the ChangeType
|
/// Gets or sets the ChangeType
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("changeType", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string ChangeType { get; set; }
|
public string ChangeType { get; set; }
|
||||||
|
|
||||||
[JsonProperty("meeting", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Meeting
|
/// Gets or sets the Meeting
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("meeting", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Meeting Meeting { get; set; }
|
public Meeting Meeting { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -22,19 +22,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/humidityStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
device.HumidityFeedback.OutputChange += new EventHandler<Core.FeedbackEventArgs>((o, a) => SendFullStatus());
|
device.HumidityFeedback.OutputChange += new EventHandler<Core.FeedbackEventArgs>((o, a) => SendFullStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var state = new IHumiditySensorStateMessage
|
var state = new IHumiditySensorStateMessage
|
||||||
{
|
{
|
||||||
Humidity = string.Format("{0}%", device.HumidityFeedback.UShortValue)
|
Humidity = string.Format("{0}%", device.HumidityFeedback.UShortValue)
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,10 +45,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class IHumiditySensorStateMessage : DeviceStateMessageBase
|
public class IHumiditySensorStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("humidity")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Humidity
|
/// Gets or sets the Humidity
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("humidity")]
|
||||||
public string Humidity { get; set; }
|
public string Humidity { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -13,6 +13,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
public class ILevelControlsMessenger : MessengerBase
|
public class ILevelControlsMessenger : MessengerBase
|
||||||
{
|
{
|
||||||
private ILevelControls levelControlsDevice;
|
private ILevelControls levelControlsDevice;
|
||||||
|
|
||||||
public ILevelControlsMessenger(string key, string messagePath, ILevelControls device) : base(key, messagePath, device as IKeyName)
|
public ILevelControlsMessenger(string key, string messagePath, ILevelControls device) : base(key, messagePath, device as IKeyName)
|
||||||
{
|
{
|
||||||
levelControlsDevice = device;
|
levelControlsDevice = device;
|
||||||
@@ -22,15 +23,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, context) =>
|
AddAction("/fullStatus", (id, context) => SendFullStatus(id));
|
||||||
{
|
|
||||||
var message = new LevelControlStateMessage
|
|
||||||
{
|
|
||||||
Levels = levelControlsDevice.LevelControlPoints.ToDictionary(kv => kv.Key, kv => new Volume { Level = kv.Value.VolumeLevelFeedback.IntValue, Muted = kv.Value.MuteFeedback.BoolValue })
|
|
||||||
};
|
|
||||||
|
|
||||||
PostStatusMessage(message);
|
AddAction("/levelStats", (id, content) => SendFullStatus(id));
|
||||||
});
|
|
||||||
|
|
||||||
foreach (var levelControl in levelControlsDevice.LevelControlPoints)
|
foreach (var levelControl in levelControlsDevice.LevelControlPoints)
|
||||||
{
|
{
|
||||||
@@ -75,6 +70,16 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SendFullStatus(string id = null)
|
||||||
|
{
|
||||||
|
var message = new LevelControlStateMessage
|
||||||
|
{
|
||||||
|
Levels = levelControlsDevice.LevelControlPoints.ToDictionary(kv => kv.Key, kv => new Volume { Level = kv.Value.VolumeLevelFeedback.IntValue, Muted = kv.Value.MuteFeedback.BoolValue })
|
||||||
|
};
|
||||||
|
|
||||||
|
PostStatusMessage(message, id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.Routing;
|
using PepperDash.Essentials.Core.Routing;
|
||||||
using Serilog.Events;
|
using Serilog.Events;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -25,25 +25,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) =>
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Debug.LogMessage(LogEventLevel.Verbose, "InputCount: {inputCount}, OutputCount: {outputCount}", this, matrixDevice.InputSlots.Count, matrixDevice.OutputSlots.Count);
|
|
||||||
var message = new MatrixStateMessage
|
|
||||||
{
|
|
||||||
Outputs = matrixDevice.OutputSlots.ToDictionary(kvp => kvp.Key, kvp => new RoutingOutput(kvp.Value)),
|
|
||||||
Inputs = matrixDevice.InputSlots.ToDictionary(kvp => kvp.Key, kvp => new RoutingInput(kvp.Value)),
|
|
||||||
};
|
|
||||||
|
|
||||||
|
AddAction("/matrixStatus", (id, content) => SendFullStatus(id));
|
||||||
PostStatusMessage(message);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Debug.LogMessage(e, "Exception Getting full status: {@exception}", this, e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
AddAction("/route", (id, content) =>
|
AddAction("/route", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -80,6 +64,26 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SendFullStatus(string id = null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Debug.LogMessage(LogEventLevel.Verbose, "InputCount: {inputCount}, OutputCount: {outputCount}", this, matrixDevice.InputSlots.Count, matrixDevice.OutputSlots.Count);
|
||||||
|
var message = new MatrixStateMessage
|
||||||
|
{
|
||||||
|
Outputs = matrixDevice.OutputSlots.ToDictionary(kvp => kvp.Key, kvp => new RoutingOutput(kvp.Value)),
|
||||||
|
Inputs = matrixDevice.InputSlots.ToDictionary(kvp => kvp.Key, kvp => new RoutingInput(kvp.Value)),
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
PostStatusMessage(message, id);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogMessage(e, "Exception Getting full status: {@exception}", this, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -14,17 +14,28 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
private readonly IProjectorScreenLiftControl device;
|
private readonly IProjectorScreenLiftControl device;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="IProjectorScreenLiftControlMessenger"/> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="key">message key</param>
|
||||||
|
/// <param name="messagePath">message path</param>
|
||||||
|
/// <param name="screenLiftDevice">screen lift device</param>
|
||||||
public IProjectorScreenLiftControlMessenger(string key, string messagePath, IProjectorScreenLiftControl screenLiftDevice)
|
public IProjectorScreenLiftControlMessenger(string key, string messagePath, IProjectorScreenLiftControl screenLiftDevice)
|
||||||
: base(key, messagePath, screenLiftDevice as IKeyName)
|
: base(key, messagePath, screenLiftDevice as IKeyName)
|
||||||
{
|
{
|
||||||
device = screenLiftDevice;
|
device = screenLiftDevice;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Registers the actions for the messenger.
|
||||||
|
/// </summary>
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/screenliftStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/raise", (id, content) =>
|
AddAction("/raise", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -53,7 +64,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
PostStatusMessage(JToken.FromObject(state));
|
PostStatusMessage(JToken.FromObject(state));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var state = new ScreenLiftStateMessage
|
var state = new ScreenLiftStateMessage
|
||||||
{
|
{
|
||||||
@@ -62,7 +73,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
DisplayDeviceKey = device.DisplayDeviceKey
|
DisplayDeviceKey = device.DisplayDeviceKey
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,20 +82,23 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ScreenLiftStateMessage : DeviceStateMessageBase
|
public class ScreenLiftStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the InUpPosition
|
||||||
|
/// </summary>
|
||||||
[JsonProperty("inUpPosition", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("inUpPosition", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? InUpPosition { get; set; }
|
public bool? InUpPosition { get; set; }
|
||||||
|
|
||||||
[JsonProperty("displayDeviceKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the DisplayDeviceKey
|
/// Gets or sets the DisplayDeviceKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("displayDeviceKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string DisplayDeviceKey { get; set; }
|
public string DisplayDeviceKey { get; set; }
|
||||||
|
|
||||||
[JsonConverter(typeof(StringEnumConverter))]
|
|
||||||
[JsonProperty("type", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Type
|
/// Gets or sets the Type
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
|
[JsonProperty("type", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public eScreenLiftControlType Type { get; set; }
|
public eScreenLiftControlType Type { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Logging;
|
using PepperDash.Core.Logging;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using System;
|
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
@@ -36,7 +36,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
AddAction("/fullStatus", (id, content) => SendRoutingFullMessageObject());
|
AddAction("/fullStatus", (id, content) => SendRoutingFullMessageObject(id));
|
||||||
|
|
||||||
|
AddAction("/routingStatus", (id, content) => SendRoutingFullMessageObject(id));
|
||||||
|
|
||||||
AddAction("/source", (id, content) =>
|
AddAction("/source", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -62,7 +64,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Helper method to update full status of the routing device
|
/// Helper method to update full status of the routing device
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void SendRoutingFullMessageObject()
|
private void SendRoutingFullMessageObject(string id = null)
|
||||||
{
|
{
|
||||||
if (RoutingDevice is IRoutingSink sinkDevice)
|
if (RoutingDevice is IRoutingSink sinkDevice)
|
||||||
{
|
{
|
||||||
@@ -84,10 +86,10 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class RoutingStateMessage : DeviceStateMessageBase
|
public class RoutingStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("selectedSourceKey")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the SelectedSourceKey
|
/// Gets or sets the SelectedSourceKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("selectedSourceKey")]
|
||||||
public string SelectedSourceKey { get; set; }
|
public string SelectedSourceKey { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Logging;
|
using PepperDash.Core.Logging;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -11,7 +11,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// Represents a ISelectableItemsMessenger
|
/// Represents a ISelectableItemsMessenger
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ISelectableItemsMessenger<TKey> : MessengerBase
|
public class ISelectableItemsMessenger<TKey> : MessengerBase
|
||||||
{
|
{
|
||||||
private readonly ISelectableItems<TKey> itemDevice;
|
private readonly ISelectableItems<TKey> itemDevice;
|
||||||
|
|
||||||
private readonly string _propName;
|
private readonly string _propName;
|
||||||
@@ -34,9 +34,10 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, context) =>
|
AddAction("/fullStatus", (id, context) =>
|
||||||
{
|
SendFullStatus(id)
|
||||||
SendFullStatus();
|
);
|
||||||
});
|
|
||||||
|
AddAction("/itemsStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
itemDevice.ItemsUpdated += (sender, args) =>
|
itemDevice.ItemsUpdated += (sender, args) =>
|
||||||
{
|
{
|
||||||
@@ -65,7 +66,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -77,7 +78,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
CurrentItem = itemDevice.CurrentItem
|
CurrentItem = itemDevice.CurrentItem
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(stateObject);
|
PostStatusMessage(stateObject, id);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@@ -91,13 +92,17 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ISelectableItemsStateMessage<TKey> : DeviceStateMessageBase
|
public class ISelectableItemsStateMessage<TKey> : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the Items
|
||||||
|
/// </summary>
|
||||||
[JsonProperty("items")]
|
[JsonProperty("items")]
|
||||||
public Dictionary<TKey, ISelectableItem> Items { get; set; }
|
public Dictionary<TKey, ISelectableItem> Items { get; set; }
|
||||||
|
|
||||||
[JsonProperty("currentItem")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CurrentItem
|
/// Gets or sets the CurrentItem
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("currentItem")]
|
||||||
public TKey CurrentItem { get; set; }
|
public TKey CurrentItem { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,9 +21,10 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
AddAction("/status", (id, content) =>
|
AddAction("/status", (id, content) =>
|
||||||
{
|
SendFullStatus(id)
|
||||||
SendFullStatus();
|
);
|
||||||
});
|
|
||||||
|
AddAction("/shutdownPromptStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/setShutdownPromptSeconds", (id, content) =>
|
AddAction("/setShutdownPromptSeconds", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -68,7 +69,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var status = new IShutdownPromptTimerStateMessage
|
var status = new IShutdownPromptTimerStateMessage
|
||||||
{
|
{
|
||||||
@@ -77,7 +78,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
PercentageRemaining = _room.ShutdownPromptTimer.PercentFeedback.UShortValue
|
PercentageRemaining = _room.ShutdownPromptTimer.PercentFeedback.UShortValue
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(status);
|
PostStatusMessage(status, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,22 +88,22 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class IShutdownPromptTimerStateMessage : DeviceStateMessageBase
|
public class IShutdownPromptTimerStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("secondsRemaining")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the SecondsRemaining
|
/// Gets or sets the SecondsRemaining
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("secondsRemaining")]
|
||||||
public int SecondsRemaining { get; set; }
|
public int SecondsRemaining { get; set; }
|
||||||
|
|
||||||
[JsonProperty("percentageRemaining")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the PercentageRemaining
|
/// Gets or sets the PercentageRemaining
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("percentageRemaining")]
|
||||||
public int PercentageRemaining { get; set; }
|
public int PercentageRemaining { get; set; }
|
||||||
|
|
||||||
[JsonProperty("shutdownPromptSeconds")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the ShutdownPromptSeconds
|
/// Gets or sets the ShutdownPromptSeconds
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("shutdownPromptSeconds")]
|
||||||
public int ShutdownPromptSeconds { get; set; }
|
public int ShutdownPromptSeconds { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.CrestronIO;
|
using PepperDash.Essentials.Core.CrestronIO;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -23,7 +23,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/switchedOutputStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/on", (id, content) =>
|
AddAction("/on", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -42,14 +44,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
device.OutputIsOnFeedback.OutputChange += new EventHandler<Core.FeedbackEventArgs>((o, a) => SendFullStatus());
|
device.OutputIsOnFeedback.OutputChange += new EventHandler<Core.FeedbackEventArgs>((o, a) => SendFullStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var state = new ISwitchedOutputStateMessage
|
var state = new ISwitchedOutputStateMessage
|
||||||
{
|
{
|
||||||
IsOn = device.OutputIsOnFeedback.BoolValue
|
IsOn = device.OutputIsOnFeedback.BoolValue
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,10 +60,10 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ISwitchedOutputStateMessage : DeviceStateMessageBase
|
public class ISwitchedOutputStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("isOn")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the IsOn
|
/// Gets or sets the IsOn
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("isOn")]
|
||||||
public bool IsOn { get; set; }
|
public bool IsOn { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,10 +20,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
|
|
||||||
AddAction("/status", (id, content) =>
|
AddAction("/status", (id, content) => SendFullStatus(id));
|
||||||
{
|
|
||||||
SendFullStatus();
|
AddAction("/techPasswordStatus", (id, content) => SendFullStatus(id));
|
||||||
});
|
|
||||||
|
|
||||||
AddAction("/validateTechPassword", (id, content) =>
|
AddAction("/validateTechPassword", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -55,14 +54,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var status = new ITechPasswordStateMessage
|
var status = new ITechPasswordStateMessage
|
||||||
{
|
{
|
||||||
TechPasswordLength = _room.TechPasswordLength
|
TechPasswordLength = _room.TechPasswordLength
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(status);
|
PostStatusMessage(status, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -22,7 +22,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/temperatureStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/setTemperatureUnitsToCelcius", (id, content) =>
|
AddAction("/setTemperatureUnitsToCelcius", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -38,7 +40,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
device.TemperatureInCFeedback.OutputChange += new EventHandler<Core.FeedbackEventArgs>((o, a) => SendFullStatus());
|
device.TemperatureInCFeedback.OutputChange += new EventHandler<Core.FeedbackEventArgs>((o, a) => SendFullStatus());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
// format the temperature to a string with one decimal place
|
// format the temperature to a string with one decimal place
|
||||||
var tempString = string.Format("{0}.{1}", device.TemperatureFeedback.UShortValue / 10, device.TemperatureFeedback.UShortValue % 10);
|
var tempString = string.Format("{0}.{1}", device.TemperatureFeedback.UShortValue / 10, device.TemperatureFeedback.UShortValue % 10);
|
||||||
@@ -49,7 +51,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
TemperatureInCelsius = device.TemperatureInCFeedback.BoolValue
|
TemperatureInCelsius = device.TemperatureInCFeedback.BoolValue
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,16 +60,16 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ITemperatureSensorStateMessage : DeviceStateMessageBase
|
public class ITemperatureSensorStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("temperature")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Temperature
|
/// Gets or sets the Temperature
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("temperature")]
|
||||||
public string Temperature { get; set; }
|
public string Temperature { get; set; }
|
||||||
|
|
||||||
[JsonProperty("temperatureInCelsius")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the TemperatureInCelsius
|
/// Gets or sets the TemperatureInCelsius
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("temperatureInCelsius")]
|
||||||
public bool TemperatureInCelsius { get; set; }
|
public bool TemperatureInCelsius { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Lighting;
|
using PepperDash.Essentials.Core.Lighting;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -35,7 +35,9 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/lightingStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/selectScene", (id, content) =>
|
AddAction("/selectScene", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -43,14 +45,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
lightingScenesDevice.SelectScene(s);
|
lightingScenesDevice.SelectScene(s);
|
||||||
});
|
});
|
||||||
|
|
||||||
if(!(lightingScenesDevice is ILightingScenesDynamic lightingScenesDynamic))
|
if (!(lightingScenesDevice is ILightingScenesDynamic lightingScenesDynamic))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
lightingScenesDynamic.LightingScenesUpdated += (s, e) => SendFullStatus();
|
lightingScenesDynamic.LightingScenesUpdated += (s, e) => SendFullStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var state = new LightingBaseStateMessage
|
var state = new LightingBaseStateMessage
|
||||||
{
|
{
|
||||||
@@ -58,7 +60,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
CurrentLightingScene = lightingScenesDevice.CurrentLightingScene
|
CurrentLightingScene = lightingScenesDevice.CurrentLightingScene
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,16 +69,17 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class LightingBaseStateMessage : DeviceStateMessageBase
|
public class LightingBaseStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("scenes", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Scenes
|
/// Gets or sets the Scenes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("scenes", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<LightingScene> Scenes { get; set; }
|
public List<LightingScene> Scenes { get; set; }
|
||||||
|
|
||||||
[JsonProperty("currentLightingScene", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CurrentLightingScene
|
/// Gets or sets the CurrentLightingScene
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("currentLightingScene", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public LightingScene CurrentLightingScene { get; set; }
|
public LightingScene CurrentLightingScene { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Logging;
|
using PepperDash.Core.Logging;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
using PepperDash.Essentials.Core.DeviceTypeInterfaces;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -159,13 +159,13 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
message.Name = _device.Name;
|
message.Name = _device.Name;
|
||||||
|
|
||||||
var token = JToken.FromObject(message);
|
var token = JToken.FromObject(message);
|
||||||
|
|
||||||
PostStatusMessage(token, MessagePath, clientId);
|
PostStatusMessage(token, MessagePath, clientId);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogError(ex, "Exception posting status message for {messagePath} to {clientId}", MessagePath, clientId ?? "all clients");
|
this.LogError(ex, "Exception posting status message for {messagePath} to {clientId}", MessagePath, clientId ?? "all clients");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogError(ex, "Exception posting status message for {type} to {clientId}", type, clientId ?? "all clients");
|
this.LogError(ex, "Exception posting status message for {type} to {clientId}", type, clientId ?? "all clients");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
using Crestron.SimplSharp;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Handler for press/hold/release messages
|
||||||
|
/// </summary>
|
||||||
public static class PressAndHoldHandler
|
public static class PressAndHoldHandler
|
||||||
{
|
{
|
||||||
private const long ButtonHeartbeatInterval = 1000;
|
private const long ButtonHeartbeatInterval = 1000;
|
||||||
@@ -26,21 +29,21 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
private static void AddTimer(string deviceKey, Action<bool> action)
|
private static void AddTimer(string deviceKey, Action<bool> action)
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Attempting to add timer for {deviceKey}", deviceKey);
|
Debug.LogDebug("Attempting to add timer for {deviceKey}", deviceKey);
|
||||||
|
|
||||||
if (_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer))
|
if (_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer))
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Timer for {deviceKey} already exists", deviceKey);
|
Debug.LogDebug("Timer for {deviceKey} already exists", deviceKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Adding timer for {deviceKey} with due time {dueTime}", deviceKey, ButtonHeartbeatInterval);
|
Debug.LogDebug("Adding timer for {deviceKey} with due time {dueTime}", deviceKey, ButtonHeartbeatInterval);
|
||||||
|
|
||||||
action(true);
|
action(true);
|
||||||
|
|
||||||
cancelTimer = new CTimer(o =>
|
cancelTimer = new CTimer(o =>
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Timer expired for {deviceKey}", deviceKey);
|
Debug.LogDebug("Timer expired for {deviceKey}", deviceKey);
|
||||||
|
|
||||||
action(false);
|
action(false);
|
||||||
|
|
||||||
@@ -52,30 +55,30 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
private static void ResetTimer(string deviceKey, Action<bool> action)
|
private static void ResetTimer(string deviceKey, Action<bool> action)
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Attempting to reset timer for {deviceKey}", deviceKey);
|
Debug.LogDebug("Attempting to reset timer for {deviceKey}", deviceKey);
|
||||||
|
|
||||||
if (!_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer))
|
if (!_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer))
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Timer for {deviceKey} not found", deviceKey);
|
Debug.LogDebug("Timer for {deviceKey} not found", deviceKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Resetting timer for {deviceKey} with due time {dueTime}", deviceKey, ButtonHeartbeatInterval);
|
Debug.LogDebug("Resetting timer for {deviceKey} with due time {dueTime}", deviceKey, ButtonHeartbeatInterval);
|
||||||
|
|
||||||
cancelTimer.Reset(ButtonHeartbeatInterval);
|
cancelTimer.Reset(ButtonHeartbeatInterval);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void StopTimer(string deviceKey, Action<bool> action)
|
private static void StopTimer(string deviceKey, Action<bool> action)
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Attempting to stop timer for {deviceKey}", deviceKey);
|
Debug.LogDebug("Attempting to stop timer for {deviceKey}", deviceKey);
|
||||||
|
|
||||||
if (!_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer))
|
if (!_pushedActions.TryGetValue(deviceKey, out CTimer cancelTimer))
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Timer for {deviceKey} not found", deviceKey);
|
Debug.LogDebug("Timer for {deviceKey} not found", deviceKey);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Stopping timer for {deviceKey} with due time {dueTime}", deviceKey, ButtonHeartbeatInterval);
|
Debug.LogDebug("Stopping timer for {deviceKey} with due time {dueTime}", deviceKey, ButtonHeartbeatInterval);
|
||||||
|
|
||||||
action(false);
|
action(false);
|
||||||
cancelTimer.Stop();
|
cancelTimer.Stop();
|
||||||
@@ -84,15 +87,15 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
public static Action<string, Action<bool>> GetPressAndHoldHandler(string value)
|
public static Action<string, Action<bool>> GetPressAndHoldHandler(string value)
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Getting press and hold handler for {value}", value);
|
Debug.LogDebug("Getting press and hold handler for {value}", value);
|
||||||
|
|
||||||
if (!_pushedActionHandlers.TryGetValue(value, out Action<string, Action<bool>> handler))
|
if (!_pushedActionHandlers.TryGetValue(value, out Action<string, Action<bool>> handler))
|
||||||
{
|
{
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Press and hold handler for {value} not found", value);
|
Debug.LogDebug("Press and hold handler for {value} not found", value);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Got handler for {value}", value);
|
Debug.LogDebug("Got handler for {value}", value);
|
||||||
|
|
||||||
return handler;
|
return handler;
|
||||||
}
|
}
|
||||||
@@ -104,7 +107,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
var msg = content.ToObject<MobileControlSimpleContent<string>>();
|
var msg = content.ToObject<MobileControlSimpleContent<string>>();
|
||||||
|
|
||||||
Debug.LogMessage(Serilog.Events.LogEventLevel.Debug, "Handling press and hold message of {type} for {deviceKey}", msg.Value, deviceKey);
|
Debug.LogDebug("Handling press and hold message of {type} for {deviceKey}", msg.Value, deviceKey);
|
||||||
|
|
||||||
var timerHandler = GetPressAndHoldHandler(msg.Value);
|
var timerHandler = GetPressAndHoldHandler(msg.Value);
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Core.Logging;
|
using PepperDash.Core.Logging;
|
||||||
using PepperDash.Essentials.Core;
|
using PepperDash.Essentials.Core;
|
||||||
using PepperDash.Essentials.Room.Config;
|
using PepperDash.Essentials.Room.Config;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -31,7 +31,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
var events = _room.GetScheduledEvents();
|
var events = _room.GetScheduledEvents();
|
||||||
|
|
||||||
SendFullStatus(events);
|
SendFullStatus(events, id);
|
||||||
|
});
|
||||||
|
|
||||||
|
AddAction("/scheduledEventsStatus", (id, content) =>
|
||||||
|
{
|
||||||
|
var events = _room.GetScheduledEvents();
|
||||||
|
|
||||||
|
SendFullStatus(events, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
_room.ScheduledEventsChanged += (sender, args) => SendFullStatus(args.ScheduledEvents);
|
_room.ScheduledEventsChanged += (sender, args) => SendFullStatus(args.ScheduledEvents);
|
||||||
@@ -55,11 +62,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogException(ex,"Exception saving event");
|
this.LogException(ex, "Exception saving event");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatus(List<ScheduledEventConfig> events)
|
private void SendFullStatus(List<ScheduledEventConfig> events, string id = null)
|
||||||
{
|
{
|
||||||
|
|
||||||
var message = new RoomEventScheduleStateMessage
|
var message = new RoomEventScheduleStateMessage
|
||||||
@@ -67,7 +74,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
ScheduleEvents = events,
|
ScheduleEvents = events,
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(message);
|
PostStatusMessage(message, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Shades;
|
using PepperDash.Essentials.Core.Shades;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -22,7 +22,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
AddAction("/shadesStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/shadeUp", (id, content) =>
|
AddAction("/shadeUp", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -75,7 +76,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void SendFullStatus()
|
private void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var state = new ShadeBaseStateMessage();
|
var state = new ShadeBaseStateMessage();
|
||||||
|
|
||||||
@@ -85,7 +86,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
state.IsClosed = feedbackDevice.ShadeIsClosedFeedback.BoolValue;
|
state.IsClosed = feedbackDevice.ShadeIsClosedFeedback.BoolValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,10 +95,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ShadeBaseStateMessage : DeviceStateMessageBase
|
public class ShadeBaseStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("middleButtonLabel", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the MiddleButtonLabel
|
/// Gets or sets the MiddleButtonLabel
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("middleButtonLabel", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string MiddleButtonLabel { get; set; }
|
public string MiddleButtonLabel { get; set; }
|
||||||
|
|
||||||
[JsonProperty("isOpen", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isOpen", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
using Crestron.SimplSharp;
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
using PepperDash.Essentials.Core.Monitoring;
|
using PepperDash.Essentials.Core.Monitoring;
|
||||||
using System;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -56,36 +56,37 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
SendSystemMonitorStatusMessage();
|
SendSystemMonitorStatusMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendFullStatusMessage()
|
private void SendFullStatusMessage(string id = null)
|
||||||
{
|
{
|
||||||
SendSystemMonitorStatusMessage();
|
SendSystemMonitorStatusMessage(id);
|
||||||
|
|
||||||
foreach (var p in systemMonitor.ProgramStatusFeedbackCollection)
|
foreach (var p in systemMonitor.ProgramStatusFeedbackCollection)
|
||||||
{
|
{
|
||||||
PostStatusMessage(JToken.FromObject(p.Value.ProgramInfo));
|
PostStatusMessage(JToken.FromObject(p.Value.ProgramInfo), id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendSystemMonitorStatusMessage()
|
private void SendSystemMonitorStatusMessage(string id = null)
|
||||||
{
|
{
|
||||||
// This takes a while, launch a new thread
|
// This takes a while, launch a new thread
|
||||||
|
|
||||||
Task.Run(() => PostStatusMessage(JToken.FromObject(new SystemMonitorStateMessage
|
Task.Run(() => PostStatusMessage(JToken.FromObject(new SystemMonitorStateMessage
|
||||||
{
|
{
|
||||||
|
|
||||||
TimeZone = systemMonitor.TimeZoneFeedback.IntValue,
|
TimeZone = systemMonitor.TimeZoneFeedback.IntValue,
|
||||||
TimeZoneName = systemMonitor.TimeZoneTextFeedback.StringValue,
|
TimeZoneName = systemMonitor.TimeZoneTextFeedback.StringValue,
|
||||||
IoControllerVersion = systemMonitor.IoControllerVersionFeedback.StringValue,
|
IoControllerVersion = systemMonitor.IoControllerVersionFeedback.StringValue,
|
||||||
SnmpVersion = systemMonitor.SnmpVersionFeedback.StringValue,
|
SnmpVersion = systemMonitor.SnmpVersionFeedback.StringValue,
|
||||||
BacnetVersion = systemMonitor.BaCnetAppVersionFeedback.StringValue,
|
BacnetVersion = systemMonitor.BaCnetAppVersionFeedback.StringValue,
|
||||||
ControllerVersion = systemMonitor.ControllerVersionFeedback.StringValue
|
ControllerVersion = systemMonitor.ControllerVersionFeedback.StringValue
|
||||||
})
|
}), id
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatusMessage());
|
AddAction("/fullStatus", (id, content) => SendFullStatusMessage(id));
|
||||||
|
|
||||||
|
AddAction("/systemStatus", (id, content) => SendFullStatusMessage(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,40 +95,45 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class SystemMonitorStateMessage
|
public class SystemMonitorStateMessage
|
||||||
{
|
{
|
||||||
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the TimeZone
|
/// Gets or sets the TimeZone
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public int TimeZone { get; set; }
|
public int TimeZone { get; set; }
|
||||||
|
|
||||||
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the TimeZoneName
|
/// Gets or sets the TimeZoneName
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string TimeZoneName { get; set; }
|
public string TimeZoneName { get; set; }
|
||||||
|
|
||||||
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the IoControllerVersion
|
/// Gets or sets the IoControllerVersion
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string IoControllerVersion { get; set; }
|
public string IoControllerVersion { get; set; }
|
||||||
|
|
||||||
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the SnmpVersion
|
/// Gets or sets the SnmpVersion
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string SnmpVersion { get; set; }
|
public string SnmpVersion { get; set; }
|
||||||
|
|
||||||
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the BacnetVersion
|
/// Gets or sets the BacnetVersion
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string BacnetVersion { get; set; }
|
public string BacnetVersion { get; set; }
|
||||||
|
|
||||||
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the ControllerVersion
|
/// Gets or sets the ControllerVersion
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("timeZone", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string ControllerVersion { get; set; }
|
public string ControllerVersion { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -23,7 +23,7 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// SendFullStatus method
|
/// SendFullStatus method
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void SendFullStatus()
|
public void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
var messageObj = new TwoWayDisplayBaseStateMessage
|
var messageObj = new TwoWayDisplayBaseStateMessage
|
||||||
{
|
{
|
||||||
@@ -31,16 +31,17 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
CurrentInput = _display.CurrentInputFeedback.StringValue
|
CurrentInput = _display.CurrentInputFeedback.StringValue
|
||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(messageObj);
|
PostStatusMessage(messageObj, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void RegisterActions()
|
protected override void RegisterActions()
|
||||||
{
|
{
|
||||||
base.RegisterActions();
|
base.RegisterActions();
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
|
AddAction("/displayStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
//_display.PowerIsOnFeedback.OutputChange += PowerIsOnFeedbackOnOutputChange;
|
|
||||||
_display.CurrentInputFeedback.OutputChange += CurrentInputFeedbackOnOutputChange;
|
_display.CurrentInputFeedback.OutputChange += CurrentInputFeedbackOnOutputChange;
|
||||||
_display.IsCoolingDownFeedback.OutputChange += IsCoolingFeedbackOnOutputChange;
|
_display.IsCoolingDownFeedback.OutputChange += IsCoolingFeedbackOnOutputChange;
|
||||||
_display.IsWarmingUpFeedback.OutputChange += IsWarmingFeedbackOnOutputChange;
|
_display.IsWarmingUpFeedback.OutputChange += IsWarmingFeedbackOnOutputChange;
|
||||||
@@ -55,16 +56,6 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//private void PowerIsOnFeedbackOnOutputChange(object sender, FeedbackEventArgs feedbackEventArgs)
|
|
||||||
//{
|
|
||||||
// PostStatusMessage(JToken.FromObject(new
|
|
||||||
// {
|
|
||||||
// powerState = feedbackEventArgs.BoolValue
|
|
||||||
// })
|
|
||||||
// );
|
|
||||||
//}
|
|
||||||
|
|
||||||
private void IsWarmingFeedbackOnOutputChange(object sender, FeedbackEventArgs feedbackEventArgs)
|
private void IsWarmingFeedbackOnOutputChange(object sender, FeedbackEventArgs feedbackEventArgs)
|
||||||
{
|
{
|
||||||
PostStatusMessage(JToken.FromObject(new
|
PostStatusMessage(JToken.FromObject(new
|
||||||
@@ -96,10 +87,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
//[JsonProperty("powerState", NullValueHandling = NullValueHandling.Ignore)]
|
//[JsonProperty("powerState", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
//public bool? PowerState { get; set; }
|
//public bool? PowerState { get; set; }
|
||||||
|
|
||||||
[JsonProperty("currentInput", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CurrentInput
|
/// Gets or sets the CurrentInput
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("currentInput", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string CurrentInput { get; set; }
|
public string CurrentInput { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,8 @@
|
|||||||
using Crestron.SimplSharp;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using Crestron.SimplSharp;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
@@ -9,9 +13,6 @@ using PepperDash.Essentials.Devices.Common.Cameras;
|
|||||||
using PepperDash.Essentials.Devices.Common.Codec;
|
using PepperDash.Essentials.Devices.Common.Codec;
|
||||||
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
||||||
using PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces;
|
using PepperDash.Essentials.Devices.Common.VideoCodec.Interfaces;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.AppServer.Messengers
|
namespace PepperDash.Essentials.AppServer.Messengers
|
||||||
{
|
{
|
||||||
@@ -151,7 +152,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
PostStatusMessage(state);
|
PostStatusMessage(state);
|
||||||
|
|
||||||
SendFullStatus();
|
SendFullStatus();
|
||||||
} catch (Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogError(ex, "Error sending codec ready status");
|
this.LogError(ex, "Error sending codec ready status");
|
||||||
}
|
}
|
||||||
@@ -169,7 +171,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
|
|
||||||
AddAction("/isReady", (id, content) => SendIsReady());
|
AddAction("/isReady", (id, content) => SendIsReady());
|
||||||
|
|
||||||
AddAction("/fullStatus", (id, content) => SendFullStatus());
|
AddAction("/fullStatus", (id, content) => SendFullStatus(id));
|
||||||
|
AddAction("/codecStatus", (id, content) => SendFullStatus(id));
|
||||||
|
|
||||||
AddAction("/dial", (id, content) =>
|
AddAction("/dial", (id, content) =>
|
||||||
{
|
{
|
||||||
@@ -369,7 +372,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state);
|
||||||
} catch (Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogError(ex, "Error posting sharing source");
|
this.LogError(ex, "Error posting sharing source");
|
||||||
}
|
}
|
||||||
@@ -385,7 +389,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state);
|
||||||
} catch (Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogError(ex, "Error posting sharing content");
|
this.LogError(ex, "Error posting sharing content");
|
||||||
}
|
}
|
||||||
@@ -435,7 +440,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
{
|
{
|
||||||
MapCameraActions();
|
MapCameraActions();
|
||||||
PostSelectedCamera();
|
PostSelectedCamera();
|
||||||
} catch(Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogError(ex, "Exception handling camera selected event");
|
this.LogError(ex, "Exception handling camera selected event");
|
||||||
}
|
}
|
||||||
@@ -780,14 +786,14 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual void SendFullStatus()
|
protected virtual void SendFullStatus(string id = null)
|
||||||
{
|
{
|
||||||
if (!Codec.IsReady)
|
if (!Codec.IsReady)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CrestronInvoke.BeginInvoke((o) => PostStatusMessage(GetStatus()));
|
Task.Run(() => PostStatusMessage(GetStatus(), id));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PostReceivingContent(bool receivingContent)
|
private void PostReceivingContent(bool receivingContent)
|
||||||
@@ -800,7 +806,8 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
};
|
};
|
||||||
|
|
||||||
PostStatusMessage(state);
|
PostStatusMessage(state);
|
||||||
} catch(Exception ex)
|
}
|
||||||
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
this.LogError(ex, "Error posting receiving content");
|
this.LogError(ex, "Error posting receiving content");
|
||||||
}
|
}
|
||||||
@@ -949,22 +956,25 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
[JsonProperty("cameraSupportsOffMode", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("cameraSupportsOffMode", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? CameraSupportsOffMode { get; set; }
|
public bool? CameraSupportsOffMode { get; set; }
|
||||||
|
|
||||||
[JsonProperty("currentDialString", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CurrentDialString
|
/// Gets or sets the CurrentDialString
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("currentDialString", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string CurrentDialString { get; set; }
|
public string CurrentDialString { get; set; }
|
||||||
|
|
||||||
[JsonProperty("currentDirectory", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CurrentDirectory
|
/// Gets or sets the CurrentDirectory
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("currentDirectory", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public CodecDirectory CurrentDirectory { get; set; }
|
public CodecDirectory CurrentDirectory { get; set; }
|
||||||
|
|
||||||
[JsonProperty("directorySelectedFolderName", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the DirectorySelectedFolderName
|
/// Gets or sets the DirectorySelectedFolderName
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("directorySelectedFolderName", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string DirectorySelectedFolderName { get; set; }
|
public string DirectorySelectedFolderName { get; set; }
|
||||||
|
|
||||||
[JsonProperty("hasCameras", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasCameras", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -985,10 +995,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
[JsonProperty("initialPhonebookSyncComplete", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("initialPhonebookSyncComplete", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? InitialPhonebookSyncComplete { get; set; }
|
public bool? InitialPhonebookSyncComplete { get; set; }
|
||||||
|
|
||||||
[JsonProperty("info", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Info
|
/// Gets or sets the Info
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("info", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public VideoCodecInfo Info { get; set; }
|
public VideoCodecInfo Info { get; set; }
|
||||||
|
|
||||||
[JsonProperty("isInCall", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isInCall", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -1000,16 +1011,18 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
[JsonProperty("isZoomRoom", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isZoomRoom", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? IsZoomRoom { get; set; }
|
public bool? IsZoomRoom { get; set; }
|
||||||
|
|
||||||
[JsonProperty("meetingInfo", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the MeetingInfo
|
/// Gets or sets the MeetingInfo
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("meetingInfo", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public MeetingInfo MeetingInfo { get; set; }
|
public MeetingInfo MeetingInfo { get; set; }
|
||||||
|
|
||||||
[JsonProperty("presets", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Presets
|
/// Gets or sets the Presets
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("presets", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<CodecRoomPreset> Presets { get; set; }
|
public List<CodecRoomPreset> Presets { get; set; }
|
||||||
|
|
||||||
[JsonProperty("privacyModeIsOn", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("privacyModeIsOn", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -1024,10 +1037,11 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
[JsonProperty("sharingContentIsOn", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("sharingContentIsOn", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? SharingContentIsOn { get; set; }
|
public bool? SharingContentIsOn { get; set; }
|
||||||
|
|
||||||
[JsonProperty("sharingSource", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the SharingSource
|
/// Gets or sets the SharingSource
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("sharingSource", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string SharingSource { get; set; }
|
public string SharingSource { get; set; }
|
||||||
|
|
||||||
[JsonProperty("showCamerasWhenNotInCall", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("showCamerasWhenNotInCall", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -1057,23 +1071,26 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
[JsonProperty("cameraOffSupported", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("cameraOffSupported", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? CameraOffIsSupported { get; set; }
|
public bool? CameraOffIsSupported { get; set; }
|
||||||
|
|
||||||
[JsonProperty("cameraMode", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CameraMode
|
/// Gets or sets the CameraMode
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("cameraMode", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string CameraMode { get; set; }
|
public string CameraMode { get; set; }
|
||||||
|
|
||||||
[JsonProperty("cameraList", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Cameras
|
/// Gets or sets the Cameras
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("cameraList", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<CameraBase> Cameras { get; set; }
|
public List<CameraBase> Cameras { get; set; }
|
||||||
|
|
||||||
[JsonProperty("selectedCamera", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the SelectedCamera
|
/// Gets or sets the SelectedCamera
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public Camera SelectedCamera { get; set; }
|
[JsonProperty("selectedCamera", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public Camera SelectedCamera { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -1081,25 +1098,28 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class Camera
|
public class Camera
|
||||||
{
|
{
|
||||||
[JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Key
|
/// Gets or sets the Key
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Key { get; set; }
|
public string Key { get; set; }
|
||||||
|
|
||||||
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Name
|
/// Gets or sets the Name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
[JsonProperty("isFarEnd", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isFarEnd", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? IsFarEnd { get; set; }
|
public bool? IsFarEnd { get; set; }
|
||||||
|
|
||||||
[JsonProperty("capabilities", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Capabilities
|
/// Gets or sets the Capabilities
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("capabilities", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public CameraCapabilities Capabilities { get; set; }
|
public CameraCapabilities Capabilities { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1135,27 +1155,31 @@ namespace PepperDash.Essentials.AppServer.Messengers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class PasswordPromptEventMessage : VideoCodecBaseEventMessage
|
public class PasswordPromptEventMessage : VideoCodecBaseEventMessage
|
||||||
{
|
{
|
||||||
[JsonProperty("message", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Message
|
/// Gets or sets the Message
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("message", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Message { get; set; }
|
public string Message { get; set; }
|
||||||
[JsonProperty("lastAttemptWasIncorrect", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the LastAttemptWasIncorrect
|
/// Gets or sets the LastAttemptWasIncorrect
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("lastAttemptWasIncorrect", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool LastAttemptWasIncorrect { get; set; }
|
public bool LastAttemptWasIncorrect { get; set; }
|
||||||
|
|
||||||
[JsonProperty("loginAttemptFailed", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the LoginAttemptFailed
|
/// Gets or sets the LoginAttemptFailed
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("loginAttemptFailed", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool LoginAttemptFailed { get; set; }
|
public bool LoginAttemptFailed { get; set; }
|
||||||
|
|
||||||
[JsonProperty("loginAttemptCancelled", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the LoginAttemptCancelled
|
/// Gets or sets the LoginAttemptCancelled
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("loginAttemptCancelled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool LoginAttemptCancelled { get; set; }
|
public bool LoginAttemptCancelled { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,16 +7,18 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class AuthorizationResponse
|
public class AuthorizationResponse
|
||||||
{
|
{
|
||||||
[JsonProperty("authorized")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Authorized
|
/// Gets or sets the Authorized
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("authorized")]
|
||||||
public bool Authorized { get; set; }
|
public bool Authorized { get; set; }
|
||||||
|
|
||||||
[JsonProperty("reason", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Reason
|
/// Gets or sets the Reason
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("reason", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Reason { get; set; } = null;
|
public string Reason { get; set; } = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,10 +27,11 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class AuthorizationRequest
|
public class AuthorizationRequest
|
||||||
{
|
{
|
||||||
[JsonProperty("grantCode")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the GrantCode
|
/// Gets or sets the GrantCode
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("grantCode")]
|
||||||
public string GrantCode { get; set; }
|
public string GrantCode { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Essentials.Core.Config;
|
using PepperDash.Essentials.Core.Config;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
@@ -39,10 +39,11 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class MobileControlRuntimeInfo
|
public class MobileControlRuntimeInfo
|
||||||
{
|
{
|
||||||
[JsonProperty("pluginVersion")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the PluginVersion
|
/// Gets or sets the PluginVersion
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("pluginVersion")]
|
||||||
public string PluginVersion { get; set; }
|
public string PluginVersion { get; set; }
|
||||||
|
|
||||||
[JsonProperty("essentialsVersion")]
|
[JsonProperty("essentialsVersion")]
|
||||||
@@ -51,10 +52,11 @@ namespace PepperDash.Essentials
|
|||||||
[JsonProperty("pepperDashCoreVersion")]
|
[JsonProperty("pepperDashCoreVersion")]
|
||||||
public string PepperDashCoreVersion { get; set; }
|
public string PepperDashCoreVersion { get; set; }
|
||||||
|
|
||||||
[JsonProperty("essentialsPlugins")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EssentialsPlugins
|
/// Gets or sets the EssentialsPlugins
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("essentialsPlugins")]
|
||||||
public List<LoadedAssembly> EssentialsPlugins { get; set; }
|
public List<LoadedAssembly> EssentialsPlugins { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,7 +244,7 @@ namespace PepperDash.Essentials
|
|||||||
CrestronEnvironment.ProgramStatusEventHandler +=
|
CrestronEnvironment.ProgramStatusEventHandler +=
|
||||||
CrestronEnvironment_ProgramStatusEventHandler;
|
CrestronEnvironment_ProgramStatusEventHandler;
|
||||||
|
|
||||||
ApiOnlineAndAuthorized = new BoolFeedback(() =>
|
ApiOnlineAndAuthorized = new BoolFeedback("apiOnlineAndAuthorized", () =>
|
||||||
{
|
{
|
||||||
if (_wsClient2 == null)
|
if (_wsClient2 == null)
|
||||||
return false;
|
return false;
|
||||||
@@ -1484,7 +1484,7 @@ namespace PepperDash.Essentials
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds an action to the dictionary
|
/// Adds an action to the dictionary
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="key">The path of the API command</param>
|
/// <param name="messenger">The messenger for the API command</param>
|
||||||
/// <param name="action">The action to be triggered by the commmand</param>
|
/// <param name="action">The action to be triggered by the commmand</param>
|
||||||
public void AddAction<T>(T messenger, Action<string, string, JToken> action)
|
public void AddAction<T>(T messenger, Action<string, string, JToken> action)
|
||||||
where T : IMobileControlMessenger
|
where T : IMobileControlMessenger
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Converters;
|
using Newtonsoft.Json.Converters;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using PepperDash.Core;
|
using PepperDash.Core;
|
||||||
@@ -17,9 +20,6 @@ using PepperDash.Essentials.Devices.Common.Room;
|
|||||||
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
using PepperDash.Essentials.Devices.Common.VideoCodec;
|
||||||
using PepperDash.Essentials.Room.Config;
|
using PepperDash.Essentials.Room.Config;
|
||||||
using PepperDash.Essentials.WebSocketServer;
|
using PepperDash.Essentials.WebSocketServer;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using IShades = PepperDash.Essentials.Core.Shades.IShades;
|
using IShades = PepperDash.Essentials.Core.Shades.IShades;
|
||||||
using ShadeBase = PepperDash.Essentials.Devices.Common.Shades.ShadeBase;
|
using ShadeBase = PepperDash.Essentials.Devices.Common.Shades.ShadeBase;
|
||||||
|
|
||||||
@@ -485,6 +485,7 @@ namespace PepperDash.Essentials.RoomBridges
|
|||||||
/// Sends the full status of the room to the server
|
/// Sends the full status of the room to the server
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="room"></param>
|
/// <param name="room"></param>
|
||||||
|
/// <param name="id"></param>
|
||||||
private void SendFullStatusForClientId(string id, IEssentialsRoom room)
|
private void SendFullStatusForClientId(string id, IEssentialsRoom room)
|
||||||
{
|
{
|
||||||
//Parent.SendMessageObject(GetFullStatus(room));
|
//Parent.SendMessageObject(GetFullStatus(room));
|
||||||
@@ -554,6 +555,7 @@ namespace PepperDash.Essentials.RoomBridges
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines the configuration of the room and the details about the devices associated with the room
|
/// Determines the configuration of the room and the details about the devices associated with the room
|
||||||
|
/// </summary>
|
||||||
/// <param name="room"></param>
|
/// <param name="room"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private RoomConfiguration GetRoomConfiguration(IEssentialsRoom room)
|
private RoomConfiguration GetRoomConfiguration(IEssentialsRoom room)
|
||||||
@@ -798,31 +800,38 @@ namespace PepperDash.Essentials.RoomBridges
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class RoomStateMessage : DeviceStateMessageBase
|
public class RoomStateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("configuration", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Configuration
|
/// Gets or sets the Configuration
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("configuration", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public RoomConfiguration Configuration { get; set; }
|
public RoomConfiguration Configuration { get; set; }
|
||||||
|
|
||||||
[JsonProperty("activityMode", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("activityMode", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public int? ActivityMode { get; set; }
|
public int? ActivityMode { get; set; }
|
||||||
|
|
||||||
[JsonProperty("advancedSharingActive", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("advancedSharingActive", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? AdvancedSharingActive { get; set; }
|
public bool? AdvancedSharingActive { get; set; }
|
||||||
|
|
||||||
[JsonProperty("isOn", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isOn", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? IsOn { get; set; }
|
public bool? IsOn { get; set; }
|
||||||
|
|
||||||
[JsonProperty("isWarmingUp", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isWarmingUp", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? IsWarmingUp { get; set; }
|
public bool? IsWarmingUp { get; set; }
|
||||||
|
|
||||||
[JsonProperty("isCoolingDown", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isCoolingDown", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? IsCoolingDown { get; set; }
|
public bool? IsCoolingDown { get; set; }
|
||||||
[JsonProperty("selectedSourceKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the SelectedSourceKey
|
/// Gets or sets the SelectedSourceKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("selectedSourceKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string SelectedSourceKey { get; set; }
|
public string SelectedSourceKey { get; set; }
|
||||||
[JsonProperty("share", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Share
|
/// Gets or sets the Share
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("share", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public ShareState Share { get; set; }
|
public ShareState Share { get; set; }
|
||||||
|
|
||||||
[JsonProperty("volumes", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("volumes", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -837,13 +846,16 @@ namespace PepperDash.Essentials.RoomBridges
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ShareState
|
public class ShareState
|
||||||
{
|
{
|
||||||
[JsonProperty("currentShareText", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CurrentShareText
|
/// Gets or sets the CurrentShareText
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("currentShareText", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string CurrentShareText { get; set; }
|
public string CurrentShareText { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enabled", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Enabled { get; set; }
|
public bool? Enabled { get; set; }
|
||||||
|
|
||||||
[JsonProperty("isSharing", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("isSharing", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? IsSharing { get; set; }
|
public bool? IsSharing { get; set; }
|
||||||
}
|
}
|
||||||
@@ -853,131 +865,156 @@ namespace PepperDash.Essentials.RoomBridges
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class RoomConfiguration
|
public class RoomConfiguration
|
||||||
{
|
{
|
||||||
//[JsonProperty("shutdownPromptSeconds", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
//public int? ShutdownPromptSeconds { get; set; }
|
|
||||||
|
|
||||||
[JsonProperty("hasVideoConferencing", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasVideoConferencing", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? HasVideoConferencing { get; set; }
|
public bool? HasVideoConferencing { get; set; }
|
||||||
|
|
||||||
[JsonProperty("videoCodecIsZoomRoom", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("videoCodecIsZoomRoom", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? VideoCodecIsZoomRoom { get; set; }
|
public bool? VideoCodecIsZoomRoom { get; set; }
|
||||||
|
|
||||||
[JsonProperty("hasAudioConferencing", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasAudioConferencing", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? HasAudioConferencing { get; set; }
|
public bool? HasAudioConferencing { get; set; }
|
||||||
|
|
||||||
[JsonProperty("hasEnvironmentalControls", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasEnvironmentalControls", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? HasEnvironmentalControls { get; set; }
|
public bool? HasEnvironmentalControls { get; set; }
|
||||||
|
|
||||||
[JsonProperty("hasCameraControls", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasCameraControls", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? HasCameraControls { get; set; }
|
public bool? HasCameraControls { get; set; }
|
||||||
|
|
||||||
[JsonProperty("hasSetTopBoxControls", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasSetTopBoxControls", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? HasSetTopBoxControls { get; set; }
|
public bool? HasSetTopBoxControls { get; set; }
|
||||||
|
|
||||||
[JsonProperty("hasRoutingControls", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasRoutingControls", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? HasRoutingControls { get; set; }
|
public bool? HasRoutingControls { get; set; }
|
||||||
|
|
||||||
[JsonProperty("touchpanelKeys", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the TouchpanelKeys
|
/// Gets or sets the TouchpanelKeys
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("touchpanelKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<string> TouchpanelKeys { get; set; }
|
public List<string> TouchpanelKeys { get; set; }
|
||||||
|
|
||||||
[JsonProperty("zoomRoomControllerKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the ZoomRoomControllerKey
|
/// Gets or sets the ZoomRoomControllerKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("zoomRoomControllerKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string ZoomRoomControllerKey { get; set; }
|
public string ZoomRoomControllerKey { get; set; }
|
||||||
|
|
||||||
[JsonProperty("ciscoNavigatorKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CiscoNavigatorKey
|
/// Gets or sets the CiscoNavigatorKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("ciscoNavigatorKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string CiscoNavigatorKey { get; set; }
|
public string CiscoNavigatorKey { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonProperty("videoCodecKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the VideoCodecKey
|
/// Gets or sets the VideoCodecKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("videoCodecKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string VideoCodecKey { get; set; }
|
public string VideoCodecKey { get; set; }
|
||||||
[JsonProperty("audioCodecKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the AudioCodecKey
|
/// Gets or sets the AudioCodecKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("audioCodecKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string AudioCodecKey { get; set; }
|
public string AudioCodecKey { get; set; }
|
||||||
[JsonProperty("matrixRoutingKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the MatrixRoutingKey
|
/// Gets or sets the MatrixRoutingKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("matrixRoutingKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string MatrixRoutingKey { get; set; }
|
public string MatrixRoutingKey { get; set; }
|
||||||
[JsonProperty("endpointKeys", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EndpointKeys
|
/// Gets or sets the EndpointKeys
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("endpointKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<string> EndpointKeys { get; set; }
|
public List<string> EndpointKeys { get; set; }
|
||||||
|
|
||||||
[JsonProperty("accessoryDeviceKeys", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the AccessoryDeviceKeys
|
/// Gets or sets the AccessoryDeviceKeys
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("accessoryDeviceKeys", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<string> AccessoryDeviceKeys { get; set; }
|
public List<string> AccessoryDeviceKeys { get; set; }
|
||||||
|
|
||||||
[JsonProperty("defaultDisplayKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the DefaultDisplayKey
|
/// Gets or sets the DefaultDisplayKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("defaultDisplayKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string DefaultDisplayKey { get; set; }
|
public string DefaultDisplayKey { get; set; }
|
||||||
|
|
||||||
[JsonProperty("destinations", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("destinations", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Dictionary<eSourceListItemDestinationTypes, string> Destinations { get; set; }
|
public Dictionary<eSourceListItemDestinationTypes, string> Destinations { get; set; }
|
||||||
[JsonProperty("environmentalDevices", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnvironmentalDevices
|
/// Gets or sets the EnvironmentalDevices
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("environmentalDevices", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<EnvironmentalDeviceConfiguration> EnvironmentalDevices { get; set; }
|
public List<EnvironmentalDeviceConfiguration> EnvironmentalDevices { get; set; }
|
||||||
|
|
||||||
[JsonProperty("sourceList", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("sourceList", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Dictionary<string, SourceListItem> SourceList { get; set; }
|
public Dictionary<string, SourceListItem> SourceList { get; set; }
|
||||||
|
|
||||||
[JsonProperty("destinationList", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("destinationList", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Dictionary<string, DestinationListItem> DestinationList { get; set; }
|
public Dictionary<string, DestinationListItem> DestinationList { get; set; }
|
||||||
|
|
||||||
[JsonProperty("audioControlPointList", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the AudioControlPointList
|
/// Gets or sets the AudioControlPointList
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("audioControlPointList", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public AudioControlPointListItem AudioControlPointList { get; set; }
|
public AudioControlPointListItem AudioControlPointList { get; set; }
|
||||||
|
|
||||||
[JsonProperty("cameraList", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("cameraList", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Dictionary<string, CameraListItem> CameraList { get; set; }
|
public Dictionary<string, CameraListItem> CameraList { get; set; }
|
||||||
|
|
||||||
[JsonProperty("defaultPresentationSourceKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the DefaultPresentationSourceKey
|
/// Gets or sets the DefaultPresentationSourceKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("defaultPresentationSourceKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string DefaultPresentationSourceKey { get; set; }
|
public string DefaultPresentationSourceKey { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonProperty("helpMessage", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the HelpMessage
|
/// Gets or sets the HelpMessage
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("helpMessage", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string HelpMessage { get; set; }
|
public string HelpMessage { get; set; }
|
||||||
|
|
||||||
[JsonProperty("techPassword", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the TechPassword
|
/// Gets or sets the TechPassword
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("techPassword", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string TechPassword { get; set; }
|
public string TechPassword { get; set; }
|
||||||
|
|
||||||
[JsonProperty("uiBehavior", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the UiBehavior
|
/// Gets or sets the UiBehavior
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("uiBehavior", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public EssentialsRoomUiBehaviorConfig UiBehavior { get; set; }
|
public EssentialsRoomUiBehaviorConfig UiBehavior { get; set; }
|
||||||
|
|
||||||
[JsonProperty("supportsAdvancedSharing", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("supportsAdvancedSharing", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? SupportsAdvancedSharing { get; set; }
|
public bool? SupportsAdvancedSharing { get; set; }
|
||||||
|
|
||||||
[JsonProperty("userCanChangeShareMode", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("userCanChangeShareMode", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? UserCanChangeShareMode { get; set; }
|
public bool? UserCanChangeShareMode { get; set; }
|
||||||
|
|
||||||
[JsonProperty("roomCombinerKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the RoomCombinerKey
|
/// Gets or sets the RoomCombinerKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("roomCombinerKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string RoomCombinerKey { get; set; }
|
public string RoomCombinerKey { get; set; }
|
||||||
|
|
||||||
public RoomConfiguration()
|
public RoomConfiguration()
|
||||||
@@ -994,17 +1031,19 @@ namespace PepperDash.Essentials.RoomBridges
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class EnvironmentalDeviceConfiguration
|
public class EnvironmentalDeviceConfiguration
|
||||||
{
|
{
|
||||||
[JsonProperty("deviceKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the DeviceKey
|
/// Gets or sets the DeviceKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("deviceKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string DeviceKey { get; private set; }
|
public string DeviceKey { get; private set; }
|
||||||
|
|
||||||
[JsonConverter(typeof(StringEnumConverter))]
|
|
||||||
[JsonProperty("deviceType", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the DeviceType
|
/// Gets or sets the DeviceType
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
|
[JsonProperty("deviceType", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public eEnvironmentalDeviceTypes DeviceType { get; private set; }
|
public eEnvironmentalDeviceTypes DeviceType { get; private set; }
|
||||||
|
|
||||||
public EnvironmentalDeviceConfiguration(string key, eEnvironmentalDeviceTypes type)
|
public EnvironmentalDeviceConfiguration(string key, eEnvironmentalDeviceTypes type)
|
||||||
@@ -1031,57 +1070,18 @@ namespace PepperDash.Essentials.RoomBridges
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ApiTouchPanelToken
|
public class ApiTouchPanelToken
|
||||||
{
|
{
|
||||||
[JsonProperty("touchPanels", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the TouchPanels
|
/// Gets or sets the TouchPanels
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("touchPanels", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public List<JoinToken> TouchPanels { get; set; } = new List<JoinToken>();
|
public List<JoinToken> TouchPanels { get; set; } = new List<JoinToken>();
|
||||||
|
|
||||||
[JsonProperty("userAppUrl", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the UserAppUrl
|
/// Gets or sets the UserAppUrl
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("userAppUrl", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string UserAppUrl { get; set; } = "";
|
public string UserAppUrl { get; set; } = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SERIES3
|
|
||||||
/// <summary>
|
|
||||||
/// Represents a SourceSelectMessageContent
|
|
||||||
/// </summary>
|
|
||||||
public class SourceSelectMessageContent
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the SourceListItem
|
|
||||||
/// </summary>
|
|
||||||
public string SourceListItem { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the SourceListKey
|
|
||||||
/// </summary>
|
|
||||||
public string SourceListKey { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Represents a DirectRoute
|
|
||||||
/// </summary>
|
|
||||||
public class DirectRoute
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the SourceKey
|
|
||||||
/// </summary>
|
|
||||||
public string SourceKey { get; set; }
|
|
||||||
/// <summary>
|
|
||||||
/// Gets or sets the DestinationKey
|
|
||||||
/// </summary>
|
|
||||||
public string DestinationKey { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="b"></param>
|
|
||||||
/// <summary>
|
|
||||||
/// Delegate for PressAndHoldAction
|
|
||||||
/// </summary>
|
|
||||||
public delegate void PressAndHoldAction(bool b);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
@@ -8,28 +8,32 @@ namespace PepperDash.Essentials.Touchpanel
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class MobileControlTouchpanelProperties : CrestronTouchpanelPropertiesConfig
|
public class MobileControlTouchpanelProperties : CrestronTouchpanelPropertiesConfig
|
||||||
{
|
{
|
||||||
[JsonProperty("useDirectServer")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the UseDirectServer
|
/// Gets or sets the UseDirectServer
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("useDirectServer")]
|
||||||
public bool UseDirectServer { get; set; } = false;
|
public bool UseDirectServer { get; set; } = false;
|
||||||
|
|
||||||
[JsonProperty("zoomRoomController")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the ZoomRoomController
|
/// Gets or sets the ZoomRoomController
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("zoomRoomController")]
|
||||||
public bool ZoomRoomController { get; set; } = false;
|
public bool ZoomRoomController { get; set; } = false;
|
||||||
|
|
||||||
[JsonProperty("buttonToolbarTimeoutInS")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the ButtonToolbarTimoutInS
|
/// Gets or sets the ButtonToolbarTimoutInS
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("buttonToolbarTimeoutInS")]
|
||||||
public ushort ButtonToolbarTimoutInS { get; set; } = 0;
|
public ushort ButtonToolbarTimoutInS { get; set; } = 0;
|
||||||
|
|
||||||
[JsonProperty("theme")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Theme
|
/// Gets or sets the Theme
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("theme")]
|
||||||
public string Theme { get; set; } = "light";
|
public string Theme { get; set; } = "light";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,10 +42,11 @@ namespace PepperDash.Essentials.Touchpanel
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ThemeUpdateMessage : DeviceStateMessageBase
|
public class ThemeUpdateMessage : DeviceStateMessageBase
|
||||||
{
|
{
|
||||||
[JsonProperty("theme")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Theme
|
/// Gets or sets the Theme
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("theme")]
|
||||||
public string Theme { get; set; }
|
public string Theme { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,16 +7,18 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class UserCodeChangedContent
|
public class UserCodeChangedContent
|
||||||
{
|
{
|
||||||
[JsonProperty("userCode")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the UserCode
|
/// Gets or sets the UserCode
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("userCode")]
|
||||||
public string UserCode { get; set; }
|
public string UserCode { get; set; }
|
||||||
|
|
||||||
[JsonProperty("qrChecksum", NullValueHandling = NullValueHandling.Include)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the QrChecksum
|
/// Gets or sets the QrChecksum
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("qrChecksum", NullValueHandling = NullValueHandling.Include)]
|
||||||
public string QrChecksum { get; set; }
|
public string QrChecksum { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
using Newtonsoft.Json;
|
using System.Collections.Generic;
|
||||||
using System.Collections.Generic;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace PepperDash.Essentials
|
namespace PepperDash.Essentials
|
||||||
{
|
{
|
||||||
@@ -8,10 +8,11 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class Volumes
|
public class Volumes
|
||||||
{
|
{
|
||||||
[JsonProperty("master", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Master
|
/// Gets or sets the Master
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("master", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Volume Master { get; set; }
|
public Volume Master { get; set; }
|
||||||
|
|
||||||
[JsonProperty("auxFaders", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("auxFaders", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -30,10 +31,11 @@ namespace PepperDash.Essentials
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class Volume
|
public class Volume
|
||||||
{
|
{
|
||||||
[JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Key
|
/// Gets or sets the Key
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Key { get; set; }
|
public string Key { get; set; }
|
||||||
|
|
||||||
[JsonProperty("level", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("level", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -42,10 +44,11 @@ namespace PepperDash.Essentials
|
|||||||
[JsonProperty("muted", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("muted", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Muted { get; set; }
|
public bool? Muted { get; set; }
|
||||||
|
|
||||||
[JsonProperty("label", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Label
|
/// Gets or sets the Label
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("label", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Label { get; set; }
|
public string Label { get; set; }
|
||||||
|
|
||||||
[JsonProperty("hasMute", NullValueHandling = NullValueHandling.Ignore)]
|
[JsonProperty("hasMute", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
@@ -58,10 +61,11 @@ namespace PepperDash.Essentials
|
|||||||
public bool? PrivacyMuted { get; set; }
|
public bool? PrivacyMuted { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[JsonProperty("muteIcon", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the MuteIcon
|
/// Gets or sets the MuteIcon
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("muteIcon", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string MuteIcon { get; set; }
|
public string MuteIcon { get; set; }
|
||||||
|
|
||||||
public Volume(string key, int level, bool muted, string label, bool hasMute, string muteIcon)
|
public Volume(string key, int level, bool muted, string label, bool hasMute, string muteIcon)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
using Crestron.SimplSharp.WebScripting;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using Crestron.SimplSharp.WebScripting;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using PepperDash.Core.Web.RequestHandlers;
|
using PepperDash.Core.Web.RequestHandlers;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PepperDash.Essentials.WebApiHandlers
|
namespace PepperDash.Essentials.WebApiHandlers
|
||||||
{
|
{
|
||||||
@@ -51,16 +51,18 @@ namespace PepperDash.Essentials.WebApiHandlers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ActionPath
|
public class ActionPath
|
||||||
{
|
{
|
||||||
[JsonProperty("messengerKey")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the MessengerKey
|
/// Gets or sets the MessengerKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("messengerKey")]
|
||||||
public string MessengerKey { get; set; }
|
public string MessengerKey { get; set; }
|
||||||
|
|
||||||
[JsonProperty("path")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Path
|
/// Gets or sets the Path
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("path")]
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -148,22 +148,25 @@ namespace PepperDash.Essentials.WebApiHandlers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ClientRequest
|
public class ClientRequest
|
||||||
{
|
{
|
||||||
[JsonProperty("roomKey", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the RoomKey
|
/// Gets or sets the RoomKey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("roomKey", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string RoomKey { get; set; }
|
public string RoomKey { get; set; }
|
||||||
|
|
||||||
[JsonProperty("grantCode", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the GrantCode
|
/// Gets or sets the GrantCode
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("grantCode", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string GrantCode { get; set; }
|
public string GrantCode { get; set; }
|
||||||
|
|
||||||
[JsonProperty("token", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Token
|
/// Gets or sets the Token
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("token", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Token { get; set; }
|
public string Token { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,22 +175,25 @@ namespace PepperDash.Essentials.WebApiHandlers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class ClientResponse
|
public class ClientResponse
|
||||||
{
|
{
|
||||||
[JsonProperty("error", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Error
|
/// Gets or sets the Error
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("error", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Error { get; set; }
|
public string Error { get; set; }
|
||||||
|
|
||||||
[JsonProperty("token", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Token
|
/// Gets or sets the Token
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("token", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Token { get; set; }
|
public string Token { get; set; }
|
||||||
|
|
||||||
[JsonProperty("path", NullValueHandling = NullValueHandling.Ignore)]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Path
|
/// Gets or sets the Path
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("path", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1334,10 +1334,11 @@ namespace PepperDash.Essentials.WebSocketServer
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class JoinResponse
|
public class JoinResponse
|
||||||
{
|
{
|
||||||
[JsonProperty("clientId")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the ClientId
|
/// Gets or sets the ClientId
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("clientId")]
|
||||||
public string ClientId { get; set; }
|
public string ClientId { get; set; }
|
||||||
|
|
||||||
[JsonProperty("roomKey")]
|
[JsonProperty("roomKey")]
|
||||||
@@ -1346,40 +1347,46 @@ namespace PepperDash.Essentials.WebSocketServer
|
|||||||
[JsonProperty("systemUUid")]
|
[JsonProperty("systemUUid")]
|
||||||
public string SystemUuid { get; set; }
|
public string SystemUuid { get; set; }
|
||||||
|
|
||||||
[JsonProperty("roomUUid")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the RoomUuid
|
/// Gets or sets the RoomUuid
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("roomUUid")]
|
||||||
public string RoomUuid { get; set; }
|
public string RoomUuid { get; set; }
|
||||||
|
|
||||||
[JsonProperty("config")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the Config
|
/// Gets or sets the Config
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("config")]
|
||||||
public object Config { get; set; }
|
public object Config { get; set; }
|
||||||
|
|
||||||
[JsonProperty("codeExpires")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the CodeExpires
|
/// Gets or sets the CodeExpires
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("codeExpires")]
|
||||||
public DateTime CodeExpires { get; set; }
|
public DateTime CodeExpires { get; set; }
|
||||||
|
|
||||||
[JsonProperty("userCode")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the UserCode
|
/// Gets or sets the UserCode
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("userCode")]
|
||||||
public string UserCode { get; set; }
|
public string UserCode { get; set; }
|
||||||
|
|
||||||
[JsonProperty("userAppUrl")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the UserAppUrl
|
/// Gets or sets the UserAppUrl
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("userAppUrl")]
|
||||||
public string UserAppUrl { get; set; }
|
public string UserAppUrl { get; set; }
|
||||||
|
|
||||||
[JsonProperty("enableDebug")]
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the EnableDebug
|
/// Gets or sets the EnableDebug
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[JsonProperty("enableDebug")]
|
||||||
public bool EnableDebug { get; set; }
|
public bool EnableDebug { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user