UNPKG

node-red-contrib-mobius-flow-thingsboard

Version:

Node-RED nodes to work with MOBiUSFlow and ThingsBoard.io

108 lines (107 loc) 3.88 kB
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; }