@hotzware/openhab-tools
Version:
Tools for the openHAB JavaScript Automation Add-On.
122 lines • 5.08 kB
TypeScript
export type Item = import("openhab/types/items/items").Item;
/**
* Gets an instance of groupUtils.
* @memberof itemutils
* @param {string} groupName the name of the group
* @returns {GroupUtils} {@link itemutils.GroupUtils}
*/
export function getGroupUtils(groupName: string): GroupUtils;
/**
* @typedef {import("openhab/types/items/items").Item} Item
*/
/**
* Group Utilities
*
* Provides a number of utilities for groups.
* @memberof itemutils
*/
declare class GroupUtils {
/**
* Creates an instance of groupUtils. Don't use this constructor, instead call {@link getGroup}.
* @param {Item} groupItem Item from 'openhab'
* @hideconstructor
*/
constructor(groupItem: Item);
jsItem: import("openhab/types/items/items").Item;
/**
* Members / children / direct descendents of the current group Item (as returned by 'getMembers()')
* @type {Item[]}
*/
get members(): import("openhab/types/items/items").Item[];
/**
* Names of members / children / direct descendents of the current group Item (as returned by 'getMembers()')
* @type {string[]}
*/
get membersNames(): string[];
/**
* Labels of members / children / direct descendents of the current group Item (as returned by 'getMembers()') as a concatenated string
* @type {string}
*/
get membersLabelsString(): string;
/**
* Minimum state item of members / children / direct descendents of the current group Item (as returned by 'getMembers()')
* Filters for items not {@link isUninitialized}.
* @type {Item}
*/
get membersMin(): import("openhab/types/items/items").Item;
/**
* Maximum state item of members / children / direct descendents of the current group Item (as returned by 'getMembers()')
* Filters for items not {@link isUninitialized}.
* @type {Item}
*/
get membersMax(): import("openhab/types/items/items").Item;
/**
* Summarized value of members / children / direct descendents of the current group Item (as returned by 'getMembers()')
* Filters for items of type Number, Dimmer & Rollershutter in calculation and not {@link isUninitialized}.
* @type {number}
*/
get membersSum(): number;
/**
* Average value of members / children / direct descendents of the current group Item (as returned by 'getMembers()')
* Filters for items of type Number, Dimmer & Rollershutter in calculation and not {@link isUninitialized}.
* @type {number}
*/
get membersAvg(): number;
/**
* All descendents of the current group Item (as returned by 'getAllMembers()')
* @type {Item[]}
*/
get descendents(): import("openhab/types/items/items").Item[];
/**
* Names of all descendents of the current group item (as returned by 'getAllMembers()'). Must be a group item.
* @type {string[]}
*/
get descendentsNames(): string[];
/**
* Labels of all descendents of the current group item (as returned by 'getAllMembers()'). Must be a group item.
* @type {string}
*/
get descendentsLabelsString(): string;
/**
* Minimum state item of all descendents of the current group Item (as returned by 'getAllMembers()')
* Filters for items not {@link isUninitialized}.
* @type {Item}
*/
get descendentsMin(): import("openhab/types/items/items").Item;
/**
* Maximum state item of all descendents of the current group Item (as returned by 'getAllMembers()')
* Filters for items not {@link isUninitialized}.
* @type {Item}
*/
get descendentsMax(): import("openhab/types/items/items").Item;
/**
* Summarized value of all descendents of the current group Item (as returned by 'getAllMembers()')
* Filters for items of type Number, Dimmer & Rollershutter in calculation and not {@link isUninitialized}.
* @type {number}
*/
get descendentsSum(): number;
/**
* Average value of all descendents of the current group Item (as returned by 'getAllMembers()')
* Filters for items of type Number, Dimmer & Rollershutter in calculation and not {@link isUninitialized}.
* @type {number}
*/
get descendentsAvg(): number;
/**
* Count the number of members / children / direct descendents of the current group Item (as returned by 'getMembers()') matching a comparison
* @param {function} compareFunc comparison function
* @returns {number} number of matches
* @example
* itemutils.getGroup('group').membersCount(item => item.state === 'ON');
*/
membersCount(compareFunc: Function): number;
/**
* Count the number of all descendents of the current group Item (as returned by 'getAllMembers()') matching a comparison
* @param {function} compareFunc comparison function
* @returns {number} number of matches
* @example
* itemutils.getGroup('group').descendentsCount(item => item.state === 'ON');
*/
descendentsCount(compareFunc: Function): number;
}
export {};
//# sourceMappingURL=groups.d.ts.map