Set js.lib logger
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
console.loggerName = 'js.equipmentMgr';
|
||||
console.log('Load equipmentMgr');
|
||||
const log = Java.type('org.slf4j.LoggerFactory').getLogger('js.equipmentMgr');
|
||||
log.info('Load equipmentMgr');
|
||||
|
||||
const {
|
||||
lib,
|
||||
@@ -27,7 +27,7 @@ class Equipment {
|
||||
throw(`Item ${this.equipmentItem.name} is not an equipment type`);
|
||||
}
|
||||
|
||||
console.info(`Initialization of equipment ${this.equipmentItem.name} with type ${this.constructor.name}`);
|
||||
log.info(`Initialization of equipment ${this.equipmentItem.name} with type ${this.constructor.name}`);
|
||||
|
||||
// Initialization of properties
|
||||
this.name = this.equipmentItem.name;
|
||||
@@ -61,9 +61,9 @@ class Equipment {
|
||||
let returnValue = defaultValue;
|
||||
|
||||
if (items[valueItemName] == null) { // Return default value if item is missing
|
||||
console.warn('Item ' + valueItemName + ' is missing');
|
||||
log.warn('Item ' + valueItemName + ' is missing');
|
||||
} else if (items[valueItemName]['state'] == 'NULL') { // Return default value if item state is null
|
||||
console.warn('Item ' + valueItemName + ' is unset')
|
||||
log.warn('Item ' + valueItemName + ' is unset')
|
||||
} else { // Return value from item
|
||||
if (items[valueItemName].quantityState == null && items[valueItemName].numericState == null) {
|
||||
returnValue = items[valueItemName]['state'];
|
||||
@@ -74,7 +74,7 @@ class Equipment {
|
||||
}
|
||||
}
|
||||
|
||||
console.debug(`Return value for property ${propertyName} for ${this.name}: ${returnValue}`);
|
||||
log.debug(`Return value for property ${propertyName} for ${this.name}: ${returnValue}`);
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
@@ -86,22 +86,22 @@ class Equipment {
|
||||
|
||||
hasProperty(propertyName) {
|
||||
if (items[this.name + '_' + propertyName] == null) {
|
||||
console.debug(`Equipment ${this.name} has no property ${propertyName}`)
|
||||
log.debug(`Equipment ${this.name} has no property ${propertyName}`)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
#notifyLowBat() {
|
||||
console.warn(`${this.name} has a low battery level.`);
|
||||
log.warn(`${this.name} has a low battery level.`);
|
||||
}
|
||||
|
||||
#notifyUnreach() {
|
||||
console.warn(`${this.name} is offline.`);
|
||||
log.warn(`${this.name} is offline.`);
|
||||
}
|
||||
|
||||
gc() {
|
||||
console.log('Denitialization of equipment ' + this.name);
|
||||
log.info('Denitialization of equipment ' + this.name);
|
||||
|
||||
// Cancel all timers
|
||||
this.timers.cancelAll();
|
||||
@@ -147,7 +147,7 @@ class CCTV extends Equipment {
|
||||
items[this.getPropertyItemName('HomeMode')].sendCommandIfDifferent('OFF');
|
||||
break;
|
||||
default:
|
||||
console.log(mode + ' is not a valid mode for HomeMode');
|
||||
log.info(mode + ' is not a valid mode for HomeMode');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -158,7 +158,7 @@ class EnergyMeter extends Equipment {
|
||||
|
||||
|
||||
if (this.hasProperty('ConsumptionTotal')) {
|
||||
console.log(`Create rule to trigger calculateConsumption function`);
|
||||
log.info(`Create rule to trigger calculateConsumption function`);
|
||||
|
||||
this.consumptionTotalItem = items[this.getPropertyItemName('ConsumptionTotal')];
|
||||
rules.JSRule({
|
||||
@@ -168,12 +168,12 @@ class EnergyMeter extends Equipment {
|
||||
execute: (event) => { this.#calculateConsumptionValues(event) },
|
||||
});
|
||||
} else {
|
||||
console.info(`Item ${this.equipmentItem.name} has no consumptionTotal item`)
|
||||
log.info(`Item ${this.equipmentItem.name} has no consumptionTotal item`)
|
||||
}
|
||||
}
|
||||
|
||||
#calculateConsumptionValues() {
|
||||
console.debug('Calculate EnergyMeter consumption values');
|
||||
log.debug('Calculate EnergyMeter consumption values');
|
||||
|
||||
let startOfHour = time.toZDT().withMinute(0).withSecond(0).withNano(0);
|
||||
let startOfDay = startOfHour.withHour(0);
|
||||
@@ -243,14 +243,14 @@ class Irrigation extends Equipment {
|
||||
try {
|
||||
this.valves[valve.name] = new IrrigationValve(valve);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
log.error(error);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
gc() {
|
||||
console.info('Deinitialization of irrigation valves for ' + this.name);
|
||||
log.info('Deinitialization of irrigation valves for ' + this.name);
|
||||
|
||||
// Delete all watchObjects
|
||||
for (let valve of Object.keys(this.valves)) {
|
||||
@@ -262,14 +262,14 @@ class Irrigation extends Equipment {
|
||||
}
|
||||
|
||||
#irrigationOn() {
|
||||
console.info(`Irrigation ${this.name} received command on`);
|
||||
log.info(`Irrigation ${this.name} received command on`);
|
||||
|
||||
// Fetch valves with AutoMode enabled
|
||||
let autoValves = Object.keys(this.valves).filter(element => { return this.valves[element].getValue('AutoMode', 'OFF') == 'ON'} );
|
||||
|
||||
// Skip if no valves with AutoMode enabled are available
|
||||
if (autoValves.length == 0) {
|
||||
console.info('No valves with AutoMode enabled available');
|
||||
log.info('No valves with AutoMode enabled available');
|
||||
this.stateItem.sendCommandIfDifferent('OFF');
|
||||
return;
|
||||
}
|
||||
@@ -305,12 +305,12 @@ class Irrigation extends Equipment {
|
||||
|
||||
// Stop irrigation after the last valve
|
||||
if (nextValve == undefined) {
|
||||
console.log('No further valves with autoMode enabled available');
|
||||
log.info('No further valves with autoMode enabled available');
|
||||
this.timers.create(
|
||||
'autoOff',
|
||||
endTime.plusSeconds(5),
|
||||
() => {
|
||||
console.debug(`Switch irrigation ${this.name} to off`)
|
||||
log.debug(`Switch irrigation ${this.name} to off`)
|
||||
this.stateItem.sendCommandIfDifferent('OFF');
|
||||
}
|
||||
);
|
||||
@@ -319,7 +319,7 @@ class Irrigation extends Equipment {
|
||||
}
|
||||
|
||||
#irrigationOff() {
|
||||
console.info(`Irrigation ${this.name} received command off`);
|
||||
log.info(`Irrigation ${this.name} received command off`);
|
||||
|
||||
this.timers.cancel('autoOff')
|
||||
|
||||
@@ -411,7 +411,7 @@ for (let equipmentItem of items.getItems().filter(element => { return (element.s
|
||||
try {
|
||||
eMgr[equipmentItem.name] = eval(`new ${equipmentType}(equipmentItem)`);
|
||||
} catch (error) {
|
||||
console.warn('Equipment ' + equipmentType + ' is not defined');
|
||||
log.warn('Equipment ' + equipmentType + ' is not defined');
|
||||
eMgr[equipmentItem.name] = new Equipment(equipmentItem);
|
||||
}
|
||||
}
|
||||
@@ -419,11 +419,12 @@ for (let equipmentItem of items.getItems().filter(element => { return (element.s
|
||||
cache.shared.put('eMgr', eMgr);
|
||||
|
||||
require('@runtime').lifecycleTracker.addDisposeHook(() => {
|
||||
console.log('Deinitialization of equipmentMgr');
|
||||
log.info('Deinitialization of equipmentMgr');
|
||||
|
||||
watches.deleteAll();
|
||||
|
||||
for (let equipmentItemName of Object.keys(eMgr)) {
|
||||
eMgr[equipmentItemName].gc();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user