MIVO Connect System Integration
Integration via JSON – MIVO Connect#
MIVO Connect can automatically send metering data from connected meters and sensors to external systems.
This is done via an HTTPS connection using a fixed JSON structure, as described in this document.
This guide is for anyone building an integration with MIVO and needs to understand how the format works,
what is included in the payload, and how to receive the data.
Overview – how does it work?#
- MIVO Connect acts as a client, pushing data to a server (your system).
- Every time new data is available (e.g., every minute or hour), an HTTPS POST request is sent.
- The payload is JSON-formatted, following a consistent structure.
- Your server should respond with HTTP status 204 No Content to acknowledge receipt.
- If another response is returned or an error occurs, MIVO will retry sending the data.
Authentication#
The receiving system is expected to require authentication via a Bearer Token.
Each request will include a header like this:
Authorization: Bearer <your-token>
JSON structure and content#
Each JSON payload includes:
UnitSerial
: The serial number of the MIVO Connect unitProtocolVersion
: Currently always set to2
Readings
: A list of devices (meters/sensors) that were read
Each Reading contains:
ID
: Globally unique identifier for the sensorName
: User-defined name for the reading pointMeterNumber
: Specified meter number (can be non-unique)MType
: Meter type (e.g., Heat, Electricity – see table)Time
: Timestamp in ISO 8601 format (UTC)Values
: A list of measurement values
Each Value contains:
Code
: Standardized identifier for the value (see Appendix C)Unit
: Unit of measurement (e.g.,Wh
,m3
,Celsius
)Value
: The actual value as a floating point number
JSON Example#
What are “Code” values?#
All value codes (e.g. RoomSensorTemperature
, HeatEnergy
, ElectricityActivePowerTotal
) are documented in our code reference.
- They are platform-independent – the same code is used regardless of vendor or communication protocol.
- Codes are standardized, making integration easier across M-Bus, Wireless M-Bus and Modbus.
The codes are grouped into three main categories:
- Standard codes – common values such as temperature, energy, flow, etc.
- Advanced codes – extended values, statistics and detailed energy data
- Status codes – alarms, warnings and error indicators (e.g. low battery, reverse flow)
You’ll find the full list in the protocol’s appendix:
See Appendix C
Implementation tips#
- Always respond with HTTP 204 No Content to avoid repeated transmissions.
- Use the
Time
andID
fields to detect and skip duplicate data. - Log every incoming request – especially if you choose to filter specific
Code
values. - The JSON format is stable, but may include additional fields in the future – your system should ignore unknown fields gracefully.
- All meter types follow the same structure – use the
MType
field to determine if it’s a heat meter, power meter, or room sensor.
Documentation and appendix#
To see the complete technical specification – including all sensor types and value codes –
download the full protocol document below:
MIVO Integration Protocol JSON (PDF)
Integration via CSV – MIVO Connect#
MIVO Connect can export measurement data to external systems in CSV format, for example via FTP or file transfer.
This guide describes how the format works and how to process the data on the receiving side.
Overview – how does it work?#
- MIVO Connect generates a CSV file containing the latest measurement data.
- The file includes one row per data point, not per device.
- The file is delivered via FTP, local storage or transfer to the customer’s file server.
- All meters and sensors are included in the same format and file.
Example CSV structure#
Value codes (JSON Integration)#
Below are all the current value codes in MIVO Connect’s JSON protocol. Use the search function to filter and browse with pagination.
Id | Code | Device type | Text | Quantity | Unit | Description |
---|