# Default P1 mapping

### Defaults

* Modbus device id: `43`
* RS485: `38400 8E1`
* Function codes: `FC03`, `FC04`, `FC06`
* Data format: all values are `uint32` in word order `4321`
* Unavailable value: `0xFFFFFFFF`

### FC03 / FC04 - P1 data

| Register | Description                   | Unit / encoding                                     |
| -------- | ----------------------------- | --------------------------------------------------- |
| 0        | energy meter sample timestamp | epoch UTC                                           |
| 2        | energy\_delivered\_tariff1    | Wh                                                  |
| 4        | energy\_delivered\_tariff2    | Wh                                                  |
| 6        | energy\_returned\_tariff1     | Wh                                                  |
| 8        | energy\_returned\_tariff2     | Wh                                                  |
| 10       | energy\_delivered\_total      | Wh                                                  |
| 12       | energy\_returned\_total       | Wh                                                  |
| 14       | power\_delivered              | W                                                   |
| 16       | power\_returned               | W                                                   |
| 18       | U1                            | mV                                                  |
| 20       | U2                            | mV                                                  |
| 22       | U3                            | mV                                                  |
| 24       | I1                            | mA                                                  |
| 26       | I2                            | mA                                                  |
| 28       | I3                            | mA                                                  |
| 30       | gas timestamp                 | epoch UTC                                           |
| 32       | gas delivered                 | liter                                               |
| 34       | water timestamp               | epoch UTC                                           |
| 36       | water delivered               | liter                                               |
| 38       | power\_delivered\_l1          | W                                                   |
| 40       | power\_delivered\_l2          | W                                                   |
| 42       | power\_delivered\_l3          | W                                                   |
| 44       | power\_returned\_l1           | W                                                   |
| 46       | power\_returned\_l2           | W                                                   |
| 48       | power\_returned\_l3           | W                                                   |
| 50       | tariff                        | `0`, `1` or `2` depending meter                     |
| 52       | peak power last quarter       | Belgium only                                        |
| 54       | net\_power\_l1                | signed W = `power_delivered_l1 - power_returned_l1` |
| 56       | net\_power\_l2                | signed W = `power_delivered_l2 - power_returned_l2` |
| 58       | net\_power\_l3                | signed W = `power_delivered_l3 - power_returned_l3` |
| 60       | net\_power\_total             | signed W = `power_delivered - power_returned`       |

### FC03 / FC04 - device information

| Register | Description      | Value                                             |
| -------- | ---------------- | ------------------------------------------------- |
| 100      | device id        | current Modbus slave id                           |
| 102      | serial config    | same encoding as FC06 register `2`                |
| 104      | baudrate         | actual baudrate value                             |
| 106      | pre4 meter       | `0` or `1`                                        |
| 108      | firmware version | packed `MMmmpp`, `1.5.10` = `66826` = `0x01050A`  |
| 110      | dongle name      | ASCII packed `P1M3` = `1345408307` = `0x50314D33` |

### FC06

| Register | Description     | Values                                          |
| -------- | --------------- | ----------------------------------------------- |
| 0        | device id       | `1-254`                                         |
| 2        | serial config   | encoded serial mode value                       |
| 4        | baudrate        | `0-4` = `{ 9600, 19200, 38400, 57600, 115200 }` |
| 6        | pre4 meter mode | `0` or `1`                                      |

### Serial config values

* `SERIAL_5E1 = 46`
* `SERIAL_5O1 = 47`
* `SERIAL_6E1 = 50`
* `SERIAL_6O1 = 51`
* `SERIAL_7N1 = 52`
* `SERIAL_7E1 = 54`
* `SERIAL_7O1 = 55`
* `SERIAL_8N1 = 56`
* `SERIAL_8E1 = 58`
* `SERIAL_8O1 = 59`
* `SERIAL_5N2 = 76`
* `SERIAL_5E2 = 78`
* `SERIAL_5O2 = 79`
* `SERIAL_6N2 = 80`
* `SERIAL_6E2 = 82`
* `SERIAL_6O2 = 83`
* `SERIAL_7N2 = 84`
* `SERIAL_7E2 = 86`
* `SERIAL_7O2 = 87`
* `SERIAL_8N2 = 88`
* `SERIAL_8E2 = 90`
* `SERIAL_8O2 = 91`
