# Register mapping

{% hint style="info" %}
Minimal P1 Modbus Dongle firmware version for using with the Teltonika TeltoCharge = 1.2.1
{% endhint %}

Update instruction: [update](https://docs.smart-stuff.nl/p1-modbus-dongle/update)

### Default settings

The default settings are:

* Modbus device id: `43`
* RS485: `8E1 38400 bps`
* P1: `115200 8N1` for SMR v4 / v5 smart meters
* Older Dutch SMR v2 / v3 meters need external power and FC06 register `6` should be set to `1`

### General information

The P1 Modbus Dongle supports multiple register mappings.

There is:

* a native default P1 mapping
* a compact float-based mapping
* several meter emulations for integrations that expect a specific Modbus register layout

General notes:

* The mappings below are based on the current firmware implementation.
* Only registers that are actually implemented in code are documented.
* Depending on the selected mapping, registers are returned as `uint16`, `uint32`, `int16`, `int32` or `float32`.
* Signed values are transferred as raw Modbus register data. Negative values therefore use two's complement representation.
* Some emulation mappings intentionally expose only the subset of registers required by a specific inverter, charger or EMS integration.

### Available mappings

#### Native mappings

* Default P1 mapping
* Default float mapping

#### Meter emulations

* SDM630 emulation
* EM330 / EM340 emulation
* DTSU666 emulation
* ABB B21 emulation
* Inepro / KLEFR 6924 emulation
* Schneider Charge Pro emulation

### Choosing a mapping

* Use the default mapping when you want direct access to the native P1 values from the dongle.
* Use the float mapping when your Modbus client works better with engineering values as `float32`.
* Use one of the emulation mappings when your integration expects the register layout of a specific power meter.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.smart-stuff.nl/p1-modbus-dongle/quick-start/register-mapping.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
