Complex Typed System Assets

Revision as of 04:51, 23 February 2023 by Wikiadmin (talk | contribs) (Examples)
CTSA

almbus-ip

Developer Netroda Technologies
Type Software Interface
Programmed in Java, Extensible Object Script
Reference Class ESComplexAsset
Initial Release 2018
Platform Extensible Services / Server for Automation

Complex Typed System Assets (abbreviation: CTSA) is software interface for creation of independent, virtual devices that can perform specific pre-programmed actions on behalf of the ES/S-A Platform. today, most devices controlled by ES/S-A Systems use CTSA Classes to monitor, control and program functionality of the system.

Overview

The CTSA Classes are used a a middleware or abstraction layer between the more technically-centered CTSA Control interface of ES/S-A Systems and primitive devices, either controlled by the Primitive Abstraction Service, or controlled directly using Serial, Network or Wireless connections. The Control program can directly invoke all public methods published by CTSA Clases and enables ready-from-deploy integration in the EOS Scripting enviroment.

Technical

Included features

  • Portal
  • Hardware Status Indication
  • Hardware Failure detection and monitoring
  • API Service
  • Control User Interfaces
    • Ata
    • CiscoXML
  • Authority-Aware
    • AuthorityAware-Caller
    • AuthorityAware-Service
  • Direct control of PTSA Resources
  • Possibility to set up network connections

Message Types

Alarm Type Description
Danger Indicates a dangerous situation occuring in the current context, for example mass shootings, terrorism attacks etc.
Fire Requests immediate evacuation of the assigned area, as the building or structure is on fire
Evacuate Requests immediate evacuation of the assigned areas
Havary Raised when building infrastructure has severe malfunctions, like leaking pipes causing flooding or overheating of a structure due to failure on climatic systems
Catastrophy Used for scenarios where a natual catastrophy is awaited or happening, for example tsunamis, hurricanes or thunderstorms
Clear Indicates that a alarm has been revoked.
Information Generous, non-dangerous announcements

Examples

A Example CTSA Setup instruction (*.ctor.eos) for a Hue-Controlled LED Lamp. Programmed in Extensible Object Script

CTSA.registerComplexAsset(
		"0000P09F0EA07",
		CTSADeviceClasses.ESCompDimmableDichromaticDaylightLEDLamp,
		"Indirect Daylight, Hallway, OG1",
		"LED Indirect Light",
		"TAZHWG",
		new Lambda.CTSADeviceVoltageDC(12),
		[
			new Lambda.CTSASetupPrimitiveDeviceBinding("led0","ASES_0UE200PRG02"),
			new Lambda.CTSASetupPrimitiveDeviceBinding("led1","ASES_0UE100PRG02")
		],
		[
			new Lambda.CTSAPowerDecreaseIndicator_Bool("ASES_0FE00050005",false),
			new Lambda.CTSAPowerIncreaseIndicator_Bool("ASES_0FE00050006",false)
		],
		[],
		new (function() extends Lambda.CTSASetupRunTask(){
		
			public function run(self){
			
				// run task when setup has finished 
				debug("Finalizing ESCompDimmableDichromaticDaylightLEDLamp 0000P09F0EA07...");
				self.setAutoHueMode(CTSADeviceClasses.ESCompDimmableDichromaticDaylightLEDLamp.AutoHueMode.DaytimeThreshold);
				self.setAutoHueEnabled(true);
				
				self.addEventListener(
					new (function() extends Lambda.CTSAEventListener(){
		
						public function onPowerOn(e){
						
							debug("Device has been Enabled 0000P09F0EA07!");
							
							// Make sure associated LED Effect Device on same DC lane is set to standby, if not
							// set the device to standby to prevent overheating or interruptions due to 
							// power supply failure 
							
							var ledEffect = getComplexAssetById("CSES_0000P09FA4101");
	
							if(ledEffect != null){
							
								if(ledEffect.isPoweredOn()){
								
									ledEffect.requestPowerStandby();
								
								}
								
							}
							

						}
					
					})()
				);
				
				
			}
		
		})()
	);

See also