> 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/default-p1.md).

# Default - TeltoCharge

## Mapping behaviour

* Device Manager mapping value: `0`
* Profile: `P1M`
* 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` | `timestamp_epoch`              | —          | source\_default |
| `2` / `0x0002`          |     2 | `uint32` | `energy_delivered_tariff1_kwh` | scale 1000 | source\_default |
| `4` / `0x0004`          |     2 | `uint32` | `energy_delivered_tariff2_kwh` | scale 1000 | source\_default |
| `6` / `0x0006`          |     2 | `uint32` | `energy_returned_tariff1_kwh`  | scale 1000 | source\_default |
| `8` / `0x0008`          |     2 | `uint32` | `energy_returned_tariff2_kwh`  | scale 1000 | source\_default |
| `10` / `0x000A`         |     2 | `uint32` | `energy_delivered_total_kwh`   | scale 1000 | source\_default |
| `12` / `0x000C`         |     2 | `uint32` | `energy_returned_total_kwh`    | scale 1000 | source\_default |
| `14` / `0x000E`         |     2 | `uint32` | `power_delivered_kw`           | scale 1000 | source\_default |
| `16` / `0x0010`         |     2 | `uint32` | `power_returned_kw`            | scale 1000 | source\_default |
| `18` / `0x0012`         |     2 | `uint32` | `voltage_l1_v`                 | scale 1000 | source\_default |
| `20` / `0x0014`         |     2 | `uint32` | `voltage_l2_v`                 | scale 1000 | source\_default |
| `22` / `0x0016`         |     2 | `uint32` | `voltage_l3_v`                 | scale 1000 | source\_default |
| `24` / `0x0018`         |     2 | `uint32` | `derived_current_l1_a`         | scale 1000 | source\_default |
| `26` / `0x001A`         |     2 | `uint32` | `current_l2_a`                 | scale 1000 | source\_default |
| `28` / `0x001C`         |     2 | `uint32` | `derived_current_l3_a`         | scale 1000 | source\_default |
| `30` / `0x001E`         |     2 | `uint32` | `gas_timestamp_epoch`          | —          | source\_default |
| `32` / `0x0020`         |     2 | `uint32` | `gas_delivered_m3`             | scale 1000 | source\_default |
| `34` / `0x0022`         |     2 | `uint32` | `water_timestamp_epoch`        | —          | source\_default |
| `36` / `0x0024`         |     2 | `uint32` | `water_delivered_m3`           | scale 1000 | source\_default |
| `38` / `0x0026`         |     2 | `uint32` | `power_delivered_l1_kw`        | scale 1000 | source\_default |
| `40` / `0x0028`         |     2 | `uint32` | `power_delivered_l2_kw`        | scale 1000 | source\_default |
| `42` / `0x002A`         |     2 | `uint32` | `power_delivered_l3_kw`        | scale 1000 | source\_default |
| `44` / `0x002C`         |     2 | `uint32` | `power_returned_l1_kw`         | scale 1000 | source\_default |
| `46` / `0x002E`         |     2 | `uint32` | `power_returned_l2_kw`         | scale 1000 | source\_default |
| `48` / `0x0030`         |     2 | `uint32` | `power_returned_l3_kw`         | scale 1000 | source\_default |
| `50` / `0x0032`         |     2 | `uint32` | `electricity_tariff`           | —          | source\_default |
| `52` / `0x0034`         |     2 | `uint32` | `peak_pwr_last_q_kw`           | scale 1000 | source\_default |
| `54` / `0x0036`         |     2 | `int32`  | `net_power_l1_kw`              | scale 1000 | source\_default |
| `56` / `0x0038`         |     2 | `int32`  | `net_power_l2_kw`              | scale 1000 | source\_default |
| `58` / `0x003A`         |     2 | `int32`  | `net_power_l3_kw`              | scale 1000 | source\_default |
| `60` / `0x003C`         |     2 | `int32`  | `net_power_total_kw`           | scale 1000 | source\_default |
| `100` / `0x0064`        |     2 | `uint32` | `dev_id`                       | —          | source\_default |
| `102` / `0x0066`        |     2 | `uint32` | `serial_config_offset`         | —          | source\_default |
| `104` / `0x0068`        |     2 | `uint32` | `baudrate`                     | —          | source\_default |
| `106` / `0x006A`        |     2 | `uint32` | `pre40`                        | —          | source\_default |
| `108` / `0x006C`        |     2 | `uint32` | `firmware_version_packed`      | —          | source\_default |
| `110` / `0x006E`        |     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.
