> For the complete documentation index, see [llms.txt](https://docs.mclimate.eu/mclimate-lorawan-devices/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mclimate.eu/mclimate-lorawan-devices/devices/mclimate-vicki-lorawan/vicki-lorawan-device-communication-protocol/others.md).

# Others

## Force-close

Usage of this command must be avoided. Sending the command from the server causes the valve to be closed until over-voltage is detected from the device.

<table data-header-hidden><thead><tr><th width="134">Byte index</th><th>Hex value - Meaning</th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Hex value - Meaning</strong></td></tr><tr><td>0</td><td>0B – The command code.</td></tr></tbody></table>

**Example command:** `0x0B`

## Force-attach

{% hint style="danger" %}
Command for advanced users. Use with care.

Available in firmware >= 4.2
{% endhint %}

{% hint style="danger" %}
Do not use this function if your device is running firmware 4.5 or 4.6!
{% endhint %}

When you mount Vicki on a backplate, a small hidden button indicates that Vicki is mounted and it will start calibrating.

If the device that has been working fine previously and starts reporting it's not attached to a backplate and motorRange = 0, then you **might** want to force-attach it.

In it's essence, the force-attach command makes Vicki ignore the status of the aforementioned hidden button and starts the normal operation of the device.

If Vicki e.g. has been fiddled with by the customer and they did not attach it correctly afterwards, this command might be helpful.

If Vicki is not attached to a backplate and a valve at all, calibration will not be successful, as it wouldn't be able to determine the maximum closed position of the valve.

{% tabs %}
{% tab title="SET" %}

<table data-header-hidden><thead><tr><th width="133.5">Byte index</th><th>Byte value - meaning</th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Byte value - meaning</strong></td></tr><tr><td>0</td><td>47 – the command code</td></tr><tr><td>1</td><td><p>Bits 7:1 – Reserved.</p><p>Bit 0 – 1 to force device attaching to valve disregarding the button which sense that. 0 to force device detaching from the valve.</p></td></tr></tbody></table>

**Example command 1:** `0x4701` - activate force-attach

**Example command 1:** `0x4700` - deactivate force-attach
{% endtab %}

{% tab title="GET" %}

<table><thead><tr><th width="129">Byte index</th><th width="157">Sent request</th><th>Response - Meaning</th></tr></thead><tbody><tr><td>0</td><td>48 – The command code.</td><td>48 – The command code.</td></tr><tr><td>1</td><td> </td><td><p>Bits 7:1 – Reserved.</p><p>Bit 0 – 1 the force-attach is activated, 0 otherwise.</p></td></tr></tbody></table>

**Example downlink:** 0x48

**Example uplink:** 0x4801 - the force-attach is activated
{% endtab %}
{% endtabs %}

## Set target temperature with resolution 1.0°C

This command is applicable only in online automatic control mode or in online automatic control mode with external temperature reading. The command sets the temperature to be reached by the device internal control algorithm. It’s described in details in the table below.

<table data-header-hidden><thead><tr><th width="138.33333333333331">Byte index</th><th>Hex value - Meaning</th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Hex value - Meaning</strong></td></tr><tr><td>0</td><td>0E – The command code.</td></tr><tr><td>1</td><td>XX – The desired temperature in Celsius degrees. The value must be inside the range of allowed device working temperatures (Set with command code 0x08).</td></tr></tbody></table>

**Example command:** `0x0E16` – sets the device target temperature to 22 Celsius degrees.

## Set External temperature sensor value with accuracy 1.0

<table data-header-hidden><thead><tr><th width="135">Byte index</th><th>Hex value - Meaning</th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Hex value - Meaning</strong></td></tr><tr><td>0</td><td>0F – The command code.</td></tr><tr><td>1</td><td>XX – The ext. temperature in Celsius degrees. The value must be greater than 0°C!</td></tr></tbody></table>

**Example downlink:** `0x0F14` – the server notifies Vicki that the measured temperature by the external sensor is 20 degrees Celsius.

## New setpoint LED indication duration

{% tabs %}
{% tab title="SET" %}

<table><thead><tr><th width="132.609375"></th><th></th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Hex value / Meaning</strong></td></tr><tr><td>0</td><td>63 – command code</td></tr><tr><td>1</td><td>XX – LED indication duration with resolution 0.5s. Default value is 2 => 1s. Allowed values are in range [1:20] which gives duration from 0.5s to 10s.</td></tr></tbody></table>

**Example command:** `0x63`

**Example response:** `0x6306` – LED indication duration is 6 / 2 = 3s.
{% endtab %}

{% tab title="GET" %}

<table><thead><tr><th width="119.43359375"></th><th width="218.6796875"></th><th></th></tr></thead><tbody><tr><td></td><td><strong>Hex value – Meaning</strong></td><td></td></tr><tr><td><strong>Byte index</strong></td><td><strong>Sent request</strong></td><td><strong>Received response</strong></td></tr><tr><td>0</td><td>64 – The command code.</td><td>64 – The command code.</td></tr><tr><td>1</td><td></td><td>LED indication duration as described in the corresponding set command.</td></tr></tbody></table>

**Example command:** `0x64`

**Example response:** `0x6406` – LED indication duration is 6 / 2 = 3s.
{% endtab %}
{% endtabs %}

## External crystal malfunctioning

This command is generated internally in case the device detects a malfunction in the external crystal oscillator  It is created for debug/troubleshooting purposes.

<table><thead><tr><th width="132.609375"></th><th></th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Hex value / Meaning</strong></td></tr><tr><td>0</td><td>A6 – command code</td></tr></tbody></table>

**Example command:** `0xА6` – Тhe crystal oscillator is malfunctioning.

## LoRaWAN Region

This command reports the LoRaWAN Region your device is setup to work in. Make sure it matches you network as LoRaWAN regions/bands are country dependent. This region is hardcoded in the FW and the user can not change it, only report on it. The keep-alive in the command response is omitted for clarity.

{% tabs %}
{% tab title="GET" %}

<table data-header-hidden><thead><tr><th width="147"></th><th width="194"></th><th></th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Sent request</strong></td><td><strong>Received response</strong></td></tr><tr><td>0</td><td>A4 – Command code</td><td>A4 – Command code</td></tr><tr><td>1</td><td> </td><td><p>Radio region:<br>00 => EU868</p><p>01 => AS923</p><p>02 => AU915</p><p>03 => US915</p></td></tr></tbody></table>

**Example command:** `0xA4`

**Example response:** `0xA400` – extracting the 1st byte value we get `0x00`, thus the device operates in the EU868 LoRaWAN band.
{% endtab %}
{% endtabs %}

## Remote reset the device

{% hint style="info" %}
This feature is available in firmware >= 4.0
{% endhint %}

{% hint style="danger" %}
When sending this command, **always use unconfirmed downlink**.
{% endhint %}

The command forces the device to fully reset (not reverting to factory settings), triggering recalibration as well as joining the network.

<table data-header-hidden><thead><tr><th width="142">Byte index</th><th>Sent request</th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Sent request</strong></td></tr><tr><td>0</td><td>30 – Command code.</td></tr></tbody></table>

**Example command:** `0x30` - remote reset the device

## Change AppEUI and AppKey

{% hint style="danger" %}
Use with increased caution!&#x20;
{% endhint %}

{% hint style="info" %}
This feature is available in firmware >= 4.1
{% endhint %}

You can now change the AppEUI and AppKey of a device. Once the device has received this command, it restarts and re-join the network using the new keys.

{% tabs %}
{% tab title="SET" %}

<table data-header-hidden><thead><tr><th width="124">Byte index</th><th>Hex value – Meaning</th></tr></thead><tbody><tr><td><strong>Byte index</strong></td><td><strong>Hex value – Meaning</strong></td></tr><tr><td>0</td><td>33 – The command code.</td></tr><tr><td>1</td><td>AppEUI byte 0 (most significant).</td></tr><tr><td>2</td><td>AppEUI byte 1.</td></tr><tr><td>...</td><td>...</td></tr><tr><td>8</td><td>AppEUI byte 7 (least significant)</td></tr><tr><td>9</td><td>AppKey byte 0 (most significant).</td></tr><tr><td>10</td><td>AppKey byte 1.</td></tr><tr><td>...</td><td>...</td></tr><tr><td>24</td><td>AppKey byte 15.</td></tr></tbody></table>

**Example command: T**o change the AppEUI to AABBCCDD11223344 and the AppKey to AABBCCDDEEFF00010203040506070809 you would need to use the following:

`0x33AABBCCDD11223344AABBCCDDEEFF00010203040506070809`
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mclimate.eu/mclimate-lorawan-devices/devices/mclimate-vicki-lorawan/vicki-lorawan-device-communication-protocol/others.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
