Compare commits

..

7 Commits

Author SHA1 Message Date
Aviv Cohn
260d92228c feat: add classes for UDMApi state document 2025-12-09 16:44:21 -05:00
Andrew Welker
13e833b797 Merge pull request #1366 from PepperDash/main
Main -> Development
2025-12-09 15:48:09 -05:00
Andrew Welker
2be078da18 Merge pull request #1360 from PepperDash/temp-to-dev
Temp to dev
2025-11-25 13:42:11 -05:00
Neil Dorin
7330ae2e30 Merge pull request #1330 from PepperDash/temp-to-dev 2025-10-10 10:32:48 -04:00
Andrew Welker
a57dddba5e Merge pull request #1341 from PepperDash/main
Update temp-to-dev branch
2025-10-10 10:31:28 -04:00
Neil Dorin
0bfec16622 Merge pull request #1328 from PepperDash/temp-to-dev
Temp to dev
2025-09-08 11:29:40 -06:00
Andrew Welker
94e7b8210f Merge pull request #1323 from PepperDash/temp-to-dev
Temp to dev
2025-08-26 10:19:59 -04:00
10 changed files with 154 additions and 6 deletions

View File

@@ -43,7 +43,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="BouncyCastle.Cryptography" Version="2.4.0" />
<PackageReference Include="Crestron.SimplSharp.SDK.Library" Version="2.21.157" />
<PackageReference Include="Crestron.SimplSharp.SDK.Library" Version="2.21.90" />
<PackageReference Include="Serilog" Version="3.1.1" />
<PackageReference Include="Serilog.Expressions" Version="4.0.0" />
<PackageReference Include="Serilog.Formatting.Compact" Version="2.0.0" />

View File

@@ -25,7 +25,7 @@
<DocumentationFile>bin\$(Configuration)\PepperDash_Essentials_Core.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.157" />
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" />
</ItemGroup>
<ItemGroup>
<None Include="Crestron\CrestronGenericBaseDevice.cs.orig" />

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core.UDMApi
{
internal class CustomProperties
{
[JsonProperty("label")]
public string label { get; set; }
[JsonProperty("value")]
public string value { get; set; }
}
}

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core.UDMApi
{
internal class DeviceStatus
{
[JsonProperty("label")]
public string label { get; set; }
[JsonProperty("status")]
public string status { get; set; }
[JsonProperty("description")]
public string description { get; set; }
[JsonProperty("videoSource")]
public string videoSource { get; set; }
[JsonProperty("audioSource")]
public string audioSource { get; set; }
[JsonProperty("usage")]
public int usage { get; set; }
[JsonProperty("error")]
public string error { get; set; }
}
}

View File

@@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core.UDMApi
{
/// <summary>
/// Represents the complete room response for UDM API
/// </summary>
internal class RoomResponse
{
public RoomResponse()
{
standard = new StandardProperties();
status = new StatusProperties();
custom = new Dictionary<string, CustomProperties>();
}
/// <summary>
/// API version string
/// </summary>
[JsonProperty("apiVersion")]
public string apiVersion { get; set; }
/// <summary>
/// Standard room properties
/// </summary>
[JsonProperty("standard")]
public StandardProperties standard { get; set; }
/// <summary>
/// Status information including devices
/// </summary>
[JsonProperty("status")]
public StatusProperties status { get; set; }
/// <summary>
/// Custom properties dictionary
/// </summary>
[JsonProperty("custom")]
public Dictionary<string, CustomProperties> custom { get; set; }
}
/// <summary>
/// Represents status properties including devices
/// </summary>
internal class StatusProperties
{
/// <summary>
/// Dictionary of device statuses keyed by device identifier
/// </summary>
[JsonProperty("devices")]
public Dictionary<string, DeviceStatus> devices { get; set; }
public StatusProperties()
{
devices = new Dictionary<string, DeviceStatus>();
}
}
}

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace PepperDash.Essentials.Core.UDMApi
{
internal class StandardProperties
{
[JsonProperty("version")]
public string version { get; set; }
[JsonProperty("state")]
public string state { get; set; }
[JsonProperty("error")]
public string error { get; set; }
[JsonProperty("occupancy")]
public bool occupancy { get; set; }
[JsonProperty("helpRequest")]
public string helpRequest { get; set; }
[JsonProperty("activity")]
public string activity { get; set; }
}
}

View File

@@ -29,6 +29,6 @@
<ProjectReference Include="..\PepperDash.Essentials.Core\PepperDash.Essentials.Core.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.157" />
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" />
</ItemGroup>
</Project>

View File

@@ -33,7 +33,7 @@
<Compile Remove="Messengers\SIMPLVtcMessenger.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.157" />
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\PepperDash.Core\PepperDash.Core.csproj" />

View File

@@ -38,7 +38,7 @@
<Compile Remove="RoomBridges\SourceDeviceMapDictionary.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.157" />
<PackageReference Include="Crestron.SimplSharp.SDK.ProgramLibrary" Version="2.21.90" />
<PackageReference Include="WebSocketSharp-netstandard" Version="1.0.1" />
</ItemGroup>
<ItemGroup>

View File

@@ -48,7 +48,7 @@
</None>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Crestron.SimplSharp.SDK.Program" Version="2.21.157" />
<PackageReference Include="Crestron.SimplSharp.SDK.Program" Version="2.21.90" />
<PackageReference Include="System.IO.Compression" Version="4.0.0" />
</ItemGroup>
<ItemGroup>