Home Products Search

HACS Components

General description

Most HAC Components provide a software interface to some bit of hardware. The hardware may be a single device or sensor, or it can be complex virtual device comprising several interrelated sub-components that are conveniently operated or treated as a coordinated unit. Development emphasis is focused on implementing natural-language properties and methods for controlling the Component in an intuitive way.

Each HACS Component is a C# class with built-in instance searching and a common sequence of primary instance "lifetime" events: Connect, Initialize, Start, and Stop. Finer lifetime event granularity, when required, is achieved by additional "Pre-" and "Post-" events for each primary event. This structure enables the system to automatically manage component interconnections and dependencies, freeing the programmer from having to manually coordinate these relationships.

Most system developers never need to write or edit their own Component classes. However, exceptions arise with a need to support a new kind of hardware, or the desire for a new, composite virtual Component to simplify process code. When necessary, the existing classes provide a rich set of examples to choose from as a basis.

Not all HACS Components are likely to be used by the typical system developer writing process code. Many, though accessible, are intended primarily for use by other Component classes. Examples of this include the ActuatorController and ThermalControllers. Normally, once the system configuration has been defined in the Settings File, the system developer will simply use the Valve, Heater, and TempSensor objects, and never encounter the controller code running "under the hood".

Existing HACS Components

About Us | Contact Us