{
  "type": "SCRIPT",
  "name": "Water Consumption Hourly",
  "debugSettings": {
    "failuresEnabled": true,
    "allEnabled": false,
    "allEnabledUntil": 1776323034956
  },
  "configurationVersion": 0,
  "configuration": {
    "type": "SCRIPT",
    "arguments": {
      "waterConsumption": {
        "refEntityKey": {
          "key": "waterConsumption",
          "type": "TS_ROLLING"
        },
        "limit": 2,
        "timeWindow": 900000
      }
    },
    "expression": "var previousItem = null;\nvar currentItem = null;\n\nforeach(item: ctx.args.waterConsumption.values) {\n    previousItem = currentItem;\n    currentItem = item;\n}\n\nif (currentItem == null) {\n    return {};\n}\n\nvar waterConsumptionHourly = 0;\n\nif (previousItem != null) {\n    waterConsumptionHourly = currentItem.value - previousItem.value;\n\n    if (waterConsumptionHourly < 0) {\n        waterConsumptionHourly = 0;\n    }\n}\n\nwaterConsumptionHourly = toFixed(waterConsumptionHourly, 2);\n\nreturn {\n    ts: currentItem.ts,\n    values: {\n        waterConsumptionHourly: waterConsumptionHourly\n    }\n};",
    "output": {
      "type": "TIME_SERIES",
      "strategy": {
        "type": "IMMEDIATE",
        "ttl": 0,
        "saveTimeSeries": true,
        "saveLatest": true,
        "sendWsUpdate": true,
        "processCfs": true
      }
    }
  },
  "additionalInfo": {}
}