import { AItem } from './AItem' import * as logger from './log' import { mqttHandler } from './MqttDispatcher' export class Forwarder extends AItem { private targetTopics: string[] private inTopic: string constructor(floor: string, room: string, item: string, topicLastPart: string, label: string, targetTopics: string[]) { super(floor, room, item, label) this.inTopic = `${this.topicFirstPart}/${topicLastPart}` this.subscribeTopics = [ this.inTopic ] this.targetTopics = targetTopics } processMessage(topic: string, payload: string) : void { switch (topic) { case this.inTopic: this.targetTopics.forEach((targetTopic) => { mqttHandler.send(targetTopic, payload, true) }) break } } }