Merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
Wolfgang Hottgenroth
2018-04-02 20:31:18 +02:00
6 changed files with 37 additions and 2 deletions

11
dist/Export.js vendored
View File

@ -28,6 +28,17 @@ function HueColorLightExport(itemId, label, stateTopic, stateFeedbackTopic, brig
return { 'homekit': HueColorLightHomekitExport(itemId, label, stateTopic, stateFeedbackTopic, brightnessTopic, brightnessFeedbackTopic, hueTopic, hueFeedbackTopic, saturationTopic, saturationFeedbackTopic, colorTemperatureTopic, colorTemperatureFeedbackTopic), 'openhab': '' };
}
exports.HueColorLightExport = HueColorLightExport;
function RelayBoxExport(stateTopicPre, feedbackTopicPre, conflictTopicPre, itemNames) {
return { 'homekit': RelayBoxHomekitExport(stateTopicPre, feedbackTopicPre, conflictTopicPre, itemNames),
'openhab': RelayBoxOpenHABExport(stateTopicPre, feedbackTopicPre, conflictTopicPre, itemNames) };
}
exports.RelayBoxExport = RelayBoxExport;
function RelayBoxHomekitExport(stateTopicPre, feedbackTopicPre, conflictTopicPre, itemNames) {
return { 'id': '', 'object': {} };
}
function RelayBoxOpenHABExport(stateTopicPre, feedbackTopicPre, conflictTopicPre, itemNames) {
return '';
}
function SwitchHomekitBulbExport(id, label, setOn, statusOn) {
let o = {
"id": id,

View File

@ -76,7 +76,7 @@ class MqttHandler {
// sent = this.processMessage(topic, payload)
//}
//if (! sent) {
logger.info(`External sending required: ${topic}`);
logger.info(`External sending required: ${topic} ${payload}`);
let options = { retain: true, qos: 0 };
this.mqttClient.publish(topic, payload, options);
//} else {

4
dist/RelayBox.js vendored
View File

@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
const logger = require("./log");
const MqttDispatcher_1 = require("./MqttDispatcher");
const AItem_1 = require("./AItem");
const Export_1 = require("./Export");
class RelayBoxThing extends AItem_1.AItem {
constructor(floor, room, item, deviceCommandTopic, deviceStatusTopic, itemNames) {
super(floor, room, item, '');
@ -18,6 +19,9 @@ class RelayBoxThing extends AItem_1.AItem {
];
this.oldSwitchStates = '';
}
exportItem() {
return Export_1.RelayBoxExport(this.stateTopicPre, this.feedbackTopicPre, this.conflictTopicPre, this.itemNames);
}
processMessage(topic, payload) {
// logger.info(`RT: ${topic}, ${payload}`)
if (topic == this.deviceStatusTopic) {

View File

@ -45,6 +45,21 @@ export function HueColorLightExport(itemId: string, label: string,
brightnessTopic, brightnessFeedbackTopic, hueTopic, hueFeedbackTopic,
saturationTopic, saturationFeedbackTopic, colorTemperatureTopic, colorTemperatureFeedbackTopic), 'openhab': ''}
}
export function RelayBoxExport(stateTopicPre: string, feedbackTopicPre: string, conflictTopicPre: string, itemNames: string[]) : ExportType {
return {'homekit': RelayBoxHomekitExport(stateTopicPre, feedbackTopicPre, conflictTopicPre, itemNames),
'openhab': RelayBoxOpenHABExport(stateTopicPre, feedbackTopicPre, conflictTopicPre, itemNames)}
}
function RelayBoxHomekitExport(stateTopicPre: string, feedbackTopicPre: string, conflictTopicPre: string, itemNames: string[]) : HomekitExportType{
return {'id': '', 'object': {}}
}
function RelayBoxOpenHABExport(stateTopicPre: string, feedbackTopicPre: string, conflictTopicPre: string, itemNames: string[]) : string {
return ''
}
function SwitchHomekitBulbExport(id: string, label: string, setOn: string, statusOn: string) : HomekitExportType {
let o : any = {
"id": id,

View File

@ -97,7 +97,7 @@ class MqttHandler {
// sent = this.processMessage(topic, payload)
//}
//if (! sent) {
logger.info(`External sending required: ${topic}`)
logger.info(`External sending required: ${topic} ${payload}`)
let options : IClientPublishOptions = { retain: true, qos: 0 }
this.mqttClient.publish(topic, payload, options)
//} else {

View File

@ -1,6 +1,7 @@
import * as logger from './log'
import { mqttHandler } from './MqttDispatcher'
import { AItem } from './AItem'
import { RelayBoxExport, ExportType } from './Export'
@ -31,6 +32,10 @@ export class RelayBoxThing extends AItem {
this.oldSwitchStates = ''
}
exportItem() : ExportType|null {
return RelayBoxExport(this.stateTopicPre, this.feedbackTopicPre, this.conflictTopicPre, this.itemNames)
}
processMessage(topic: string, payload: string) {
// logger.info(`RT: ${topic}, ${payload}`)
if (topic == this.deviceStatusTopic) {