CrestronHomeDevTools.Automation 1.29.0

dotnet add package CrestronHomeDevTools.Automation --version 1.29.0
                    
NuGet\Install-Package CrestronHomeDevTools.Automation -Version 1.29.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CrestronHomeDevTools.Automation" Version="1.29.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CrestronHomeDevTools.Automation" Version="1.29.0" />
                    
Directory.Packages.props
<PackageReference Include="CrestronHomeDevTools.Automation" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CrestronHomeDevTools.Automation --version 1.29.0
                    
#r "nuget: CrestronHomeDevTools.Automation, 1.29.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CrestronHomeDevTools.Automation@1.29.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CrestronHomeDevTools.Automation&version=1.29.0
                    
Install as a Cake Addin
#tool nuget:?package=CrestronHomeDevTools.Automation&version=1.29.0
                    
Install as a Cake Tool

CrestronHomeDevTools

Version 1.29.0 adds processor compatibility discovery, import receipts, managed-child monitoring and read-only dynamic-settings inspection, together with the reconciled driver-update and submission tooling. Validation scope and remaining limits are recorded separately from individual driver submissions.

Read-only processor capability discovery and version-aware I/O preparation support Official and Early Access Home connections without rewriting existing configuration inputs.

Optional import receipts, managed-child monitoring and read-only dynamic-settings inspection preserve compatibility with Home 4.12. Newer fields remain optional; property values are excluded from inspection output unless requested.

Processor compatibility: Configuration-management commands require a V2 Crestron Home processor. V1 Crestron Home processors do not support these commands. This refers to the processor platform, not the driver type: supported V2 processors can host V1 drivers, whose update workflow requires an explicitly authorized reboot.

An independent .NET 10 library, Windows driver-update desktop app, interactive console and automation CLI for Crestron Home configuration management. Discover processors, inspect installed devices, deploy driver packages, install or update Entity V2 driver instances, and verify their loaded versions without operating Configure Pro.

The configuration-management interface is unofficial and firmware-dependent, documented here from verified behavior. This is not an official Crestron API SDK. The library has no dependency on Crestron SDK assemblies, proprietary client binaries or NUnit.

This source includes initial driver configuration and read-only inspection of current settings. See driver configuration for the commands, private input format, masking rules and library API. Shared processor reservations continue to coordinate development operations.

Reviewed V1 removal can preserve other instances sharing the same driver code across an explicitly authorized Home reboot. See V1 installation and removal for the opt-in scope, preservation checks and validation limits.

The source-built driver-update desktop app provides a checklist, select-all, update/restart confirmation and per-driver progress/results using the same DevTools update manager. The console's corresponding commands are included in the Windows console download.

Contents

What is included

Search Crestron's published catalogue independently of processor installations with published-drivers --search "Neil Colvin". No processor or credentials are required. The general catalogue does not establish Crestron Home compatibility; see published driver search for scope, completeness checks and the difference from the processor's merged drivers search.

Component Purpose
CrestronHomeDevTools Reusable .NET 10 configuration-management library; the NuGet package contains this library.
CrestronHomeDevTools.Console Interactive ch> prompt and one-command CLI using the same library. Distributed separately from the library.
CrestronHomeDevTools.Tests Offline NUnit regression tests for discovery parsing, authentication, command handling, update/removal guards, profiles and deployment validation.

Supported operations include discovery by processor name, credentials and certificate validation, driver/device inventory, SFTP upload, catalogue import, reviewed updates, guarded install/update/reuse, targeted reload, guarded room moves for loaded childless drivers, and explicit instance removal. See room moves for scope and validation. Reboots require explicit authorization; submitted configuration changes are never replayed after a connection failure.

The reboot command supports interactive confirmation or explicit unattended authorization:

reboot --processor DEVELOPMENT --confirm-reboot DEVELOPMENT

The two target values must match; credentials and verified SSH trust still come from the selected profile/settings. Applications can supply their own confirmation dialog through the library API. The NUnit workflow supports reboot-required updates with allowProcessorReboot: true; see V1 development and reboot policy.

Driver updates across a system

Version 1.29.0 includes driver-updates to report available driver upgrades in the console (add --output updates.json to save the report) and update-drivers --plan updates.json --all true --journal NEW_DIRECTORY to apply a reviewed selection. Both use existing processor profiles or named encrypted credentials. Updates respect shared processor reservations; restarts require explicit authorization. See the driver update manager for selection, scope, restart and recovery behavior.

Get started

Version 1.8.0 adds an optional authorized delivery command, upload and SMTP providers, and Windows endurance scheduling. It also stops promptly when the requested driver version fails to load. These components do not establish a completed submission or endurance period. Version 1.7.0 added bounded processor uptime observations and a public plan-validation entry point for external endurance producers. These APIs support monitoring independently of optional submission. Version 1.6.0 added managed-child setup, validation and cleanup, resumable endurance collection and further offline submission preparation. It retains the package/evidence checks, guarded UI name binding and delivery journals introduced in 1.5.0. The console includes private evidence bundle creation and verification.

Version 1.9.0 provides submission preparation commands in the complete console download, including help generation, Android evidence auditing, self-test forms and private review. The console includes its isolated document runtime and validator; developers use documented commands, configuration and C# fixtures without installing or maintaining Python. DOCX-to-PDF rendering still needs the documented renderer and fonts. Preparation does not send anything or establish self-test completion.

The same console includes authorized image signing, the private signing stage and final delivery preparation. Complete candidate evidence, reviewed forms and exact signing/delivery authorization remain prerequisites. The optional submission roadmap distinguishes implemented tools from remaining end-to-end validation. The NuGet library does not include the document runtime.

Version 1.9.0 also adds read-only candidate payload comparison under the shared processor reservation and bounded recovery from transient delivery-journal file replacement refusals. It never retries a provider request because a file operation failed.

Version 1.11.0 adds reviewed evidence mapping and completed endurance snapshots. These preserve original evidence and explicitly report uncovered requirements; they do not turn a partial test run into submission approval. Existing running collectors can remain pinned to their original version.

Version 1.12.0 adds passive local/remote observation and authorized operational email notifications through C# APIs and the console. See endurance monitoring for configuration, supervision and validation limits.

Version 1.16.0 adds evidence-backed reviewer interpretations and numbered checklist endnotes. Original automatic outcomes remain recorded, and missing, failed or unperformed tests cannot be accepted as interpretations. Version 1.14.0 extends explicit requests with declared gaps to signed forms and approved delivery. Failed, partial and unperformed checks remain disclosed; a signature does not turn them into passes or imply Crestron acceptance. Start with the submission runbook; it links each stage's settings, expected outputs and recovery steps. Developers use the bundled console or C# API without editing the bundled document-processing scripts.

Install the library with dotnet add package CrestronHomeDevTools. Download the self-contained Windows x64 console from GitHub Releases, extract the complete ZIP, and run CrestronHomeDevTools.Console.exe. Its first run opens processor/profile setup; --help lists commands.

To build from source with the .NET 10 SDK:

dotnet build CrestronHomeDevTools.slnx -c Release
dotnet run --project CrestronHomeDevTools.Console -- configure
dotnet run --project CrestronHomeDevTools.Console -- devices

configure discovers local Crestron Home processors, offers a numbered selection, accepts a masked password, and verifies the processor certificate and SSH host key before saving a Windows account-encrypted profile. Each processor can have its own named profile and credentials. Starting the console without arguments opens setup followed by the interactive prompt.

The same commands work in both modes:

discover
drivers --search "Example"
deploy --package "C:/CI/Artifacts/Example.Driver.pkg"
activate --driver CATALOGUE_ID --name "Example Driver" --room ROOM_ID

Use actual IDs returned by inventory. Deploying imports a package; activating installs or updates its instance. See the command guide before automating changes.

Library example

using System.Net;
using CrestronHomeDevTools;

var options = new ProcessorConnectionOptions
{
    Host = processorHost,
    CertificateSha256 = verifiedCertificateFingerprint
};
await using var client = await ConfigurationClient.ConnectAsync(
    options, new NetworkCredential(userName, password), cancellationToken);

var drivers = await client.GetDriversAsync("Example", cancellationToken);
var devices = await client.GetDevicesAsync(cancellationToken);

Credentials and trusted fingerprints come from the calling application. Device properties may contain private configuration; do not publish whole inventory responses. The API guide covers upload, activation, update plans, removal and operation outcomes.

Deployment and tests

DevTools handles configuration management. Crestron Home NUnit handles test discovery, inputs and execution. Its workflow backend combines them to run local tests, build and retain exact packages, deploy and activate a test host, run processor/live tests, optionally update the actual driver after the gates pass, inspect that installed driver, and optionally remove the test instance.

See the end-to-end CI guide. The released NUnit workflow CLI consumes the published DevTools NuGet package; a source checkout is optional for development. The workflow Test Explorer adapter is also published as CrestronHomeNUnit.TestAdapter, with VSTest and processor workflow validation; see adapter setup and validation limits.

Documentation

Build and validate

Open CrestronHomeDevTools.slnx in Visual Studio with .NET 10 support, or run:

dotnet test CrestronHomeDevTools.slnx -c Release
dotnet pack CrestronHomeDevTools/CrestronHomeDevTools.csproj -c Release -o artifacts
dotnet publish CrestronHomeDevTools.Console/CrestronHomeDevTools.Console.csproj -c Release -o artifacts/console

The offline suite needs no processor or credentials. CI compares executed tests with discovery, so new cases do not require maintaining a fixed test-count gate. Push/PR CI builds, runs the offline tests and packs the library. The separate release workflow validates the versioned library and self-contained Windows console, retains their checksums, then publishes NuGet and GitHub assets.

Privacy and compatibility

Connection profiles are stored outside the checkout under %LOCALAPPDATA%/CrestronHomeDevTools/Profiles, protected with Windows DPAPI for the current user. Other platforms can supply environment variables or a private settings file; encrypted profile persistence is Windows-only. No password command-line option is provided.

Real connection files, device bindings, update plans and logs stay outside source control or are locally excluded using .git/info/exclude. Do not commit those exclusions or private paths. Public examples use placeholders. A processor supplies its own Crestron runtime; this library does not need or redistribute Newtonsoft.Json.Compact.dll.

Development management operations were verified on MC4-R and CP4-R / Crestron Home 4.11.322. Both passed Entity V2 lifecycle and configuration reboot/recovery checks. The complete unattended V1 driver update/reboot/verification workflow was verified on MC4-R only. Discovery alone does not establish management compatibility with another processor. Read the validation limits. Cancellation stops waiting; it cannot undo a submitted processor operation.

License and Crestron disclaimer

Copyright (c) 2026 Neil Colvin. Original project code is licensed under the MIT License. Dependencies retain their own licenses; see third-party notices.

Crestron and Crestron Home are trademarks or registered trademarks of Crestron Electronics, Inc. This project is not affiliated with, endorsed by or sponsored by Crestron Electronics, Inc. It uses an independently implemented, unofficial configuration interface. The MIT license does not grant rights to Crestron's software or documentation. Software is provided as-is, without warranty, as specified in LICENSE.

Submission input setup (source preview)

The Windows setup app collects editable developer, driver and submission profiles in the encrypted private store. A submission uses a frozen input snapshot so subsequent edits do not alter earlier records. Complete console archives built from this source include the self-contained form at setup/CrestronHomeDevTools.Setup.exe; previously published versions may not include it. It prepares Rehearsal or Submit configuration without starting tests or authorizing signing and delivery.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on CrestronHomeDevTools.Automation:

Package Downloads
CrestronHomeDevTools.SubmissionTests

Shared NUnit 5 submission fixture for running the same Crestron driver tests in IDEs and CI.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.29.0 43 11/8/2026
1.28.0 126 10/26/2026
1.27.0 119 10/19/2026
1.26.2 123 10/7/2026
1.26.1 109 10/7/2026
1.26.0 118 10/7/2026
1.25.0 152 10/7/2026

# CrestronHomeDevTools 1.29.0
Adds authenticated processor capability discovery, correlated import receipts,
managed-child snapshots and bounded event monitoring, and read-only dynamic
device-settings inspection. The APIs preserve existing custom configuration
connections and Home 4.12 behaviour when newer fields or events are absent.
Property values are excluded from inspection output unless explicitly requested.
See [inspection commands and compatibility](https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/ImportReceiptsAndInspection.md).
Import receipts keep terminal-operation and dedicated-completion observations
separate, including unavailable versus empty imported-ID lists. Ended is not
treated as proof of import success; existing deployment catalogue verification
is unchanged. Managed-child monitors subscribe before reading baselines, mark
overlap without inventing server ordering, and fail explicitly on overflow or
lost continuity. Dynamic-settings inspection uses typed metadata and never
executes settings commands. System IDs, including zero, are supported by these
read-only operations.
Adds read-only, version-aware I/O connection preparation for legacy Home 4.7–4.12
and typed Home 4.13 formats, including Serial/Com normalization and CEC direction
checks. Unknown versions and unconfirmed selections stop before commands.
Existing raw configuration strings remain unchanged. Discovery and inspection
were checked on Official Home 4.012.0194 and EAP Home 4.013.0134. A no-transmit
SDK 29 serial probe on a physically disconnected EAP processor port restored
its channel and ready state after an isolated V2 reload; external-device
communication and other port types remain unqualified.
Includes the reconciled driver-update manager, console assessment/reviewed
sequential updates and source-built Windows checklist, plus independent public
driver-catalogue search. Update processing retains processor reservations,
explicit restart consent, version/readiness checks and durable recovery journals.
Actual multi-driver update/restart behaviour still requires controlled live
qualification. Portal search does not establish Crestron Home compatibility.
See [driver updates](https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/DriverUpdates.md)
and [published catalogue search](https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/PublishedDrivers.md).
Also incorporates retained submission evidence/review repairs, artifact
publication checks, pinned signing-plan preparation, complete bundled Python
import closure, bounded native output paths, and explicit worker-local versus
controller-share input/output contracts with private terminal diagnostics.
Existing frozen submissions and their evidence are unchanged. These tooling
changes do not establish new compliance passes or authorize signing, uploading,
emailing, hardware actions or processor reboots.
Validation includes all 2,708 discovered offline .NET tests and API compatibility
against public 1.28.0, with package-consumer, documentation and packaged-console
checks in release validation. Live empty-queue import receipts preserved device
configuration, programming and port settings on both firmware versions, with
reservations released. Neither lab processor advertised dynamic settings or
supplied non-null inline managed-child state, and no new child-state events
arrived during bounded observation. Positive settings/event paths have offline
protocol and connection-dispatch coverage rather than positive live server
qualification. See [validation scope](https://github.com/oznetmaster/CrestronHomeDevTools/blob/main/docs/DevelopmentStatus.md).
The SDK 30 video probe was rejected at import because its manifest declared
minimum SDK 30 while Home reported a maximum of 29. This establishes a
manifest-version gate, not general SDK 30 binary incompatibility. A shade probe
built with SDK 30 and declaring minimum SDK 29 imported but did not complete
configuration. Native SDK 30 video/shade support remains unqualified.
Requires .NET 10 and Crestron Home NUnit 2.3.0 for the existing
Automation/SubmissionTests consumer. The configuration interface is unofficial,
undocumented and firmware-dependent. No production driver or device-client
payload changes are included.
Copyright (c) 2026 Neil Colvin. MIT licensed. Crestron and Crestron Home are
trademarks of Crestron Electronics, Inc. This independent project is not
affiliated with, endorsed by or sponsored by Crestron Electronics, Inc.