Merge branch 'node_exclusion_update' into dev_environment

This commit is contained in:
csawatzky 2025-07-31 15:18:45 -06:00
commit 163f4dc288
54 changed files with 351 additions and 409 deletions

View file

@ -148,8 +148,7 @@ export interface ComponentTypeExtension {
measurements: Array<ComponentMeasurement>;
measurementSummary?: Function; //Deprecated: this summary used the old measurement structure
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
) => Summary[];
minMeasurementPeriodMs: number;
minCycleTimeMs?: number;
@ -229,20 +228,11 @@ export function simpleSummaries(
export function unitMeasurementSummary(
convertedMeasurement: MeasurementsFor,
describer: MeasurementDescriber,
excludedNodes?: number[]
): Summary {
let vals: string[] = [];
convertedMeasurement.values.forEach(val => {
vals.push(val + describer.unit());
});
//if nodes are excluded splice them out of the val array so they are not displayed in the summary
if (excludedNodes) {
vals.forEach((_val, i) => {
if (excludedNodes.includes(i)) {
vals.splice(i, 1);
}
});
}
let v = vals.join(", ");
if (describer.enumerations().length > 0) {
v = describer.enumerations()[parseFloat(vals[0])];
@ -259,19 +249,12 @@ export function unitMeasurementSummary(
export function unitMeasurementSummaries(
measurements: convertedUnitMeasurement,
compType: quack.ComponentType,
subtype?: number,
excludedNodes?: number[]
subtype?: number
): Summary[] {
let summaries: Summary[] = [];
measurements.measurementsFor.forEach(measurement => {
let describer = describeMeasurement(measurement.type, compType, subtype);
//TODO: implement the summary for node splitting when we make a component that uses it, drager was changed to use subtypes rather than nodes
//let details = describer.nodeDetails()
// if(details !== undefined){
// } else {
summaries.push(unitMeasurementSummary(measurement, describer, excludedNodes));
//}
summaries.push(unitMeasurementSummary(measurement, describer));
});
return summaries;
}

View file

@ -49,13 +49,11 @@ export function AirQuality(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_AIR_QUALITY,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -75,13 +75,11 @@ export function Airflow(subtype: number = 0): ComponentTypeExtension {
// },
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_AIRFLOW,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -79,13 +79,11 @@ export function AnalogInput(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_ANALOG_INPUT,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -50,14 +50,12 @@ export function CO2(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, co2);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_CO2,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -37,14 +37,12 @@ export function Calcium(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, calcium);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_CALCIUM,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -52,14 +52,12 @@ export function Capacitance(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, capacitance);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_CAPACITANCE,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -148,14 +148,12 @@ export function CapacitorCable(subtype: number = 0): ComponentTypeExtension {
return Promise.resolve(summary);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_CAPACITOR_CABLE,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -37,14 +37,12 @@ export function Conductivity(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, conductivity);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_CONDUCTIVITY,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -77,14 +77,12 @@ export function DHT(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, temperature, humidity);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_DHT,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -108,8 +108,7 @@ export function dragerGasDongle(subtype: number = 0): ComponentTypeExtension {
//believe this is only used with the old deprecated measurements system, unit measurements builds the summary in the UnitMeasurementSummary component
measurementSummary: () => {},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
//if it is O2 display percentage rather than ppm
if (subtype === quack.DragerGasDongleSubtype.DRAGER_GAS_DONGLE_SUBTYPE_O2 || subtype === quack.DragerGasDongleSubtype.DRAGER_GAS_DONGLE_SUBTYPE_LEL) {
@ -137,7 +136,7 @@ export function dragerGasDongle(subtype: number = 0): ComponentTypeExtension {
});
} else {
//create the simple summary for the voltage
summaries.push(unitMeasurementSummary(measurement, describer, excludedNodes));
summaries.push(unitMeasurementSummary(measurement, describer));
}
});
@ -146,8 +145,7 @@ export function dragerGasDongle(subtype: number = 0): ComponentTypeExtension {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_DRAGER_GAS_DONGLE,
subtype,
excludedNodes
subtype
);
}
},

View file

@ -37,14 +37,12 @@ export function Ethylene(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, ethylene);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_ETHYLENE,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -74,13 +74,11 @@ export function GPS(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_GPS,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -374,13 +374,11 @@ export function GrainCable(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_GRAIN_CABLE,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -29,14 +29,12 @@ export function Invalid(subtype: number = 0): ComponentTypeExtension {
return Promise.reject();
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_INVALID,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -65,14 +65,12 @@ export function Lidar(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, distance);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_LIDAR,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -37,14 +37,12 @@ export function Light(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, light);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_LIGHT,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -45,14 +45,12 @@ export function Modem(subtype: number = 0): ComponentTypeExtension {
},
minMeasurementPeriodMs: 1000,
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_MODEM,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -37,14 +37,12 @@ export function Nitrate(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, nitrate);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_NITRATE,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -37,14 +37,12 @@ export function O2(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, o2);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_O2,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -38,13 +38,11 @@ export function ORP(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_ORP,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -37,14 +37,12 @@ export function OnOffInput(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, onOff);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_BOOLEAN_INPUT,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -93,14 +93,12 @@ export function OnOffOutput(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, onOff);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_BOOLEAN_OUTPUT,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -37,14 +37,12 @@ export function PH(subtype: number = 0): ComponentTypeExtension {
return simpleSummaries(measurement, ph);
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
measurements: convertedUnitMeasurement
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_PH,
subtype,
excludedNodes
subtype
);
},
areaChartData: (

View file

@ -38,13 +38,11 @@ export function Potassium(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_POTASSIUM,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -57,13 +57,11 @@ export function Power(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_POWER,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -67,13 +67,11 @@ export function Pressure(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_PRESSURE,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -147,13 +147,11 @@ export function PressureCable(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_PRESSURE_CABLE,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -94,13 +94,11 @@ export function Sen5x(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_SEN5X,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -41,13 +41,11 @@ export function StepperMotor(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_STEPPER_MOTOR,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -60,13 +60,11 @@ export function Temperature(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_TEMPERATURE,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -149,13 +149,11 @@ export function Trigger(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_EDGE_TRIGGERED,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -75,13 +75,11 @@ export function VPD(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_VAPOUR_PRESSURE_DEFICIT,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -121,13 +121,11 @@ export function VibrationCable(subtype: number = 0): ComponentTypeExtension {
measurementSummary: async function() {},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_VIBRATION_CHAIN,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -38,13 +38,11 @@ export function Voltage(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_VOLTAGE,
subtype,
excludedNodes
);
},
areaChartData: (

View file

@ -38,13 +38,11 @@ export function Weight(subtype: number = 0): ComponentTypeExtension {
},
unitMeasurementSummary: (
measurements: convertedUnitMeasurement,
excludedNodes?: number[]
): Summary[] => {
return unitMeasurementSummaries(
measurements,
quack.ComponentType.COMPONENT_TYPE_WEIGHT,
subtype,
excludedNodes
);
},
lineChartData: (