{
 "manufacturer": "Grundfos",
 "manufacturer_slug": "grundfos",
 "model": "Level Control LC 2X1 (CIM 300 / CIM 500)",
 "model_slug": "lc-2x1-level-control",
 "aliases": [
  "LC 2X1",
  "LC2X1",
  "Grundfos LC 2X1",
  "Level Control LC 2X1",
  "CIM 300",
  "CIM 500",
  "CIU 300",
  "CIU 500"
 ],
 "equipment_type": "Wastewater pump level controller",
 "applies_to": "Grundfos Level Control LC 2X1 controllers for one- or two-pump wastewater pits, fitted with a CIM 300 (BACnet MS/TP) or CIM 500 (BACnet IP) module.",
 "summary": "The LC 2X1 controls up to two wastewater pumps from a level sensor or float switches. With a CIM 300 or CIM 500 module it exposes a fixed object list: pit level, energy and run-time counters, per-pump status inputs, a block of 16 user digital inputs, writable level setpoints in centimetres and a multistate Auto/Forced start/Forced stop command per pump.",
 "bacnet_transport": [
  "BACnet MS/TP",
  "BACnet IP"
 ],
 "firmware": "CIM 300 V04.20.00 / CIM 500 V06.16 (as stated in the PICS)",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Object list from section 4.3 of the PICS (pages 20-23). It has no MI 2 and jumps from AI 29 to AI 39.",
  "The same object table is printed in the CIM 500 PICS (98690071, https://api.grundfos.com/literature/Grundfosliterature-6226722.pdf); CIM 300 gives BACnet MS/TP and CIM 500 BACnet IP.",
  "AI 39 bits 0-4 are warnings 1-5 and bits 8-12 alarms 1-5. AI 40 flags fitted sensors: bit 0 flow, 1 power/energy, 2-6 AI sensors 1-5, 7 turbidity, 8 pH, 9 conductivity, 10 pulse flow meter, 11 pressure, 12 level."
 ],
 "integration": {
  "summary": "Read the operating state (MI 0), pit level (AI 6) and the per-pump running and alarm inputs, and use MO 0/MO 1 to put each pump in Auto, Forced start or Forced stop. Alarms are reset with BO 0. The start, stop, high and dry-running levels can be written in centimetres through AO 0-4.",
  "minimum_points": [
   {
    "ref": "MO 0",
    "name": "Control Pump 1",
    "why": "Pump 1: 1 = Auto, 2 = Forced start, 3 = Forced stop"
   },
   {
    "ref": "MO 1",
    "name": "Control Pump 2",
    "why": "Pump 2: 1 = Auto, 2 = Forced start, 3 = Forced stop"
   },
   {
    "ref": "BO 0",
    "name": "Reset alarms",
    "why": "Alarm reset (1 = reset)"
   },
   {
    "ref": "MI 0",
    "name": "System Operating Mode",
    "why": "Operating state: standby, pumping, alarm states..."
   },
   {
    "ref": "AI 6",
    "name": "Pit water level",
    "why": "Pit level in cm"
   },
   {
    "ref": "BI 8",
    "name": "Pump1Running",
    "why": "Pump 1 running status"
   },
   {
    "ref": "BI 9",
    "name": "Pump2Running",
    "why": "Pump 2 running status"
   },
   {
    "ref": "BI 12",
    "name": "Pump1Alarm",
    "why": "Pump 1 alarm"
   },
   {
    "ref": "BI 13",
    "name": "Pump2Alarm",
    "why": "Pump 2 alarm"
   },
   {
    "ref": "AI 0",
    "name": "Fault code",
    "why": "Active Grundfos fault code"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "CIM 300 is a BACnet MS/TP master at 9600, 19200, 38400 or 76800 baud; CIM 500 uses BACnet IP (Annex J).",
   "AV 0 lets the BMS set a custom device instance (0-0x3FFFFE).",
   "The CIM module fits inside the controller or in an external CIU box; the object list is the same either way.",
   "The PICS states that segmentation is not supported."
  ],
  "gotchas": [
   "The level setpoints AO 0-4 are stored settings; write them only when they change, not cyclically.",
   "Pump 2 has a start-level object (AO 4) but no stop-level object in this table.",
   "AI 0/AI 1 are Grundfos fault and warning codes; decode them with the LC manual."
  ]
 },
 "source": {
  "title": "BACnet PICS CIM 300 - Supplement (pumps, booster systems, Level Control LC 2X1 and LC 2X2)",
  "doc_number": "97750025",
  "revision_date": "05.2021",
  "url": "https://api.grundfos.com/literature/Grundfosliterature-6013137.pdf"
 },
 "points": [
  {
   "type": "AV",
   "instance": 0,
   "name": "Custom device object instance number",
   "description": "Custom device instance number (0-0x3FFFFE)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Product time and date",
   "description": "Controller clock, UNIX time",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 0,
   "name": "Reset alarms",
   "description": "Resets alarms (1 = reset)",
   "units": "",
   "access": "W",
   "states": "0=No resetting, 1=Resetting alarms"
  },
  {
   "type": "MO",
   "instance": 0,
   "name": "Control Pump 1",
   "description": "Pump 1 command: auto, forced start or forced stop",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Forced Start, 3=Forced Stop"
  },
  {
   "type": "MO",
   "instance": 1,
   "name": "Control Pump 2",
   "description": "Pump 2 command: auto, forced start or forced stop",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Forced Start, 3=Forced Stop"
  },
  {
   "type": "AO",
   "instance": 0,
   "name": "SetHighLevel",
   "description": "Set high level",
   "units": "cm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "SetDryRunningLevel",
   "description": "Set dry running level",
   "units": "cm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 2,
   "name": "SetStartLevelPump1",
   "description": "Set start level for pump 1",
   "units": "cm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 3,
   "name": "SetStopLevelPump1",
   "description": "Set stop level for pump 1",
   "units": "cm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 4,
   "name": "SetStartLevelPump2",
   "description": "Set start level for pump 2",
   "units": "cm",
   "access": "W",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 0,
   "name": "System Operating Mode",
   "description": "Present operating state of the level controller",
   "units": "",
   "access": "R",
   "states": "0=Standby, 1=Start-up delay, 2=Pumping, 3=Stop delay, 4=Pumping max, 5=Stopped, 6=Foam draining, 7=Daily emptying, 8=Pump anti-seizing, 9=Manual control, 10=Interlock control, 11=Mains failure, 12=Level sensor error, 13=All pumps in alarm, 14=All pumps out of operation, 15=Service mode, alarms suppressed"
  },
  {
   "type": "MI",
   "instance": 1,
   "name": "CIM status",
   "description": "CIM module status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=EEPROM fault, 3=Memory fault, 4=Unknown"
  },
  {
   "type": "MI",
   "instance": 3,
   "name": "System control sensor type",
   "description": "Sensor type controlling the system",
   "units": "",
   "access": "R",
   "states": "1=Analog level sensor, 2=Float switch, 3=Unknown"
  },
  {
   "type": "AI",
   "instance": 0,
   "name": "Fault code",
   "description": "Grundfos fault code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Warning code",
   "description": "Grundfos warning code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "HighLevel",
   "description": "High level",
   "units": "cm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "StartLevelPump1",
   "description": "Start level for pump 1",
   "units": "cm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "StopLevelPump1",
   "description": "Stop level for pump 1",
   "units": "cm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "StartLevelPump2",
   "description": "Start level for pump 2",
   "units": "cm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Pit water level",
   "description": "Pit water level",
   "units": "cm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Pit power consumption",
   "description": "Pit power consumption",
   "units": "W",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Pit energy consumption",
   "description": "Pit energy consumption",
   "units": "kWh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Pit running time",
   "description": "Pit running time",
   "units": "min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Analog Input 1 (AI1)",
   "description": "Analog Input 1",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Analog Input 2 (AI2)",
   "description": "Analog Input 2",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "Analog input 3 (AI3)",
   "description": "Analog Input 3",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "Pump1 time to service",
   "description": "Pump 1 time to service",
   "units": "min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "Pump2 time to service",
   "description": "Pump 2 time to service",
   "units": "min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "Pump1 start counter",
   "description": "Pump 1 start counter",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 16,
   "name": "Pump2 start counter",
   "description": "Pump 2 start counter",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "Pump1 current",
   "description": "Pump 1 current",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "Pump2 current",
   "description": "Pump 2 current",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 19,
   "name": "Pump1 operating time",
   "description": "Pump 1 overall operating time",
   "units": "min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "Pump2 operating time",
   "description": "Pump 2 overall operating time",
   "units": "min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "UserAnalogInput1",
   "description": "User-defined measurement, analog input 1",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "UserAnalogInput2",
   "description": "User-defined measurement, analog input 2",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "UserAnalogInput3",
   "description": "User-defined measurement, analog input 3",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "UserAnalogInput4",
   "description": "User-defined measurement, analog input 4",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "UserAnalogInput5",
   "description": "User-defined measurement, analog input 5",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "Latest operating time pump1",
   "description": "Pump 1 latest running time",
   "units": "min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "Latest operating time pump2",
   "description": "Pump 2 latest running time",
   "units": "min",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "Energy consumption pump1",
   "description": "Pump 1 energy consumption",
   "units": "kWh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "Energy consumption pump2",
   "description": "Pump 2 energy consumption",
   "units": "kWh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 39,
   "name": "Alarms 1-5 and warnings 1-5",
   "description": "Bit-coded: bits 0-4 warnings 1-5, bits 8-12 alarms 1-5",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 40,
   "name": "Sensor present status",
   "description": "Bit-coded sensor-present flags (bits 0-12)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 0,
   "name": "AcknowledgeAlarm",
   "description": "Alarm acknowledged",
   "units": "",
   "access": "R",
   "states": "0=Not acknowledged, 1=Acknowledged"
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "FloatSwitch1Status",
   "description": "Float switch 1 state",
   "units": "",
   "access": "R",
   "states": "0=Off (Float switch down), 1=On (Float switch up)"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "FloatSwitch2Status",
   "description": "Float switch 2 state",
   "units": "",
   "access": "R",
   "states": "0=Off (Float switch down), 1=On (Float switch up)"
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "FloatSwitch3Status",
   "description": "Float switch 3 state",
   "units": "",
   "access": "R",
   "states": "0=Off (Float switch down), 1=On (Float switch up)"
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "FloatSwitch4Status",
   "description": "Float switch 4 state",
   "units": "",
   "access": "R",
   "states": "0=Off (Float switch down), 1=On (Float switch up)"
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "FloatSwitch5Status",
   "description": "Float switch 5 state",
   "units": "",
   "access": "R",
   "states": "0=Off (Float switch down), 1=On (Float switch up)"
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Pump1Present",
   "description": "Pump 1 fitted/detected",
   "units": "",
   "access": "R",
   "states": "0=Not present, 1=Present"
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "Pump2Present",
   "description": "Pump 2 fitted/detected",
   "units": "",
   "access": "R",
   "states": "0=Not present, 1=Present"
  },
  {
   "type": "BI",
   "instance": 8,
   "name": "Pump1Running",
   "description": "Pump 1 running",
   "units": "",
   "access": "R",
   "states": "0=Not running, 1=Running"
  },
  {
   "type": "BI",
   "instance": 9,
   "name": "Pump2Running",
   "description": "Pump 2 running",
   "units": "",
   "access": "R",
   "states": "0=Not running, 1=Running"
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "Pump1CommFault",
   "description": "Pump 1 communication fault",
   "units": "",
   "access": "R",
   "states": "0=No communication fault, 1=Pump or auxiliary device communication fault"
  },
  {
   "type": "BI",
   "instance": 11,
   "name": "Pump2CommFault",
   "description": "Pump 2 communication fault",
   "units": "",
   "access": "R",
   "states": "0=No communication fault, 1=Pump or auxiliary device communication fault"
  },
  {
   "type": "BI",
   "instance": 12,
   "name": "Pump1Alarm",
   "description": "Pump 1 alarm",
   "units": "",
   "access": "R",
   "states": "0=No alarm, 1=Alarm"
  },
  {
   "type": "BI",
   "instance": 13,
   "name": "Pump2Alarm",
   "description": "Pump 2 alarm",
   "units": "",
   "access": "R",
   "states": "0=No alarm, 1=Alarm"
  },
  {
   "type": "BI",
   "instance": 14,
   "name": "Pump1Warning",
   "description": "Pump 1 warning",
   "units": "",
   "access": "R",
   "states": "0=No warning, 1=Warning"
  },
  {
   "type": "BI",
   "instance": 15,
   "name": "Pump2Warning",
   "description": "Pump 2 warning",
   "units": "",
   "access": "R",
   "states": "0=No warning, 1=Warning"
  },
  {
   "type": "BI",
   "instance": 16,
   "name": "Pump1Disabled",
   "description": "Pump 1 out of operation",
   "units": "",
   "access": "R",
   "states": "0=Enabled, 1=Disabled (Out of operation)"
  },
  {
   "type": "BI",
   "instance": 17,
   "name": "Pump2Disabled",
   "description": "Pump 2 out of operation",
   "units": "",
   "access": "R",
   "states": "0=Enabled, 1=Disabled (Out of operation)"
  },
  {
   "type": "BI",
   "instance": 18,
   "name": "UserDigitalInBlock1, DI 1",
   "description": "User digital input 1 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 19,
   "name": "UserDigitalInBlock1, DI 2",
   "description": "User digital input 2 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "UserDigitalInBlock1, DI 3",
   "description": "User digital input 3 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 21,
   "name": "UserDigitalInBlock1, DI 4",
   "description": "User digital input 4 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 22,
   "name": "UserDigitalInBlock1, DI 5",
   "description": "User digital input 5 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 23,
   "name": "UserDigitalInBlock1, DI 6",
   "description": "User digital input 6 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 24,
   "name": "UserDigitalInBlock1, DI 7",
   "description": "User digital input 7 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 25,
   "name": "UserDigitalInBlock1, DI 8",
   "description": "User digital input 8 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 26,
   "name": "UserDigitalInBlock1, DI 9",
   "description": "User digital input 9 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 27,
   "name": "UserDigitalInBlock1, DI 10",
   "description": "User digital input 10 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 28,
   "name": "UserDigitalInBlock1, DI 11",
   "description": "User digital input 11 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 29,
   "name": "UserDigitalInBlock1, DI 12",
   "description": "User digital input 12 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 30,
   "name": "UserDigitalInBlock1, DI 13",
   "description": "User digital input 13 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 31,
   "name": "UserDigitalInBlock1, DI 14",
   "description": "User digital input 14 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 32,
   "name": "UserDigitalInBlock1, DI 15",
   "description": "User digital input 15 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 33,
   "name": "UserDigitalInBlock1, DI 16",
   "description": "User digital input 16 (block 1)",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/grundfos/lc-2x1-level-control",
 "note": "Provided as-is. Point availability varies by firmware and options; verify against the live device.",
 "disclaimer": "DISCLAIMER: reference only, provided AS IS with no warranty. May contain errors or be out of date. You must verify every point against the manufacturer's current documentation and the live device before use. easybacnet.com accepts no liability for its use and is not affiliated with the manufacturer. Terms: https://easybacnet.com/terms#content"
}
