Azure IoT Central device template issue

317 views Asked by At

I`m trying to get data from meters through "TheThingsNetwork". To analyse my data, i would like to see them in MS Azure IoT Central. The meters are sending their payload to my ToT Central application. When i try to build an automatic device template, the whole payload is shown in "unmodeled data". unmodled data Can somebody help me to fix that issue?

This is my Payload:

{
"_unmodeleddata": {
    "end_device_ids": {
        "device_id": "94193a010300045e",
        "application_ids": {
            "application_id": "blurred"
        },
        "dev_eui": "94193A010300045E",
        "join_eui": "94193A0303000001",
        "dev_addr": "260BC45C"
    },
    "correlation_ids": [
        "as:up:01G7XQVSHENYQWDJCC5MMP8HY2",
        "gs:conn:01G7MYTB0H8DKVR3A41G8AQDC7",
        "gs:up:host:01G7MYTB1K770TADHFTWM6SD22",
        "gs:uplink:01G7XQVSAW35X99Z3Y4P6GP6H9",
        "ns:uplink:01G7XQVSAXFF552N4Q02AV5V6H",
        "rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01G7XQVSAWJA39MTGM9F3MGQSW",
        "rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01G7XQVSHDNAK3EGVMAZ7YVNJF"
    ],
    "received_at": "2022-07-14T06:55:41.102327327Z",
    "uplink_message": {
        "session_key_id": "AYGVIF1ZUllwEYMfJ9cBYg==",
        "f_port": 2,
        "f_cnt": 418,
        "frm_payload": "HgQHHgAAAAQUUfQsAAIrAAACOwAAAlq0AgJe1QIHeQgYgXKlEaAEAf0XAA==",
        "decoded_payload": {
            "energy": 0.3,
            "flow": 0,
            "fw": 69.2,
            "id": 72811808,
            "rt": 72.5,
            "volumen": 29461.29
        },
        "rx_metadata": [
            {
                "gateway_ids": {
                    "gateway_id": "acd1",
                    "eui": "F15HGD15INA7"
                },
                "time": "2022-07-14T06:55:40.511876106Z",
                "timestamp": 2638236812,
                "rssi": -117,
                "channel_rssi": -117,
                "snr": -9,
                "location": {
                    "latitude": 52.53678311323148,
                    "longitude": 13.007938200333063,
                    "source": "SOURCE_REGISTRY"
                },
                "uplink_token": "ChIKEAoEdHd2MhII/MI9//4tVaYQjJmB6gkaDAjs+76WBhCftb+pAyDghayZ5IBDKgwI7Pu+lgYQiriK9AE="
            }
        ],
        "settings": {
            "data_rate": {
                "lora": {
                    "bandwidth": 125000,
                    "spreading_factor": 9
                }
            },
            "coding_rate": "4/5",
            "frequency": "867900000",
            "timestamp": 2638236812,
            "time": "2022-07-14T06:55:40.511876106Z"
        },
        "received_at": "2022-07-14T06:55:40.893049499Z",
        "consumed_airtime": "0.349184s",
        "network_ids": {
            "net_id": "000013",
            "tenant_id": "ttn",
            "cluster_id": "eu1",
            "cluster_address": "eu1.cloud.thethings.network"
        }
    }
},
"_eventtype": "Telemetrie",
"_timestamp": "2022-07-14T06:55:41.727Z"

}

And this is my current DTDL:

{
"@id": "dtmi:zhlerauslesung:n94193a0103000ba4;1",
"@type": "Interface",
"contents": [
    {
        "@id": "dtmi:zhlerauslesung:n94193a0103000ba4:energy;1",
        "@type": [
            "Telemetry",
            "NumberValue"
        ],
        "displayName": {
            "en": "energy"
        },
        "name": "energy",
        "schema": "double"
    },
    {
        "@id": "dtmi:zhlerauslesung:n94193a0103000ba4:flow;1",
        "@type": [
            "Telemetry",
            "NumberValue"
        ],
        "displayName": {
            "en": "flow"
        },
        "name": "flow",
        "schema": "double"
    },
    {
        "@id": "dtmi:zhlerauslesung:n94193a0103000ba4:fw;1",
        "@type": [
            "Telemetry",
            "NumberValue"
        ],
        "displayName": {
            "en": "fw"
        },
        "name": "fw",
        "schema": "double"
    },
    {
        "@id": "dtmi:zhlerauslesung:n94193a0103000ba4:rt;1",
        "@type": [
            "Telemetry",
            "NumberValue"
        ],
        "displayName": {
            "en": "rt"
        },
        "name": "rt",
        "schema": "double"
    },
    {
        "@id": "dtmi:zhlerauslesung:n94193a0103000ba4:volumen;1",
        "@type": [
            "Telemetry",
            "NumberValue"
        ],
        "displayName": {
            "en": "volumen"
        },
        "name": "volumen",
        "schema": "double"
    },
    {
        "@id": "dtmi:zhlerauslesung:n94193a0103000ba4:id;1",
        "@type": [
            "Property",
            "NumberValue"
        ],
        "displayName": {
            "en": "id"
        },
        "name": "id",
        "schema": "double",
        "writable": false
    },
    {
        "@id": "dtmi:zhlerauslesung:n94193a0103000ba4:CMI4160_537;1",
        "@type": "Component",
        "displayName": {
            "en": "Komponente"
        },
        "name": "CMI4160_537",
        "schema": "dtmi:zHlerauslesung:CMI4160_537;1"
    }
],
"displayName": {
    "en": "94193a0103000ba4"
},
"@context": [
    "dtmi:iotcentral:context;2",
    "dtmi:dtdl:context;2"
]

}

1

There are 1 answers

2
Roman Kiss On BEST ANSWER

You should use the mapping telemetry data on ingress, see more details here.

Based on your payload and the device model, the raw data will be the following:

Mapping: enter image description here

Raw data:

enter image description here

Dashboard:

enter image description here

Note, that I had to remove your component CMI4160_537 from the device model for test purpose.