{
 "manufacturer": "Neptronic",
 "manufacturer_slug": "neptronic",
 "model": "SKRO",
 "model_slug": "skro",
 "aliases": [
  "SKRO reverse osmosis",
  "SKRO BACnet"
 ],
 "equipment_type": "Reverse osmosis water treatment unit",
 "applies_to": "Neptronic SKRO reverse osmosis water treatment units feeding humidifiers.",
 "summary": "The SKRO produces purified water for humidifiers. Its controller offers BACnet MS/TP and BACnet IP, mostly for monitoring: state, system alarm, pressures and conductivity, valves and motor, service counters, plus a request object and email notification settings.",
 "bacnet_transport": [
  "BACnet MS/TP",
  "BACnet IP"
 ],
 "firmware": null,
 "default_device_instance": "153000 + MAC address (153001 by default)",
 "access_inferred": false,
 "notes": [
  "Objects and their writable properties are taken from the guide's 'W?' column; Present_Value writable means the BMS can change it."
 ],
 "source": {
  "title": "SKRO Reverse Osmosis Water Treatment Unit BACnet Communication Module User Guide",
  "doc_number": "SKRO-BACnet Guide-250913 (V1.0)",
  "revision_date": "2025-09-13",
  "url": "https://www.neptronic.com/Humidifiers/PDF/2025/SKRO-BACnet%20Guide-250913%20(V1.0).pdf"
 },
 "integration": {
  "summary": "Mostly a monitoring integration: read the SKRO state (MSV 141), system alarm (MSV 142), interlock and network timeout status. Few control writes are exposed; most objects are read-only in this guide.",
  "minimum_points": [
   {
    "ref": "MV 5",
    "name": "System Power State",
    "why": "System on (1) or off (0)"
   },
   {
    "ref": "MV 141",
    "name": "State",
    "why": "Operating state"
   },
   {
    "ref": "BV 19",
    "name": "Interlock",
    "why": "Interlock open (1) or closed (0)"
   },
   {
    "ref": "MV 142",
    "name": "System Alarm",
    "why": "Active alarm (0 = Normal)"
   },
   {
    "ref": "BV 68",
    "name": "Network Timeout Failsafe",
    "why": "1 = BACnet network timeout active"
   }
  ],
  "enable": null,
  "heartbeat": "The guide lists BV 71 BACnet Network Timeout (Off/On) and BV 68 Network Timeout Failsafe (0 = Ok, 1 = Timeout) but does not describe the timeout length or the resulting action.",
  "remote_sensors": null,
  "setup": [
   "MS/TP MAC defaults to 1 (000-254; 128-254 are non-token-passing slaves); baud rate auto-detects (Auto, 9600, 19200, 38400, 76800); Max_Master 127.",
   "Device instance defaults to 153000 + MAC (153001 out of the box) and can be changed from the menu or by writing Device Object_Identifier.",
   "BACnet IP uses UDP 47808 (0xBAC0) by default.",
   "Network/communication settings are in the controller's Integration menu (password 5544); power-cycle after connecting to the network.",
   "Reinitialize Device (warm/cold reset) over BACnet uses the password 'nep'."
  ],
  "gotchas": [
   "MSV 'BACnet Server List Mode' chooses which objects are published (Integrator, Advanced, Factory); objects marked Advanced in the guide, such as the program objects, only show in Advanced mode.",
   "Writing Out_of_Service = True disconnects an object from its physical input so the Present_Value can be overwritten; remember to set it back.",
   "The unit signals alarms through object values only; it does not send BACnet event notifications, so poll or use COV."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Inlet Signal",
   "description": "Reading value at the inlet of the signal",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Permeate Signal",
   "description": "Reading value of the permeate line signal",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Concentrate Signal",
   "description": "Reading value of the concentrate line signal",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Permeate Pulse",
   "description": "Raw pulse value of the flow meter for permeate",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Concentrate Pulse",
   "description": "Raw pulse value of the flow meter for concentrate",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "MCU Load",
   "description": "Current microcontroller load",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Memory Load",
   "description": "Current memory load",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "Inlet Pressure",
   "description": "Pressure at the inlet of the unit",
   "units": "psi",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "Permeate Pressure",
   "description": "Pressure of the permeate tank",
   "units": "psi",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "Concentrate Pressure",
   "description": "Osmotic pressure on the concentrate side",
   "units": "psi",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 73,
   "name": "TDS Sensor",
   "description": "Value read by the TDS sensor",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 150,
   "name": "Runtime",
   "description": "Actual run time since the last power up in seconds",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 151,
   "name": "HALTicks",
   "description": "Number of Hardware ticks",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 158,
   "name": "Modbus TCP IP Keep Alive Time Out",
   "description": "Amount of time the Modbus communication stays open before connection is cut...",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 399,
   "name": "Run Time",
   "description": "Total run time of the unit",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 400,
   "name": "On Time",
   "description": "Total operating time of the unit",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 401,
   "name": "Regulator Pressure",
   "description": "Parameter of the pressure of the regulator",
   "units": "psi",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 402,
   "name": "Pump On Fast Flush Delay",
   "description": "Delay after which the pump is turned on during fast flush routine",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 442,
   "name": "Idle Drain Time",
   "description": "Drain time interval",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 443,
   "name": "Damaged Membrane Delay",
   "description": "Time delay before the damaged membranes alarm is activated",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 444,
   "name": "Permeate Flow",
   "description": "Flow of the permeate water in liter per minute",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 445,
   "name": "Concentrate Flow",
   "description": "Flow of the concentrate water in liter per minute",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "BO",
   "instance": 1,
   "name": "Motor",
   "description": "Status of the motor",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BO",
   "instance": 2,
   "name": "Inlet Valve",
   "description": "Status of the inlet valve",
   "units": "",
   "access": "R",
   "states": "0=Closed, 1=Open"
  },
  {
   "type": "BO",
   "instance": 3,
   "name": "Fast Flush Valve",
   "description": "Status of the fast flush (drain) valve",
   "units": "",
   "access": "R",
   "states": "0=Closed, 1=Open"
  },
  {
   "type": "BO",
   "instance": 5,
   "name": "Alarm",
   "description": "Status of the alarm contact",
   "units": "",
   "access": "C",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BO",
   "instance": 6,
   "name": "Work Signal",
   "description": "Status of the work signal contact",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BO",
   "instance": 10,
   "name": "Alarm LED",
   "description": "Status of the alarm LED",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BO",
   "instance": 11,
   "name": "Power LED",
   "description": "Status of the power LED",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "High Level Float",
   "description": "High level float sensor",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "Low Level Float",
   "description": "Low level float sensor",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "Alarm Level Float",
   "description": "Alarm level float sensor",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "Interlock",
   "description": "Status of the interlock",
   "units": "",
   "access": "R",
   "states": "0=Closed, 1=Open"
  },
  {
   "type": "BV",
   "instance": 26,
   "name": "Ethernet enable",
   "description": "Whether the Ethernet interface is enabled or not",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 53,
   "name": "AI8 Polarity",
   "description": "Polarity of the analog input",
   "units": "",
   "access": "C",
   "states": "0=Direct, 1=Reverse"
  },
  {
   "type": "BV",
   "instance": 58,
   "name": "SMTP SSL",
   "description": "Use a secure socket layer encrypt the communication between the device and...",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 59,
   "name": "SMTP Port",
   "description": "Port number to be used for email transfer",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 60,
   "name": "Notify Alarm",
   "description": "Get notified of all alarm messages by email",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 61,
   "name": "Notify Warning",
   "description": "Get notified of all warning messages by email",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 62,
   "name": "Notify App Msg",
   "description": "Get notified of all event messages by email",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 68,
   "name": "Network Timeout Failsafe",
   "description": "Network timeout fail-safe state",
   "units": "",
   "access": "W",
   "states": "0=Ok, 1=Timeout"
  },
  {
   "type": "BV",
   "instance": 71,
   "name": "BACnet Network Timeout",
   "description": "BACnet Network Timeout value",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 113,
   "name": "Memory Status",
   "description": "Memory status",
   "units": "",
   "access": "R",
   "states": "0=Ok, 1=Fail"
  },
  {
   "type": "BV",
   "instance": 116,
   "name": "Inlet Low Pressure Warning",
   "description": "Alarm to indicate that the pressure is insufficient at the inlet to...",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 117,
   "name": "Fast Flush Blocked Warning",
   "description": "Warning to indicate that the fast flush valve has failed to close",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 118,
   "name": "Inlet Valve Open Warning",
   "description": "Warning to indicate that the inlet valve has failed to open",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 119,
   "name": "Insufficient Osmosis Warning",
   "description": "Warning to indicate that the water is not being replenished in the...",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 120,
   "name": "Clogged Membrane Service Warning",
   "description": "Warning to indicate that the water in the tank is falling to...",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 121,
   "name": "TDS Sensor Fail Warning",
   "description": "Warning to indicate that the TDS sensor is not working",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 122,
   "name": "Over Usage Warning",
   "description": "Warning to indicate that the purifying state has been active for more...",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 140,
   "name": "RO Tank Profile",
   "description": "Status of the RO tank profile",
   "units": "",
   "access": "W",
   "states": "0=Atmospheric, 1=Pressurized"
  },
  {
   "type": "CSV",
   "instance": 20,
   "name": "SMTP Server IP Address",
   "description": "Server IP address for the email account",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 21,
   "name": "SMTP Mail From",
   "description": "Email address that will be sending the SKRO notification messages",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 22,
   "name": "SMTP Mail To",
   "description": "Email address that will be receiving the SKRO notification messages",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 23,
   "name": "SMTP Username",
   "description": "Login username for the email account",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 25,
   "name": "SMTP Password",
   "description": "Login password for the email account",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 35,
   "name": "EthernetMacAdd",
   "description": "MAC address of the Ethernet interface",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 75,
   "name": "Database Version",
   "description": "Database version",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "System Power State",
   "description": "Whether the system is powered on or off",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "System Log Verbose Level",
   "description": "Type of information to be stored on the log file",
   "units": "",
   "access": "W",
   "states": "0=None, 1=Emergency, 2=Alert, 3=Critical, 4=Error, 5=Warning, 6=Notice, 7=Info, 8=Debug"
  },
  {
   "type": "MV",
   "instance": 8,
   "name": "BACnet Server Language",
   "description": "BACnet server language",
   "units": "",
   "access": "R",
   "states": "1=English"
  },
  {
   "type": "MV",
   "instance": 9,
   "name": "BACnet Server List Mode",
   "description": "Category of BACnet objects to display",
   "units": "",
   "access": "R",
   "states": "1=Integrator, 2=Advanced, 3=Factory"
  },
  {
   "type": "MV",
   "instance": 10,
   "name": "BACnet Server Units",
   "description": "Display units for the BACnet server",
   "units": "",
   "access": "R",
   "states": "1=Metric, 2=Imperial"
  },
  {
   "type": "MV",
   "instance": 139,
   "name": "Update Process Status",
   "description": "Process status",
   "units": "",
   "access": "R",
   "states": "0=Ok, 1=CRC, 2=Device, 3=Failed"
  },
  {
   "type": "MV",
   "instance": 140,
   "name": "Request",
   "description": "Request for the SKRO",
   "units": "",
   "access": "R",
   "states": "0=None, 1=ResetAlarms, 2=FastFlush, 3=ResetService"
  },
  {
   "type": "MV",
   "instance": 141,
   "name": "State",
   "description": "State of the operation of the SKRO",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=Idle, 2=Purifying, 3=FastFlush, 4=Alarm"
  },
  {
   "type": "MV",
   "instance": 142,
   "name": "System Alarm",
   "description": "Set the system alarms",
   "units": "",
   "access": "R",
   "states": "0=Normal, 1=InHiPress, 2=DmgMembrane, 3=BlocMembrane, 4=ConcOpen, 5=LoPumpPress, 6=InletClog, 7=PressReg, 8=NoPureWater, 9=TankClosed, 10=FloatOff, 11=InletSensor, 12=PermeatSensor, 13=ConcentSensor"
  },
  {
   "type": "Other",
   "instance": 1,
   "name": "NSDF Core Program",
   "description": "NSDF Core Program",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 2,
   "name": "Module 1",
   "description": "Module 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 3,
   "name": "Module 2",
   "description": "Module 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 4,
   "name": "Module 3",
   "description": "Module 3",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 5,
   "name": "Module 4",
   "description": "Module 4",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 6,
   "name": "Module 5",
   "description": "Module 5",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 7,
   "name": "Module 6",
   "description": "Module 6",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 8,
   "name": "Module 7",
   "description": "Module 7",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 9,
   "name": "Module 8",
   "description": "Module 8",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 10,
   "name": "Module 9",
   "description": "Module 9",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 11,
   "name": "Module 10",
   "description": "Module 10",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 12,
   "name": "Module 11",
   "description": "Module 11",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 13,
   "name": "Module 12",
   "description": "Module 12",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 14,
   "name": "Module 13",
   "description": "Module 13",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "Other",
   "instance": 15,
   "name": "NSDF Database",
   "description": "NSDF Database",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "FILE",
   "instance": 2,
   "name": "UpdatePackageFile",
   "description": "Update Package file",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "FILE",
   "instance": 4,
   "name": "SysLogAlarm",
   "description": "System Log Alarm",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "FILE",
   "instance": 5,
   "name": "USB System Log File",
   "description": "USB System Log file",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "FILE",
   "instance": 6,
   "name": "USB System Alarm Log File",
   "description": "USB System Alarm Log file",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "FILE",
   "instance": 16,
   "name": "System Log File",
   "description": "System Log file",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/neptronic/skro",
 "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"
}
