typescriptifying

This commit is contained in:
Wolfgang Hottgenroth
2018-01-09 16:36:14 +01:00
parent 9e39d74084
commit 8d85314fc9
21 changed files with 372 additions and 182 deletions

View File

@ -17,15 +17,16 @@ class MqttHandler {
this.mqttOptions.rejectUnauthorized = true;
}
this.topicHandlers = [];
logger.info("MqttHandler constructed");
}
register(topics, cb) {
topics.forEach((topic) => {
this.topicHandlers.push({ topic: topic, callback: cb });
logger.info(`additional callback registered for ${topic}`);
logger.info(`Callback registered for ${topic}`);
});
}
exec() {
logger.info(`connecting to ${this.mqttBrokerUrl}`);
logger.info(`Connecting to ${this.mqttBrokerUrl}`);
this.mqttClient = Mqtt.connect(this.mqttBrokerUrl, this.mqttOptions);
this.mqttClient.on('error', (err) => {
logger.error(`Error in mqttHandler: ${err}`);
@ -37,12 +38,12 @@ class MqttHandler {
this.mqttClient.subscribe(topicHandler.topic);
logger.info(`${topicHandler.topic} subscribed`);
});
logger.info('mqtt connection established');
logger.info('MQTT connection established');
});
this.mqttClient.on('message', (topic, payload, packet) => {
if (!packet.retain) {
let payloadStr = payload.toString('UTF-8');
logger.info(`message received on topic ${topic}: ${payload}`);
logger.info(`Message received on topic ${topic}: ${payload}`);
this.processMessage(topic, payloadStr);
}
});