Senva EM energy meter
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 confirmed at the hardware-verified rung and at no rung below it.
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.
| point | address (0-based) | type | scale | unit |
| temperature | 310 | F32BE | 1 | °F |
| power_supply_voltage | 380 | F32BE | 1 | V |
| active_conditions | 400 | U16 | 1 | |
| previous_conditions | 401 | U16 | 1 | |
| line_frequency | 410 | F32BE | 1 | Hz |
| phase_average_rms_voltage | 420 | F32BE | 1 | V |
| phase_to_phase_average_rms_voltage | 450 | F32BE | 1 | V |
| phase_average_rms_current | 520 | F32BE | 1 | A |
| phase_average_current_angle | 540 | F32BE | 1 | ° |
| system_power_factor | 550 | F32BE | 1 | |
| total_real_power | 600 | F32BE | 1 | kW |
| phase_average_real_power | 610 | F32BE | 1 | kW |
| net_real_power | 620 | F32BE | 1 | kW |
| total_reactive_power | 640 | F32BE | 1 | kVAR |
| phase_average_reactive_power | 650 | F32BE | 1 | kVAR |
| total_apparent_power | 660 | F32BE | 1 | kVA |
| phase_average_apparent_power | 670 | F32BE | 1 | kVA |
| total_real_energy | 700 | F32BE | 1 | kWh |
| system_real_energy | 720 | F32BE | 1 | kWh |
| total_reactive_energy | 740 | F32BE | 1 | kVARh |
| total_apparent_energy | 760 | F32BE | 1 | kVAh |
| demand_real_power | 800 | F32BE | 1 | kW |
| demand_system_real_power | 820 | F32BE | 1 | kW |
| demand_reactive_power | 840 | F32BE | 1 | kVAR |
| demand_apparent_power | 860 | F32BE | 1 | kVA |
| r_phase_active_conditions | 1400 | U16 | 1 | |
| r_phase_rms_voltage | 1420 | F32BE | 1 | V |
| r_phase_to_phase_voltage_angle | 1440 | F32BE | 1 | ° |
| r_phase_to_phase_rms_voltage | 1450 | F32BE | 1 | V |
| r_phase_rms_current | 1520 | F32BE | 1 | A |
| r_phase_current_angle | 1540 | F32BE | 1 | ° |
| r_phase_power_factor | 1550 | F32BE | 1 | |
| r_phase_real_power | 1600 | F32BE | 1 | kW |
| r_phase_reactive_power | 1640 | F32BE | 1 | kVAR |
| r_phase_apparent_power | 1660 | F32BE | 1 | kVA |
| r_phase_total_real_energy | 1700 | F32BE | 1 | kWh |
| r_phase_total_reactive_energy | 1740 | F32BE | 1 | kVARh |
| r_phase_total_apparent_energy | 1760 | F32BE | 1 | kVAh |
| r_phase_demand_real_power | 1800 | F32BE | 1 | kW |
| r_phase_demand_reactive_power | 1840 | F32BE | 1 | kVAR |
| r_phase_demand_apparent_power | 1860 | F32BE | 1 | kVA |
link settings as documented (unverified): RTU/ASCII; baud 1200/2400/4800/9600/19200/38400/57600/115200/230400/460800; FC 03,06,08,16,17; Supports automatic baud rate, parity, data bits, and protocol detection.
bench facts as documented (unverified)
| terminals | POWER, GND, A (+), COM, B (-) |
| A/B polarity | A (+), B (-) |
| max registers/read | 125 |
| broadcast | supported |
| protocol notes | Responds to global address 255 (0xFF) on dedicated networks. |
| identification notes | Supports 0x11 Report Server ID which returns Vendor Name, Model Name, Serial Number, Firmware Version, and Location String. |
| FC 43 device ID | not supported |
| power | 12.0 VDC minimum for full operation |
| doc revision | 0A |
field reports — community-sourced, unverified (checked 2026-06-11)
- The meter supports reads from the complete Modbus address space (registers 0 to 65535) without error, including undefined addresses, returning dummy data for undefined addresses to facilitate combining reads from non-adjacent registers. [source]
- confirmed: Baud rates [1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800] — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) which lists support for baud rates 1200 to 460800
- confirmed: Framing ['RTU', 'ASCII'] — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) which states support for automatic protocol detection of Modbus RTU and ASCII
- confirmed: Function codes [3, 6, 8, 16, 17] — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) which lists support for 0x03 (Read Holding Registers), 0x06 (Write Single Register), 0x08 (Diagnostics), 0x10 (Write Multiple Registers), and 0x11 (Report Server ID)
- confirmed: Polarity 'A (+), B (-)' and terminals 'POWER, GND, A (+), COM, B (-)' — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) wiring diagram
- confirmed: Power '12.0 VDC minimum for full operation' — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) which states the meter requires 12.0 VDC minimum for full operation
- confirmed: Broadcast supported and global address 255 (0xFF) — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) which states the meter responds to global address 255 (0xFF) on dedicated networks
- confirmed: Max read registers 125 — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) which specifies R = 1 to 125 registers for read operations
- confirmed: Register map summary (temperature @ 310, power_supply_voltage @ 380, active_conditions @ 400, line_frequency @ 410, phase_average_rms_voltage @ 420, phase_to_phase_average_rms_voltage @ 450, phase_average_rms_current @ 520, phase_average_current_angle @ 540, system_power_factor @ 550, r_phase_active_conditions @ 1400, r_phase_rms_voltage @ 1420, r_phase_to_phase_voltage_angle @ 1440, r_phase_to_phase_rms_voltage @ 1450, r_phase_rms_current @ 1520, r_phase_current_angle @ 1540, r_phase_power_factor @ 1550, r_phase_real_power @ 1600, r_phase_reactive_power @ 1640, r_phase_apparent_power @ 1660, r_phase_total_real_energy @ 1700, r_phase_total_reactive_energy @ 1740, r_phase_total_apparent_energy @ 1760, r_phase_demand_real_power @ 1800, r_phase_demand_reactive_power @ 1840) — confirmed by Senva EM-RS485 Modbus Protocol Guide (154-0023-0B) register listings
The trust ladder
Each rung states what it proved and what it did not. Gray until proven; green is earned by hardware only.
- generated — A prompt produced it. Unproven — anyone can regenerate this.
- structure-verified — Decode path is structurally sound (addresses, widths, finite values). Does NOT prove word order or scaling.
- 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.
- simulator-verified — Decoded correctly against a protocol emulator seeded with known-true values — catches word-order/scaling errors vs the emulator, not the physical device.
- hardware-verified x1 — Matched a real device with operator-attested readings as ground truth — the only rung that confirms word order + scaling on the wire.