{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "JXCT",
  "model": "JXBS-3001-NPK-RS",
  "models": ["JXBS-3001-NPK-RS"],
  "vendor_website": "jxct-iot.com",
  "description": "7-in-1 soil sensor — moisture, temperature, conductivity, pH, nitrogen, phosphorus, potassium (holding registers, integer types).",
  "revision": 2,
  "source": "Omni Console device library (OmniCoreST), modbus-library/jxct-jxbs-3001-npk-rs.toml; Source: jxct-jxbs-3001-soil-7in1-npk-rs485-modbus.pdf. Not verified against the manufacturer's documentation",
  "notes": [
    "JXCT JXBS-3001-NPK-RS.",
    "Converted automatically from the Omni Console device library (OmniCoreST).",
    "Not verified against the manufacturer's documentation.",
    "Corrections are welcome (CONTRIBUTING.md). Change x_status once this table has been checked against the manual.",
    "| JXCT JXBS-3001-NPK-RS 7-in-1 Soil Sensor — Modbus register map for Omni Console",
    "|",
    "| Source: jxct-jxbs-3001-soil-7in1-npk-rs485-modbus.pdf",
    "| - 7-in-1 soil sensor: moisture, temperature, conductivity, pH, N, P, K. RS485 Modbus RTU.",
    "| - Holding registers (FC03).",
    "| - Protocol addresses are the hex register addresses shown in the register table (0-based).",
    "| - Factory defaults: slave=1, baud=9600, 8N1."
  ],
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "unofficial",
  "x_origin": "omniconsole",
  "registers": [
    {"name": "Soil pH", "area": "holding", "address": 6, "type": "uint16", "scale": 0.01, "unit": "pH", "access": "R"},
    {"name": "Soil moisture", "area": "holding", "address": 18, "type": "uint16", "scale": 0.1, "unit": "%RH", "access": "R"},
    {"name": "Soil temperature", "area": "holding", "address": 19, "type": "int16", "scale": 0.1, "unit": "°C", "access": "R"},
    {"name": "Soil electrical conductivity", "area": "holding", "address": 21, "type": "uint16", "access": "R", "description": "unit: µs/cm"},
    {"name": "Soil nitrogen", "area": "holding", "address": 30, "type": "uint16", "access": "R", "description": "unit: mg/kg"},
    {"name": "Soil phosphorus", "area": "holding", "address": 31, "type": "uint16", "access": "R", "description": "unit: mg/kg"},
    {"name": "Soil potassium", "area": "holding", "address": 32, "type": "uint16", "access": "R", "description": "unit: mg/kg"}
  ]
}
