node-red-contrib-mobius-flow-thingsboard
Version:
Node-RED nodes to work with MOBiUSFlow and ThingsBoard.io
108 lines (107 loc) • 3.88 kB
TypeScript
export interface IThingsboardHttpClient {
/**
* Close the HTTP connection
*
* @memberof IThingsboardHttpClient
*/
closeHttpConnection(): any;
/**
* Check if the HTTP client has a valid access token
*
* @returns {boolean}
* @memberof IThingsboardHttpClient
*/
hasToken(): boolean;
/**
* Get a Thingsboard device by name
* ONLY USEABLE FOR TENANT USER
* @param {string} deviceName The device name
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
getDeviceByName(deviceName: string): Promise<any>;
/**
* Get a Thingsboard asset by name
* ONLY USEABLE FOR TENANT USER
* @param {string} assetName The asset name
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
getAssetByName(assetName: string): Promise<any>;
/**
* Get a Thingsboard device's credentials
*
* @param {string} deviceId The device ID
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
getDeviceCredentials(deviceId: string): Promise<any>;
/**
* Add a new device to Thingsboard
*
* @param {string} deviceName The device name
* @param {*} mobiusObject The mobius object representing the device
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
addDevice(deviceName: string, mobiusObject: any): Promise<any>;
/**
* Add a new asset to Thingsboard
*
* @param {string} assetName The asset name
* @param {*} mobiusObject The mobius object representing the asset
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
addAsset(assetName: string, mobiusObject: any): Promise<any>;
/**
* Update a Thingsboard device's attributes
*
* @param {string} deviceName The device name
* @param {*} attributes The attributes as key value pairs
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
updateDeviceClientAttributes(deviceName: string, attributes: any): Promise<any>;
/**
* Update a Thingsboard device's telemetry
*
* @param {string} deviceName The device name
* @param {number} timestamp The update timestamp
* @param {*} telemetry The telemetry as key value pairs
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
updateDeviceTelemetry(deviceName: string, timestamp: number, telemetry: any): Promise<any>;
/**
* Update a Thingsboard asset's telemetry
*
* @param {string} assetName The asset name
* @param {number} timestamp The update timestamp
* @param {*} telemetry The telemetry as key value pairs
* @returns {Promise<any>}
* @memberof IThingsboardHttpClient
*/
updateAssetTelemetry(assetName: string, timestamp: number, telemetry: any): Promise<any>;
}
export declare class ThingsboardHttpClient implements IThingsboardHttpClient {
private httpClient;
private siteURL;
private userName;
private password;
private token;
private refreshToken;
private httpTokenRefreshTimer;
constructor(siteURL: string, userName: string, password: string);
closeHttpConnection(): void;
hasToken(): boolean;
getDeviceByName(deviceName: string): Promise<any>;
getAssetByName(assetName: string): Promise<any>;
getDeviceCredentials(deviceId: string): Promise<any>;
addDevice(deviceName: string, mobiusObject: any): Promise<any>;
addAsset(assetName: string, mobiusObject: any): Promise<any>;
updateDeviceClientAttributes(deviceId: string, attributes: any): Promise<any>;
updateDeviceTelemetry(deviceId: string, timestamp: number, telemetry: any): Promise<any>;
updateAssetTelemetry(assetId: string, timestamp: number, telemetry: any): Promise<any>;
private getHttpTokenFromTB;
}