Provided under MIT license
PepperDash Essentials is an open source Crestron framework that can be configured as a standalone program capable of running a wide variety of system designs and can also be utilized as a plug-in architecture to augment other Simpl# Pro and Simpl Windows programs.
Essentials Framework is a collection of C# / Simpl# Pro libraries that can be utilized in several different manners. It is currently operating as a 100% configuration-driven system, and can be extended to add different workflows and behaviors, either through the addition of further device "types" or via the plug-in mechanism. The framework is a collection of "things" that are all related and interconnected, but in general do not have dependencies on each other.
The PepperDash.Core SIMPL# library is required. It is referenced via nuget. You must have nuget.exe installed and in the PATH
environment variable to use the following command. Nuget.exe is available at nuget.org.
To install dependencies once nuget.exe is installed, run the following command:
nuget install .\packages.config -OutputDirectory .\packages -excludeVersion
.
To verify that the packages installed correctly, open Essentials and make sure that all references are found, then try and build it.
If you need a different version of PepperDash Core, use the command nuget install .\packages.config -OutputDirectory .\packages -excludeVersion -Version {versionToGet}
. Omitting the -Version
option will pull the version indicated in the packages.config file.
Essentials was originally conceptualized as a standalone application for running control system logic entirely in Simpl# Pro. It is primarily designed around accomplishing this goal, but during development, it became obvious that it could easily be leveraged to also serve as a partner application to one or more SIMPL Windows programs.
Utilization of Essentials Framework falls into the following categories:
Standalone Control System Application for controlling one or more rooms. See Standalone Use
Partner Application to a SIMPL Windows program. This allows for several useful advantages. See SIMPL Windows Bridging
Dynamic device instantiation. Devices can be defined in configuration and instantiated at runtime and then bridged to a SIMPL Windows program via EISC.
Advanced logic. Some logic operations that cannot be affectively accomplished in SIMPL Windows (ex. JSON/XML serialization/deserialization, database operations, etc.) can be done in the Simpl# Pro environment and the necessary input and output bridged to a SIMPL Windows program via EISC.
For detailed documentation, see the Wiki.
See Getting Started