verified connector library

Kohler Decision-Maker genset controller

Register map(s) for this device, each at the trust rung it earned. Addresses are 0-based as on the wire; word order and scaling are only confirmed at the hardware-verified rung.

interop-verified

Read + decoded cleanly over a real network vs an independent third-party Modbus test server (transport and framing; reads are remapped into the server's register window, so the map's own addresses are NOT exercised). Does NOT prove word order/scaling against the actual device.

pointaddress (0-based)typescaleunit
l1_l2_voltage0U161
l2_l3_voltage1U161
l3_l1_voltage2U161
l1_l0_voltage3U161
l2_l0_voltage4U161
l3_l0_voltage5U161
l1_current6U161
l2_current7U161
l3_current8U161
frequency9U160.01
total_kw10U161
percent_of_rated_kw11U161
total_power_factor12I160.01
l1_kw13U161
l1_power_factor14I160.01
l2_kw15U161
l2_power_factor16I160.01
l3_kw17U161
l3_power_factor18I160.01
total_kvar19I161
l1_kvar20I161
l2_kvar21I161
l3_kvar22I161
total_kva23U161
l1_kva24U161
l2_kva25U161
l3_kva26U161
oil_pressure32U161
coolant_temperature33I161
engine_speed34U161
local_battery_voltage35U160.1

link settings as documented (unverified): RTU/TCP; default 19200 8N1; unit ID 1; FC 03,06,16; Supports Modbus RTU and TCP protocols depending on the controller model and connection interface.

⚠ Accidental starting can cause severe injury or death. Disconnect battery cables before working on the generator set. — Starkest reads only; we never write a control register.

bench facts as documented (unverified)
terminalsTB10 on APM802, TB5 on Decision-Maker 3+, TB1 on Decision-Maker 340, P20/P19/P18 on Decision-Maker 550, P21 on APM402/DM3000, TB12 on DM3500, TB1 on MPAC 1000, TB2 on MPAC 1500
A/B polarityPositive (+) connects to A terminal, negative (-) connects to B terminal.
termination120 Ohm resistor is located on the base module (APM802) or external 121 Ohm resistor on last device in network.
connectorRJ45 for Ethernet, terminal blocks for RS-485.
isolationSupports both isolated and non-isolated RS-485 connections depending on port used.
shield/groundShield wire should be taped to insulate unused end or connected to shield terminal.
max registers/read100
sentinel values0xFFC0 for unsupported register, 0x7FE0-0x7FFF for unknown signed values, 0xFFE0-0xFFFF for unknown unsigned values.
model register401400
serial register401421
firmware register401002
identification notesRegister 49999 (or 409999) contains the Device ID.
power12 or 24 VDC battery voltage for controllers; 240 VAC/60 Hz power supply connections for APM802 control panel heater.
certificationsMarine third-party approval option (Lloyd's option) supported on select models.
doc revisionTP-6113 12/21p

generated by gemini:gemini-3.5-flash · harvested from https://resources.kohler.com/power/kohler/industrial/pdf/tp6113.pdf (Kohler); manual-faithful — the document's claims, panel risk: LOW — panel concurs, no field disagreements; proved interop-verified on 2026-06-10 · recorded 2026-06-10

The trust ladder

Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.

Have a device that isn't here? Upload its register map — generation is free, and the connector earns its rung by being proven, not claimed.

Need it proven on your own device? Hardware verification — if it doesn't verify, you don't pay.

Building a platform? License the verified library — machine-readable maps, firmware matrix, API access.