diff --git a/platform/features/timeline/bundle.js b/platform/features/timeline/bundle.js index 145a496f08..42b3c948f9 100644 --- a/platform/features/timeline/bundle.js +++ b/platform/features/timeline/bundle.js @@ -184,14 +184,14 @@ define([ "pattern": "^-?\\d+(\\.\\d*)?$" }, { - "name": "Battery Starting SOC", + "name": "Battery starting SOC (%)", "control": "textfield", "required": false, "conversion": "number", "property": [ "startingSOC" ], - "pattern": "^-?\\d+(\\.\\d*)?$" + "pattern": "^([0-9](\\.\\d*)?|[1-9][0-9](\\.\\d*)?|100)%?$" } ], "model": { diff --git a/platform/features/timeline/src/capabilities/GraphCapability.js b/platform/features/timeline/src/capabilities/GraphCapability.js index c4e5166f0e..86095b13ab 100644 --- a/platform/features/timeline/src/capabilities/GraphCapability.js +++ b/platform/features/timeline/src/capabilities/GraphCapability.js @@ -55,12 +55,14 @@ define( if (domainObject.getModel().type === 'timeline' && result.power && domainObject.getModel().capacity > 0) { + domainObject.getModel().startingSOC = + parseFloat(domainObject.getModel().startingSOC) || 100; result.battery = new CumulativeGraph( result.power, 0, domainObject.getModel().capacity, // Watts - domainObject.getModel().startingSOC, + (domainObject.getModel().startingSOC/100)*domainObject.getModel().capacity, 1 / 3600000 // millis-to-hour (since units are watt-hours) ); }