The Essentials Application Framework Libraries
Find a file
2021-10-12 12:58:45 -04:00
.github ci: Update scripts to remove Newtonsoft.Compact.json 2021-09-11 14:01:07 -06:00
docs Merge pull request #10 from PepperDash/hotfix/ndorin-cleanout-unused-classes 2020-02-12 16:47:32 -07:00
essentials-framework fix: #848 proposed fix for number of presets issue in camera base 2021-10-12 12:58:45 -04:00
Essentials-Template-UI@8eaf88791b Adds Essentials UI Template submodule. Updates PepperDash.Core to v1.0.35 2020-04-23 15:05:20 -06:00
IR Drivers Updates to IR files and Enter command 2021-01-07 15:23:35 -07:00
PepperDashEssentials fix(essentials): #842 Adds back in code to register Crestron devices under normal circumstances 2021-09-29 15:14:07 -06:00
Sample Presets DM Mods 2017-03-03 14:42:20 -07:00
.gitignore Changes to correct datatype for joinMaps in config 2021-01-21 15:04:01 -07:00
.gitmodules remove PepperDashCore-Builds submodule 2020-09-03 16:40:12 -06:00
CONTRIBUTING.md Update CONTRIBUTING.md 2020-02-19 12:41:48 -07:00
devjson commands.json Insignificant changes to trigger build pipeline 2020-03-09 16:52:18 -06:00
LICENSE.md Updates LICENSE.md 2020-02-05 15:32:51 -07:00
packages.config chore: Update PD Core to 1.1.0 2021-09-28 11:05:05 -06:00
PepperDashEssentials.sln Updates the project name from Essentials_DM to PepperDash_Essentials_DM to generate the correct .cplz filename needed by the GH action script for master builds. 2020-04-14 10:47:48 -06:00
README.md fix readme.md 2020-08-18 16:59:15 -06:00

PepperDash Essentials Framework (c) 2020

Latest Release

License

Provided under MIT license

Overview

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.

Minimum Requirements

  • Essentials Framework runs on any Crestron 3-series processor, 4-series processor or Crestron's VC-4 platform.
  • To edit and compile the source, Microsoft Visual Studio 2008 Professional with SP1 is required.
  • Crestron's Simpl# Plugin is also required (must be obtained from Crestron).

Dependencies

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.

Installing Dependencies

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.

Installing Different versions of PepperDash Core

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.

Utilization

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:

  1. Standalone Control System Application for controlling one or more rooms. See Standalone Use

  2. 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.

  1. Hybrid Application that may contain elements of both standalone control and SIMPL partner application integration.
  • There may be a use case where a device can only be defined in a single application, but that device may need to be interacted with from multiple applications. The device can be defined in an Essentials application, interacted with in that application and also bridged to one or more SIMPL Windows applications.

Documentation

For detailed documentation, see the Wiki.

How-To (Getting Started)

See Getting Started