improvement on business handler of specific class child handling.
This commit is contained in:
@@ -128,41 +128,48 @@ class Machine {
|
||||
}
|
||||
|
||||
this.logger.debug(`Found ${sensors.length} sensors to register events for`);
|
||||
|
||||
// ✅ PRESSURE - Your existing logic but enhanced
|
||||
|
||||
// ✅ Register events for each sensor
|
||||
sensors.forEach(sensor => {
|
||||
// ✅ Enhanced upstream pressure handling
|
||||
sensor.measurements.emitter.on('pressure.measured.upstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Upstream pressure from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
|
||||
// ✅ Your existing logic - but with enhanced context
|
||||
this.updateMeasuredPressure(eventData.value, 'upstream', eventData);
|
||||
});
|
||||
switch (sensor.config.asset.type) {
|
||||
case 'pressure':
|
||||
this.logger.debug(`Registering pressure events for sensor: ${sensor.config.general.name}`);
|
||||
// upstream pressure handling
|
||||
sensor.measurements.emitter.on('pressure.measured.upstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Upstream pressure from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
// Update the measured pressure
|
||||
this.updateMeasuredPressure(eventData.value, 'upstream', eventData);
|
||||
});
|
||||
|
||||
// ✅ Enhanced downstream pressure handling
|
||||
sensor.measurements.emitter.on('pressure.measured.downstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Downstream pressure from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
|
||||
// ✅ Your existing logic - but with enhanced context
|
||||
this.updateMeasuredPressure(eventData.value, 'downstream', eventData);
|
||||
});
|
||||
// downstream pressure handling
|
||||
sensor.measurements.emitter.on('pressure.measured.downstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Downstream pressure from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
// Update the measured pressure
|
||||
this.updateMeasuredPressure(eventData.value, 'downstream', eventData);
|
||||
});
|
||||
break;
|
||||
case 'flow':
|
||||
this.logger.debug(`Registering flow events for sensor: ${sensor.config.general.name}`);
|
||||
// upstream flow handling
|
||||
sensors.forEach(sensor => {
|
||||
sensor.measurements.emitter.on('flow.measured.upstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Upstream flow from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
this.updateMeasuredFlow(eventData.value, 'upstream', eventData);
|
||||
});
|
||||
// downstream flow handling
|
||||
sensor.measurements.emitter.on('flow.measured.downstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Downstream flow from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
this.updateMeasuredFlow(eventData.value, 'downstream', eventData);
|
||||
});
|
||||
});
|
||||
break;
|
||||
|
||||
this.logger.debug(`✅ Pressure events registered for sensor: ${sensor.config.general.name}`);
|
||||
default:
|
||||
this.logger.warn(`Unknown sensor type: ${sensor.config.asset.type}. No events registered.`);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
// ✅ FLOW - Add your flow handling (following same pattern)
|
||||
sensors.forEach(sensor => {
|
||||
sensor.measurements.emitter.on('flow.measured.upstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Upstream flow from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
this.updateMeasuredFlow(eventData.value, 'upstream', eventData);
|
||||
});
|
||||
|
||||
sensor.measurements.emitter.on('flow.measured.downstream', (eventData) => {
|
||||
this.logger.debug(`🔄 Downstream flow from ${eventData.childName}: ${eventData.value} ${eventData.unit}`);
|
||||
this.updateMeasuredFlow(eventData.value, 'downstream', eventData);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// ✅ Log registration summary
|
||||
this.logger.info(`✅ Event listeners registered for ${sensors.length} measurement sensors`);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user