node-red-contrib-mobius-flow-dali
Version:
Node-RED nodes to work with MOBiUSFlow and DALI devices
94 lines (93 loc) • 2.65 kB
TypeScript
/// <reference types="node" />
import { EventEmitter } from 'events';
export declare class CircuitAddressingInterface extends EventEmitter {
circuit: string;
name: string;
operationInProgress: boolean;
outTopic: string;
private addressingInProgress;
devices: Array<any>;
private addresses;
private populatedDeviceIndex;
private expNoDevices;
private addressingTimeout;
private scanningTimeout;
private scanningTimeoutTime;
private addressingTimeoutTime;
private queryingLoop;
private ungroupingLoop;
private daliMaster;
constructor(addrTimeoutTime: any, scanningTimeoutTime: any, expectedDevices: any, conID: any, getNode: any);
/**
* Send a notification
* @param message - Message sent with notification
*/
private updateStatus;
/**
* Ungroup all DALI devices
*/
ungroup(): void;
/**
* Swap the short addresses of two DALI devices
* @param addr1 - Current short address of device 1
* @param addr2 - Current short address of device 2
*/
swap(addr1: any, addr2: any): void;
/**
* Delete the short address of a DALI device
* @param addr - The current short address of the device to delete
*/
del(addr: any): void;
/**
* Perform full addressing on DALI circuit
*/
addressCircuit(): void;
/**
* Add any unaddressed devices to an already addressed circuit
*/
addToCircuit(): void;
/**
* Finish an addressing process
*/
private finishAddressing;
/**
* Scan a circuit for all devices with a defined short address
*/
scanCircuit(): void;
/**
* Finish a scan process
*/
private finishScan;
/**
* Gather and store query responses when querying device types
*/
private processFetchTypeResponse;
/**
* Query device types of all newly added devices
*/
private queryTypes;
/**
* Finsih a querying device types process
*/
private finishQuerying;
/**
* Start a timeout to ensure any given process continues for a maximum time
*/
private startScanningTimeout;
/**
* Stop function timeout if a given process finishes
*/
private stopScanningTimeout;
/**
* Start a monitor to detect when no more devices are responding during an addressing process
*/
private startAddressingTimeout;
/**
* Stop the addressing monitor when addressing has finished
*/
private stopAddressingTimeout;
/**
* On node close: clear all intervals and timeouts, stop listening to events
*/
close(): void;
}