> For the complete documentation index, see [llms.txt](https://docs.smart-stuff.nl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.smart-stuff.nl/p1-modbus-dongle/firmware-v2-current/register-mapping/klefr-inepro.md).

# KLEFR / Inepro

## Mapping behaviour

* Device Manager mapping value: `8`
* Profile: `KLEFR`
* Read function codes: `FC03` and `FC04`
* Register widths: 32-bit entries unless a text/fill range is shown
* 32-bit word order: high word first (MSW-LSW)
* Unmapped register handling: Modbus exception

{% hint style="info" %}
Device ID, baud rate and serial format are global firmware v2 settings. They are not changed when this mapping is selected.
{% endhint %}

## Register overview

| Address (decimal / hex) | Words | Type      | Source or fixed value          | Conversion | Missing         |
| ----------------------- | ----: | --------- | ------------------------------ | ---------- | --------------- |
| `0` / `0x0000`          |     2 | `uint32`  | `constant 18010365`            | —          | source\_default |
| `5` / `0x0005`          |     2 | `float32` | `constant 1.18f`               | —          | —               |
| `7` / `0x0007`          |     2 | `float32` | `constant 18.0f`               | —          | —               |
| `9` / `0x0009`          |     2 | `float32` | `constant 1.0f`                | —          | —               |
| `4096` / `0x1000`       |     2 | `float32` | `unavailable_float`            | —          | source\_default |
| `4098` / `0x1002`       |     2 | `float32` | `voltage_l1_v`                 | —          | source\_default |
| `4100` / `0x1004`       |     2 | `float32` | `voltage_l2_v`                 | —          | source\_default |
| `4102` / `0x1006`       |     2 | `float32` | `voltage_l3_v`                 | —          | source\_default |
| `4104` / `0x1008`       |     2 | `float32` | `constant 50.0f`               | —          | —               |
| `4106` / `0x100A`       |     2 | `float32` | `unavailable_float`            | —          | source\_default |
| `4108` / `0x100C`       |     2 | `float32` | `derived_current_l1_a`         | —          | source\_default |
| `4110` / `0x100E`       |     2 | `float32` | `current_l2_a`                 | —          | source\_default |
| `4112` / `0x1010`       |     2 | `float32` | `derived_current_l3_a`         | —          | source\_default |
| `4114` / `0x1012`       |     2 | `float32` | `net_power_total_kw`           | —          | source\_default |
| `4116` / `0x1014`       |     2 | `float32` | `net_power_l1_kw`              | —          | source\_default |
| `4118` / `0x1016`       |     2 | `float32` | `net_power_l2_kw`              | —          | source\_default |
| `4120` / `0x1018`       |     2 | `float32` | `net_power_l3_kw`              | —          | source\_default |
| `4122` / `0x101A`       |     2 | `float32` | `constant 0.0f`                | —          | —               |
| `4124` / `0x101C`       |     2 | `float32` | `constant 0.0f`                | —          | —               |
| `4126` / `0x101E`       |     2 | `float32` | `constant 0.0f`                | —          | —               |
| `4128` / `0x1020`       |     2 | `float32` | `constant 0.0f`                | —          | —               |
| `4130` / `0x1022`       |     2 | `float32` | `net_power_total_kw`           | —          | source\_default |
| `4132` / `0x1024`       |     2 | `float32` | `net_power_l1_kw`              | —          | source\_default |
| `4134` / `0x1026`       |     2 | `float32` | `net_power_l2_kw`              | —          | source\_default |
| `4136` / `0x1028`       |     2 | `float32` | `net_power_l3_kw`              | —          | source\_default |
| `4138` / `0x102A`       |     2 | `float32` | `direction_total`              | —          | source\_default |
| `4140` / `0x102C`       |     2 | `float32` | `direction_l1`                 | —          | source\_default |
| `4142` / `0x102E`       |     2 | `float32` | `direction_l2_or_zero`         | —          | source\_default |
| `4144` / `0x1030`       |     2 | `float32` | `direction_l3_or_zero`         | —          | source\_default |
| `8192` / `0x2000`       |     2 | `float32` | `energy_net_total_kwh`         | —          | source\_default |
| `8194` / `0x2002`       |     2 | `float32` | `energy_net_tariff1_kwh`       | —          | source\_default |
| `8196` / `0x2004`       |     2 | `float32` | `energy_net_tariff2_kwh`       | —          | source\_default |
| `8198` / `0x2006`       |     2 | `float32` | `energy_net_avg_kwh`           | —          | source\_default |
| `8200` / `0x2008`       |     2 | `float32` | `energy_net_avg_kwh`           | —          | source\_default |
| `8202` / `0x200A`       |     2 | `float32` | `energy_net_avg_kwh`           | —          | source\_default |
| `8204` / `0x200C`       |     2 | `float32` | `energy_delivered_total_kwh`   | —          | source\_default |
| `8206` / `0x200E`       |     2 | `float32` | `energy_delivered_tariff1_kwh` | —          | source\_default |
| `8208` / `0x2010`       |     2 | `float32` | `energy_delivered_tariff2_kwh` | —          | source\_default |
| `8210` / `0x2012`       |     2 | `float32` | `energy_delivered_avg_kwh`     | —          | source\_default |
| `8212` / `0x2014`       |     2 | `float32` | `energy_delivered_avg_kwh`     | —          | source\_default |
| `8214` / `0x2016`       |     2 | `float32` | `energy_delivered_avg_kwh`     | —          | source\_default |
| `8216` / `0x2018`       |     2 | `float32` | `energy_returned_total_kwh`    | —          | source\_default |
| `8218` / `0x201A`       |     2 | `float32` | `energy_returned_tariff1_kwh`  | —          | source\_default |
| `8220` / `0x201C`       |     2 | `float32` | `energy_returned_tariff2_kwh`  | —          | source\_default |
| `8222` / `0x201E`       |     2 | `float32` | `energy_returned_avg_kwh`      | —          | source\_default |
| `8224` / `0x2020`       |     2 | `float32` | `energy_returned_avg_kwh`      | —          | source\_default |
| `8226` / `0x2022`       |     2 | `float32` | `energy_returned_avg_kwh`      | —          | source\_default |
| `400` / `0x0190`        |     2 | `uint32`  | `dev_id`                       | —          | source\_default |
| `402` / `0x0192`        |     2 | `uint32`  | `serial_config_offset`         | —          | source\_default |
| `404` / `0x0194`        |     2 | `uint32`  | `baudrate`                     | —          | source\_default |
| `406` / `0x0196`        |     2 | `uint32`  | `pre40`                        | —          | source\_default |
| `408` / `0x0198`        |     2 | `uint32`  | `firmware_version_packed`      | —          | source\_default |
| `410` / `0x019A`        |     2 | `uint32`  | `p1_device_magic`              | —          | source\_default |

## Reading the table

* **Words** is the number of consecutive 16-bit Modbus registers occupied by the entry.
* **Source** names correspond directly to the firmware v2 recipe source.
* **Conversion** records the exact scale, transform or direction handling configured by the recipe.
* This page is generated from `mb_recipe.h` and `modbus_profiles.h` for firmware 2.3.0.
