# Generic M2M device (with Internet connection)

![Generic M2M device (with Internet connection)](https://portal.kpnthings.com/assets/images/device-types/own-m2m-with-internet.png)

Connect your own M2M Device that communicates over the Internet. Useful when only Device management data is sent to KPN Things. Part of the Device Management + Connectivity only proposition.

* Supported network type(s): `MQTT`,`INTERNET`,`KPNM2M`
* Device Specification ID: `own-m2m-with-internet`
* Device Specification UUID: `cf872c9e-9343-47db-b972-35dc4df340c8`

| Decoders                                   | decoderSpecificationUUID               | Description                                                                         |
| ------------------------------------------ | -------------------------------------- | ----------------------------------------------------------------------------------- |
| › Decoded ThingsML and raw SenML data      | `c876bac7-c664-4297-a954-2666eb6aae54` | One decoder to forward raw SenML data and decoded ThingsML data sent by the device. |
| › Decoded ThingsML and raw SenML data (v2) | `45b27e02-8136-540b-a4e1-509d7a2c2aa2` | Decoder that forwards raw SenML data and decoded ThingsML data sent by the device.  |

| Encoders     | encoderSpecificationUUID               | Description                     |
| ------------ | -------------------------------------- | ------------------------------- |
| = SenML data | `cc35ab44-01d3-4086-885a-a30cb37c0a12` | Send SenML data to your device. |

### › Decoded ThingsML and raw SenML data

* UUID: `c876bac7-c664-4297-a954-2666eb6aae54`
* Description: One decoder to forward raw SenML data and decoded ThingsML data sent by the device.
* Exchange: `decoder.thingsml.json.exchange`

#### Expected SenML outputs

Unknown

### › Decoded ThingsML and raw SenML data (v2)

Decoder that forwards raw SenML data and decoded ThingsML data sent by the device.

#### Example SenML

This is completely dependent on the SenML or ThingsML input and could output almost any SenML. The decoded ThingsML below is just illustrative of what is possible.

```json
[
    {
        "bn": "urn:dev:DEVEUI:fe782a953c642aeb:",
        "bt": 1693136532.83,
        "n": "latitude",
        "u": "lat",
        "v": 51.90717
    },
    {
        "n": "longitude",
        "u": "lon",
        "v": 4.48940
    },
    {
        "n": "temperature",
        "u": "Cel",
        "v": 29.75
    },
    {
        "n": "batteryVoltage",
        "u": "V",
        "v": 3.59
    },
    {
        "n": "extTemp",
        "u": "Cel",
        "v": 17.22
    },
    {
        "n": "io",
        "vb": false
    }
]
```

### = SenML data encoding

* Protocol: HTTP response
* Description: Send SenML data to your device.
* Multiple commands in one downlink: No
* No input mapping
