Compare commits
1 Commits
without_st
...
master
Author | SHA1 | Date | |
---|---|---|---|
ceeecf5009 |
5
dist/HomematicSwitchItem.js
vendored
5
dist/HomematicSwitchItem.js
vendored
@ -31,6 +31,7 @@ class HomematicSwitchItem extends AHomegearItem_1.AHomegearItem {
|
|||||||
this.deviceFeedbackTopic
|
this.deviceFeedbackTopic
|
||||||
];
|
];
|
||||||
this.state = 'OFF';
|
this.state = 'OFF';
|
||||||
|
this.oldState = undefined;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
exportItem() {
|
exportItem() {
|
||||||
@ -41,12 +42,15 @@ class HomematicSwitchItem extends AHomegearItem_1.AHomegearItem {
|
|||||||
case this.stateTopic:
|
case this.stateTopic:
|
||||||
this.state = payload;
|
this.state = payload;
|
||||||
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
|
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
|
||||||
|
if (this.state != this.oldState) {
|
||||||
if (this.state == 'ON') {
|
if (this.state == 'ON') {
|
||||||
MqttDispatcher_1.mqttHandler.send(this.actionTopic, 'true');
|
MqttDispatcher_1.mqttHandler.send(this.actionTopic, 'true');
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
MqttDispatcher_1.mqttHandler.send(this.actionTopic, 'false');
|
MqttDispatcher_1.mqttHandler.send(this.actionTopic, 'false');
|
||||||
}
|
}
|
||||||
|
this.oldState = this.state;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case this.deviceFeedbackTopic:
|
case this.deviceFeedbackTopic:
|
||||||
if (payload == 'true') {
|
if (payload == 'true') {
|
||||||
@ -55,6 +59,7 @@ class HomematicSwitchItem extends AHomegearItem_1.AHomegearItem {
|
|||||||
else {
|
else {
|
||||||
this.state = 'OFF';
|
this.state = 'OFF';
|
||||||
}
|
}
|
||||||
|
this.oldState = this.state;
|
||||||
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
|
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
4
dist/M433SwitchItem.js
vendored
4
dist/M433SwitchItem.js
vendored
@ -26,6 +26,7 @@ class M433SwitchItem extends AItem_1.AItem {
|
|||||||
this.stateFeedbackTopic = `${this.topicFirstPart}/state/feedback`;
|
this.stateFeedbackTopic = `${this.topicFirstPart}/state/feedback`;
|
||||||
this.actionTopic = 'IoT/Mqtt433Gateway/Message';
|
this.actionTopic = 'IoT/Mqtt433Gateway/Message';
|
||||||
this.state = 'OFF';
|
this.state = 'OFF';
|
||||||
|
this.oldState = undefined;
|
||||||
this.onCode = onCode;
|
this.onCode = onCode;
|
||||||
this.offCode = offCode;
|
this.offCode = offCode;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
@ -36,12 +37,15 @@ class M433SwitchItem extends AItem_1.AItem {
|
|||||||
processMessage(topic, payload) {
|
processMessage(topic, payload) {
|
||||||
this.state = payload;
|
this.state = payload;
|
||||||
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
|
MqttDispatcher_1.mqttHandler.send(this.stateFeedbackTopic, this.state);
|
||||||
|
if (this.state != this.oldState) {
|
||||||
if (this.state == 'ON') {
|
if (this.state == 'ON') {
|
||||||
MqttDispatcher_1.mqttHandler.send(this.actionTopic, this.onCode);
|
MqttDispatcher_1.mqttHandler.send(this.actionTopic, this.onCode);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
MqttDispatcher_1.mqttHandler.send(this.actionTopic, this.offCode);
|
MqttDispatcher_1.mqttHandler.send(this.actionTopic, this.offCode);
|
||||||
}
|
}
|
||||||
|
this.oldState = this.state;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.M433SwitchItem = M433SwitchItem;
|
exports.M433SwitchItem = M433SwitchItem;
|
||||||
|
31
dist/main.js
vendored
31
dist/main.js
vendored
@ -477,36 +477,7 @@ let watchdogTimer = setInterval(() => {
|
|||||||
watchdogCounter += 1;
|
watchdogCounter += 1;
|
||||||
MqttDispatcher_1.mqttHandler.send(config.dict.watchdogTopic, `${config.dict.watchdogMessage} ${watchdogCounter}`);
|
MqttDispatcher_1.mqttHandler.send(config.dict.watchdogTopic, `${config.dict.watchdogMessage} ${watchdogCounter}`);
|
||||||
}, config.dict.watchdogInterval);
|
}, config.dict.watchdogInterval);
|
||||||
// // ----------------------------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------------------------
|
||||||
// // Homekit export
|
|
||||||
// let homekitObject : { [key:string]:{} } = {}
|
|
||||||
// let openhabList : string[] = []
|
|
||||||
// // logger.info("allLabeledItems")
|
|
||||||
// // logger.info(JSON.stringify(allLabeledItems))
|
|
||||||
// allLabeledItems.forEach((item: AItem) => {
|
|
||||||
// let exportData : ExportType|null = item.exportItem()
|
|
||||||
// if (exportData != null) {
|
|
||||||
// if ('id' in exportData['homekit']) {
|
|
||||||
// homekitObject[exportData['homekit']['id']] = exportData['homekit']['object']
|
|
||||||
// }
|
|
||||||
// if (exportData['openhab'] instanceof Array) {
|
|
||||||
// let da : string[] = exportData['openhab'] as string[]
|
|
||||||
// da.forEach((o: string) => openhabList.push(o))
|
|
||||||
// } else {
|
|
||||||
// let da : string = exportData['openhab'] as string
|
|
||||||
// openhabList.push(da)
|
|
||||||
// }
|
|
||||||
// // logger.info("openHabList")
|
|
||||||
// // logger.info(JSON.stringify(openhabList))
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// let heatingMainSwitchExport : ExportType|null = MaxThermostat.exportHeatingMainSwitchItem()
|
|
||||||
// if (heatingMainSwitchExport != null) {
|
|
||||||
// let da : string = heatingMainSwitchExport['openhab'] as string
|
|
||||||
// openhabList.push(da)
|
|
||||||
// }
|
|
||||||
// fs.writeFileSync(config.dict.homekitFile, JSON.stringify(homekitObject, null, 4))
|
|
||||||
// fs.writeFileSync(config.dict.openhabItemFile, openhabList.join('\n'))
|
|
||||||
let roomSwitches = {};
|
let roomSwitches = {};
|
||||||
allLights.forEach((item) => {
|
allLights.forEach((item) => {
|
||||||
let switchItem = { 'label': item.getLabel(), 'actionTopic': item.getStateTopic(), 'feedbackTopic': item.getStateFeedbackTopic() };
|
let switchItem = { 'label': item.getLabel(), 'actionTopic': item.getStateTopic(), 'feedbackTopic': item.getStateFeedbackTopic() };
|
||||||
|
@ -46,6 +46,7 @@ export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFee
|
|||||||
this.deviceFeedbackTopic
|
this.deviceFeedbackTopic
|
||||||
]
|
]
|
||||||
this.state = 'OFF'
|
this.state = 'OFF'
|
||||||
|
this.oldState = undefined
|
||||||
this.type = type
|
this.type = type
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,11 +59,14 @@ export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFee
|
|||||||
case this.stateTopic:
|
case this.stateTopic:
|
||||||
this.state = payload
|
this.state = payload
|
||||||
mqttHandler.send(this.stateFeedbackTopic, this.state)
|
mqttHandler.send(this.stateFeedbackTopic, this.state)
|
||||||
|
if (this.state != this.oldState) {
|
||||||
if (this.state == 'ON') {
|
if (this.state == 'ON') {
|
||||||
mqttHandler.send(this.actionTopic, 'true')
|
mqttHandler.send(this.actionTopic, 'true')
|
||||||
} else {
|
} else {
|
||||||
mqttHandler.send(this.actionTopic, 'false')
|
mqttHandler.send(this.actionTopic, 'false')
|
||||||
}
|
}
|
||||||
|
this.oldState = this.state
|
||||||
|
}
|
||||||
break
|
break
|
||||||
case this.deviceFeedbackTopic:
|
case this.deviceFeedbackTopic:
|
||||||
if (payload == 'true') {
|
if (payload == 'true') {
|
||||||
@ -70,6 +74,7 @@ export class HomematicSwitchItem extends AHomegearItem implements HasStateAndFee
|
|||||||
} else {
|
} else {
|
||||||
this.state = 'OFF'
|
this.state = 'OFF'
|
||||||
}
|
}
|
||||||
|
this.oldState = this.state
|
||||||
mqttHandler.send(this.stateFeedbackTopic, this.state)
|
mqttHandler.send(this.stateFeedbackTopic, this.state)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ export class M433SwitchItem extends AItem implements HasStateAndFeedbackTopicAnd
|
|||||||
this.stateFeedbackTopic = `${this.topicFirstPart}/state/feedback`
|
this.stateFeedbackTopic = `${this.topicFirstPart}/state/feedback`
|
||||||
this.actionTopic = 'IoT/Mqtt433Gateway/Message'
|
this.actionTopic = 'IoT/Mqtt433Gateway/Message'
|
||||||
this.state = 'OFF'
|
this.state = 'OFF'
|
||||||
|
this.oldState = undefined
|
||||||
this.onCode = onCode
|
this.onCode = onCode
|
||||||
this.offCode = offCode
|
this.offCode = offCode
|
||||||
this.type = type
|
this.type = type
|
||||||
@ -53,11 +54,14 @@ export class M433SwitchItem extends AItem implements HasStateAndFeedbackTopicAnd
|
|||||||
processMessage(topic: string, payload: string) {
|
processMessage(topic: string, payload: string) {
|
||||||
this.state = payload;
|
this.state = payload;
|
||||||
mqttHandler.send(this.stateFeedbackTopic, this.state);
|
mqttHandler.send(this.stateFeedbackTopic, this.state);
|
||||||
|
if (this.state != this.oldState) {
|
||||||
if (this.state == 'ON') {
|
if (this.state == 'ON') {
|
||||||
mqttHandler.send(this.actionTopic, this.onCode);
|
mqttHandler.send(this.actionTopic, this.onCode);
|
||||||
} else {
|
} else {
|
||||||
mqttHandler.send(this.actionTopic, this.offCode);
|
mqttHandler.send(this.actionTopic, this.offCode);
|
||||||
}
|
}
|
||||||
|
this.oldState = this.state;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
36
src/main.ts
36
src/main.ts
@ -597,41 +597,7 @@ let watchdogTimer = setInterval(() => {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// // ----------------------------------------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------------------------------------
|
||||||
// // Homekit export
|
|
||||||
// let homekitObject : { [key:string]:{} } = {}
|
|
||||||
// let openhabList : string[] = []
|
|
||||||
|
|
||||||
// // logger.info("allLabeledItems")
|
|
||||||
// // logger.info(JSON.stringify(allLabeledItems))
|
|
||||||
|
|
||||||
// allLabeledItems.forEach((item: AItem) => {
|
|
||||||
// let exportData : ExportType|null = item.exportItem()
|
|
||||||
// if (exportData != null) {
|
|
||||||
// if ('id' in exportData['homekit']) {
|
|
||||||
// homekitObject[exportData['homekit']['id']] = exportData['homekit']['object']
|
|
||||||
// }
|
|
||||||
// if (exportData['openhab'] instanceof Array) {
|
|
||||||
// let da : string[] = exportData['openhab'] as string[]
|
|
||||||
// da.forEach((o: string) => openhabList.push(o))
|
|
||||||
// } else {
|
|
||||||
// let da : string = exportData['openhab'] as string
|
|
||||||
// openhabList.push(da)
|
|
||||||
// }
|
|
||||||
// // logger.info("openHabList")
|
|
||||||
// // logger.info(JSON.stringify(openhabList))
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
|
|
||||||
// let heatingMainSwitchExport : ExportType|null = MaxThermostat.exportHeatingMainSwitchItem()
|
|
||||||
// if (heatingMainSwitchExport != null) {
|
|
||||||
// let da : string = heatingMainSwitchExport['openhab'] as string
|
|
||||||
// openhabList.push(da)
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fs.writeFileSync(config.dict.homekitFile, JSON.stringify(homekitObject, null, 4))
|
|
||||||
// fs.writeFileSync(config.dict.openhabItemFile, openhabList.join('\n'))
|
|
||||||
|
|
||||||
|
|
||||||
let roomSwitches: any = {}
|
let roomSwitches: any = {}
|
||||||
allLights.forEach((item: HasStateAndFeedbackTopicAndLabelAndRoom) => {
|
allLights.forEach((item: HasStateAndFeedbackTopicAndLabelAndRoom) => {
|
||||||
|
Reference in New Issue
Block a user