improvement on business handler of specific class child handling.

This commit is contained in:
znetsixe
2025-08-07 15:58:59 +02:00
parent d9c2699566
commit 7820bd2ad2

View File

@@ -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`);