1
0
This repository has been archived on 2025-01-10. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openhab-js-automation-old/equipmentMgr.js

37 lines
1018 B
JavaScript

console.loggerName = 'js.equipmentMgr';
console.log('Load equipmentMgr');
const {
equipment,
lib,
timer,
watch
} = require('../utils');
const eMgr = new Object();
for (let equipmentItem of items.getItems().filter(element => { return (element.semantics.isEquipment == true) && (element.semantics.equipment == null) })) {
// Fetch equipment type
let equipmentType = equipmentItem.tags.filter(element => Object.keys(equipment).includes(element));
if (equipmentType.length > 1) {
equipmentType.splice(equipmentType.indexOf('Equipment'), 1);
}
// Initialize equipment class
try {
eMgr[equipmentItem.name] = new equipment[equipmentType](equipmentItem);
} catch (error) {
console.error(error);
}
}
cache.shared.put('eMgr', eMgr);
require('@runtime').lifecycleTracker.addDisposeHook(() => {
console.log('Deinitialization of equipmentMgr');
for (let equipmentItemName of Object.keys(eMgr)) {
eMgr[equipmentItemName].gc();
}
});