UNPKG

node-red-contrib-mysensors

Version:

Mysensors related nodes, for decoding / encoding mysensors serial protocol and MQTT topic, and wrapping arbitrary messages into mysensors compatible messages

92 lines (80 loc) 2.19 kB
/* istanbul ignore next */ import { Node, NodeDef } from 'node-red'; import { IStorage } from '../lib/storage-interface'; import { IDecoder } from '../lib/decoder/decoder-interface'; import { MysensorsController } from '../lib/mysensors-controller'; import { MysensorsDebugDecode } from '../lib/mysensors-debug'; import { IMysensorsMsg } from '../lib/mysensors-msg'; import { mysensor_sensor } from '../lib/mysensors-types'; /* Encode */ export interface IEncodeProperties extends NodeDef { mqtt: boolean mqtttopic: string } /* Decode */ export interface IDecodeProperties extends NodeDef { mqtt: boolean enrich: boolean database?: string } export interface IDecodeEncodeConf extends Node { decoder: IDecoder database?: IDbConfigNode enrich: boolean } /* DB */ export interface IDbConfigNode extends Node { database: IStorage contextType: 'flow' | 'global' contextKey: { store?: string; key: string; } } export interface IDBProperties extends NodeDef { store: string, contextType: 'flow' | 'global', } /* Controller */ export interface IControllerProperties extends NodeDef { database?: string handleid?: boolean timeresponse?: boolean timezone?: string measurementsystem?: string mqttroot?: string addSerialNewline?: boolean } export interface IControllerConfig extends Node { controller: MysensorsController database: IDbConfigNode handleid: boolean } /* Encapsulate */ export interface IEncapsulateConfig extends Node { sensor: IMysensorsMsg presentation: boolean presentationtext: string presentationtype: mysensor_sensor fullpresentation: boolean internal: number firmwarename: string firmwareversion: string } export interface IEncapsulateProperties extends NodeDef { nodeid: number childid: number subtype: number internal: number ack: boolean msgtype: number presentation: boolean presentationtype: number presentationtext: string fullpresentation: boolean firmwarename: string firmwareversion: string } export interface IDebugConfig extends Node { mysDbg: MysensorsDebugDecode }