# Uplinks

## Generic Device Information

The device sends an uplink containing generic device information following a succesfull network join.\
The generic device information is send over fPort 50.

{% hint style="info" %}
If the device is battery powered, the battery related parameters are send with any of the regular periodical transmissions of the device.
{% endhint %}

| Channel | Type                    | Description                                    |
| ------- | ----------------------- | ---------------------------------------------- |
| **ff**  | 00 (Status)             | Status of the device                           |
|         | 01 (Manufacturer)       | Hex of the manufacturer                        |
|         | 02 (Model)              | Hex of the model                               |
|         | 03 (Device SN)          | 7 digits serial number                         |
|         | 11 (Device Class)       | 0x00: Class A, 0x01: Class B, 0x02: Class C    |
|         | 06 (Power Event)        | 0x00: AC Power Off, 0x01: AC Power On          |
|         | 05 (Hardware Version)   | Hardware version, example 0100 is version 1.00 |
|         | 04 (Firmware Version)   | Firmware version, example 0100 is version 1.00 |
|         | 07 (Battery Voltage)    | Battery Voltage                                |
|         | 08 (Battery Percentage) | Battery Percentage                             |

## Alarms

If an alarm occurs within the device an uplink message is immediately send over fPort 11.\
The message contains the register number of the alarm and the current value.

<table><thead><tr><th width="155">Channel</th><th width="228.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>0xAA</td><td>0xFE</td><td>Current timestamp of the device, taken from device RTC.</td></tr><tr><td>0xAA</td><td>0x00</td><td></td></tr><tr><td>0xAA</td><td>0x01</td><td>LoRaWAN watchdog alarm<br>0x00 : normal<br>0x01 : alarm</td></tr><tr><td>0xAA</td><td>0x78</td><td>Internal Temperature Sensor Alarm<br>0x00 : normal<br>0x01 : alarm</td></tr><tr><td>0xAA</td><td>0x0B</td><td>Configuration Error Channel 1<br>0x00 : normal<br>0x01 : alarm</td></tr></tbody></table>

{% hint style="info" %}
The alarm payload is modified based on the underlying device.
{% endhint %}

## Periodic Transmissions <a href="#a7f7674a-7d57-4fb6-9003-eb313812905a" id="a7f7674a-7d57-4fb6-9003-eb313812905a"></a>

{% hint style="info" %}
Configuration of the periodic transmissions is added in the respective user manual of the underlying device
{% endhint %}

The device sends a periodic transmission based on the [Periodic Transmission](/welcome/user-manual-iq-wmr/device/operation/application-operation.md#periodic-transmission) settings.

The transmission of the periodic transmission is **always** a confirmed package.

| Channel | Type | Item                 | Description                                                 |
| ------- | ---- | -------------------- | ----------------------------------------------------------- |
| 01      | 0x01 | Device timestamp     | Current timestamp of the device, taken from device RTC.     |
|         | 0x03 | Datalogger timestamp | Timestamp of the entry in the datalogger for the data send. |
|         | 0x0C | Counter Value        |                                                             |
|         | 0x0D | Counter delta Value  |                                                             |
|         | 0x6C | Battery Voltage      |                                                             |
|         | 0x6D | Battery Percentage   |                                                             |
|         | 0x82 | Internal Temperature | if 0x0F is enabled, then include temperature values.        |
|         | 0x83 | Internal Humidity    | if 0x0F is enabled, then include humidity values.           |

{% hint style="danger" %}
If you don't get periodic transmissions within the expected timeframe from the device it can be that the Treshold for transmission has not been reached yet.\
If you want to test this, you can send a downlink to the device requestion register 0x13.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.yobiiq.com/welcome/user-manual-iq-wmr/lorawan/lorawan-communication/payloads/uplinks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
