@tbowmo/node-red-small-timer
Version:
Small timer node for Node-RED with support for sunrise, sunset etc. timers
50 lines (44 loc) • 1.11 kB
text/typescript
/* istanbul ignore next */
import { Node, NodeDef } from 'node-red'
import { SmallTimerRunner } from '../lib/small-timer-runner'
/* Configuration */
export interface IPositionNode extends Node {
latitude: number,
longitude: number
}
export type Rule = {
type: 'include' | 'exclude',
month: number,
day: number,
}
export interface IPositionProperties extends NodeDef {
latitude: number,
longitude: number,
}
export interface ISmallTimerNode extends Node {
position: IPositionNode,
smallTimer: SmallTimerRunner
}
export interface ISmallTimerProperties extends NodeDef {
position: string,
startTime: number,
endTime: number,
startOffset: number,
endOffset: number,
onMsg: string,
onMsgType: string,
offMsg: string,
offMsgType: string,
topic: string,
injectOnStartup: boolean,
repeat: boolean,
repeatInterval: number,
disable: boolean,
rules: Rule[],
onTimeout: number,
offTimeout: number,
wrapMidnight: boolean,
debugEnable: boolean,
minimumOnTime: number,
sendEmptyPayload: boolean,
}