node-red-contrib-homekit-bridged
Version:
Node-RED nodes to simulate Apple HomeKit devices.
38 lines (37 loc) • 1.86 kB
TypeScript
import { Accessory, AdaptiveLightingController, Characteristic, CharacteristicChange, CharacteristicGetCallback, CharacteristicProps, CharacteristicSetCallback, CharacteristicValue, Service } from 'hap-nodejs';
import { HAPConnection } from 'hap-nodejs/dist/lib/util/eventedhttp';
import { NodeAPI } from 'node-red';
import { NodeStatusUtils } from '../utils/NodeStatusUtils';
import HAPHostNodeType from './HAPHostNodeType';
import HAPService2NodeType from './HAPService2NodeType';
import HAPServiceConfigType from './HAPServiceConfigType';
import NodeType from './NodeType';
import PublishTimersType from './PublishTimersType';
type HAPServiceNodeType = NodeType & {
config: HAPServiceConfigType;
RED: NodeAPI;
setupDone: boolean;
configured: boolean;
handleWaitForSetup: (msg: any) => any;
onIdentify: (paired: boolean, callback: () => any) => void;
hostNode: HAPHostNodeType;
childNodes?: (HAPService2NodeType | HAPServiceNodeType)[];
service: Service;
parentService: Service;
parentNode?: HAPService2NodeType | HAPServiceNodeType;
accessory: Accessory;
characteristicProperties: {
[key: string]: CharacteristicProps;
};
supported: string[];
publishTimers: PublishTimersType;
topic_in: string;
onCharacteristicGet: (this: Characteristic, callback: CharacteristicGetCallback, context: any, connection?: HAPConnection) => void;
onCharacteristicSet: (this: Characteristic, newValue: CharacteristicValue, callback: CharacteristicSetCallback, context: any, connection?: HAPConnection) => void;
onCharacteristicChange: (this: Characteristic, change: CharacteristicChange) => void;
uniqueIdentifier: string;
reachable?: boolean;
nodeStatusUtils: NodeStatusUtils;
adaptiveLightingController?: AdaptiveLightingController;
};
export default HAPServiceNodeType;