iobroker.openmediavault
Version:
29 lines (28 loc) • 1.24 kB
TypeScript
import type { ApiEndpoints } from './omv-rpc.js';
import type { Disk } from './types-disk.js';
import type { HwInfo } from './types-hwInfo.js';
import type { FileSystem } from './types-fileSystem.js';
import type { ShareMgmt } from './types-shareMgmt.js';
import type { Smart } from './types-smart.js';
import type { Smb } from './types-smb.js';
export type myTreeData = Disk | FileSystem | HwInfo | ShareMgmt | Smart | Smb;
export interface EndpointData {
service: string;
method: string;
params?: {
[key: string]: any;
} | null;
}
export interface IoBrokerObjectDefinitions<TTreeData extends myTreeData = myTreeData, TAdapter extends ioBroker.Adapter | ioBroker.myAdapter = ioBroker.Adapter | ioBroker.myAdapter> {
channelName: string;
deviceIdProperty: string | undefined | ((objDevice: TTreeData, adapter: TAdapter) => string);
deviceNameProperty: string | undefined | ((objDevice: TTreeData, adapter: TAdapter) => string);
deviceIsOnlineState?: string;
deviceHasErrorsState?: string;
additionalRequest?: {
endpoint: ApiEndpoints;
conditionProperty: string;
paramsProperty: string;
converter?: (data: any, adapter: ioBroker.myAdapter) => TTreeData;
}[];
}