---
title: "Nuki Smart Lock 4 Pro (MQTT)"
description: "Nuki Smart Lock 4 Pro cez MQTT: zamknutie, odomknutie, unlatch, Lock 'n' Go, dverový senzor, batéria. Treba broker v LAN na porte 1883, napr. TapHome Core."
url: "https://taphome.com/sk/compatibility/nuki-smart-lock-4-pro-mqtt/"
language: sk
lastmod: 2026-11-13
generator: hugo
ai:
  topics: ["mqtt","smart-lock","door-lock","access-control","wifi","thread","battery-powered"]
  questions: ["Ako integrovať Nuki Smart Lock 4 Pro s TapHome?","Čo ovláda a číta šablóna TapHome pre Nuki Smart Lock 4 Pro?","Ako pripojiť Nuki Smart Lock k TapHome cez MQTT bez Nuki Bridge?","Ako zapnúť MQTT v aplikácii Nuki a akú adresu brokera zadať?","Kde nájdem Nuki ID zámku v šestnástkovom tvare?","Prečo zámok Nuki ukazuje v TapHome stav, ale nereaguje na príkazy?","Prečo sa Nuki Smart Lock nepripojí k MQTT brokeru?","Ktoré modely Nuki Smart Lock podporujú MQTT API?"]
---

# Nuki Smart Lock 4 Pro (MQTT)

Komunikácia: Packet Parser → MQTT

> Adresa v sieti
> 
> Pri MQTT brokeri vstavanom v TapHome zadajte v TapHome ako adresu brokera `127.0.0.1`. V zariadení zadajte IP adresu TapHome Core a jednotke Core dajte rezerváciu IP v routeri.
> 
> [Príprava siete](https://taphome.com/sk/docs/setup/network-preparation/)

## Návod na integráciu

Nuki Smart Lock 4 Pro je batériový smart zámok na dodatočnú montáž so zabudovanou Wi-Fi a podporou Matter over Thread. Šablóna ho pripája do TapHome cez vlastné MQTT rozhranie zámku (Nuki MQTT API), takže Nuki Bridge ani žiadna iná brána nie je potrebná. Zámok funguje ako MQTT klient: pripojí sa k MQTT brokeru v miestnej sieti, publikuje svoje stavy v topicoch `nuki/<Nuki ID>/…` a v tých istých topicoch prijíma príkazy. Brokerom môže byť rozhranie **MQTT Broker**, ktoré beží priamo v TapHome Core.

TapHome číta stav zámku, stav dverového senzora, úroveň batérie a poslednú akciu zámku a posiela príkazy zamknúť, odomknúť, odblokovať (unlatch) a Lock 'n' Go.

Podľa výrobcu Nuki je rovnaké MQTT API k dispozícii na všetkých modeloch Smart Lock 4. generácie (s označením Pro aj bez neho), na Smart Lock 3.0 Pro (firmvér 3.5.12 alebo vyšší) a na najnovších modeloch Smart Lock Ultra, Smart Lock Pro (5. generácia) a Smart Lock Go. Šablóna je pomenovaná podľa Smart Lock 4 Pro.

> [!WARNING]
> Zámok sa pripája len k brokeru v miestnej sieti (súkromné adresy 10.x.x.x, 172.16.x.x – 172.31.x.x, 192.168.x.x), vždy na porte 1883 a bez šifrovania — TLS nie je podporované. Bezpečnosť príkazov závisí výlučne od zabezpečenia Wi-Fi alebo LAN siete. MQTT rozhranie používajte len v dôveryhodnej sieti.

## Sieťové pripojenie

MQTT beží cez sieťové pripojenie zámku, preto musí byť zámok najprv v rovnakej sieti ako broker. Nuki podporuje MQTT cez Wi-Fi alebo cez Thread (Matter).

- **Wi-Fi:** v aplikácii Nuki otvorte nastavenia zámku **Settings → Features & Configuration → Built-in Wi-Fi → Configure Wi-Fi**, vyberte sieť a zadajte jej heslo. Zámok podporuje len Wi-Fi 2,4 GHz (802.11 b/g/n); siete 5 GHz nie sú podporované.
- **Thread:** zámok sa dá do siete pripojiť aj cez Matter over Thread podľa postupu výrobcu Nuki.

Žiadna kabeláž nie je potrebná — zámok je napájaný batériami (4× AA alebo Nuki Power Pack) a mechanicky sa montuje na vnútornú stranu dverí podľa montážneho návodu Nuki.

## Konfigurácia

### MQTT broker

Zámok potrebuje MQTT broker, ktorý je dostupný v miestnej sieti:

| Požiadavka | Hodnota |
|---|---|
| Adresa brokera | súkromná IPv4 adresa alebo hostname, ktorý sa preloží na súkromnú IP adresu |
| Port | 1883 (pevný, nedá sa zmeniť) |
| Šifrovanie | žiadne (TLS nie je podporované) |
| Meno a heslo | na strane brokera voliteľné; každé najviac 32 znakov |
| Verzia protokolu MQTT | 3.1.1 alebo novšia |

Cloudové brokery na internete nefungujú. Pri rozhraní **MQTT Broker** v TapHome je adresou brokera IP adresa TapHome Core. Ak sú na brokeri nastavené meno a heslo, rovnaké prihlasovacie údaje sa zadajú aj v aplikácii Nuki.

### Zapnutie MQTT v aplikácii Nuki

1. V aplikácii Nuki ťuknite na zámok a otvorte jeho nastavenia.
2. Prejdite do **Features & Configuration → Smart Home → MQTT** a postupujte podľa sprievodcu aktiváciou.
3. Zadajte **hostname alebo IPv4 adresu brokera** (keď je brokerom TapHome, IP adresu Core — nie IP adresu zámku) a **meno** a **heslo**, ak ich broker vyžaduje.
4. Voľbu **Allow locking** nechajte zapnutú (predvolené). Bez nej sa zámok neprihlási na odber príkazových topicov: TapHome potom zobrazuje len jeho stavy a nedokáže ho zamknúť ani odomknúť.
5. **Auto discovery** (vyhľadávanie pre Home Assistant, predvolene zapnuté) TapHome nepoužíva — šablóna číta len topicy `nuki/<Nuki ID>/…`. Voľba môže ostať zapnutá alebo sa dá vypnúť.
6. Skontrolujte stav pripojenia, ktorý aplikácia Nuki zobrazuje v tej istej časti MQTT.

### Nuki ID

Topicy každého zámku obsahujú jeho **Nuki ID** v šestnástkovom tvare, napríklad `2BB28570`. Je vytlačené na štítku zámku a zobrazuje sa aj v správe zariadenia v aplikácii Nuki. ID treba zadať presne v tomto šestnástkovom tvare.

### Parametre šablóny

V TapHome sa šablóna pridáva cez rozhranie **Packet Parser** s týmito parametrami importu:

| Parameter | Čo zadať | Príklad |
|---|---|---|
| Nuki ID (hex) | Nuki ID zámku v šestnástkovom tvare, z aplikácie Nuki alebo zo štítku | `2BB28570` |
| IP adresa MQTT brokera | adresa brokera pre TapHome — pri rozhraní MQTT Broker v TapHome `127.0.0.1` (Core sa pripája sám na seba); zámok dostane IP adresu Core, **nie** IP adresu zámku | `127.0.0.1` |

## Možnosti zariadenia

### Zámok

Prepínač **Zámok** ukazuje **Zamknuté** alebo **Odomknuté**. Stavy Nuki odomykanie, odomknuté, odblokované, odomknuté (Lock 'n' Go) a odblokovanie sa všetky počítajú ako Odomknuté. Počas zamykania a keď je zámok nekalibrovaný alebo je motor zablokovaný, prepínač ponechá poslednú hodnotu.

Výber **Zamknuté** pošle akciu zámku Nuki *lock* (zamknúť), výber **Odomknuté** pošle *unlock* (odomknúť) — zámok sa odomkne bez stiahnutia západky. Šablóna pošle príkaz až potom, čo od zámku dostala stav, a len vtedy, keď sa požadovaná hodnota líši od aktuálneho stavu.

Servisné atribúty zariadenia Zámok:

- **Stav zámku Nuki** — presný stav vrátane Zamykanie, Odomykanie, Odblokované, Odblokovanie, Odomknuté (Lock 'n' Go), Nekalibrovaný a Motor zablokovaný
- **Krit. batéria zámku** a **Krit. batéria klávesnice** — či treba vymeniť batérie
- **Nabíjanie batérie**
- **Pripojenie k brokeru** — či je zámok pripojený k MQTT brokeru
- **Pripojenie k serveru Nuki**
- **Odozva na príkaz** — Úspech alebo chybový kód posledného príkazu, ktorý ohlásil zámok
- **Posledná akcia** — názov poslednej akcie zámku, napríklad Odomknutie, Zamknutie, Odblokovanie alebo Lock 'n' Go (rovnaká hodnota ako zariadenie Posledná akcia zámku, pozri nižšie)
- **Posledná aktualizácia** — čas poslednej aktualizácie zo zámku, zobrazený v miestnom čase TapHome Core
- **Verzia firmvéru**

Zariadenie Zámok má aj servisnú akciu **Lock 'n' Go**.

### Zamknúť, Odblokovanie (Unlatch) a Lock 'n' Go

- **Zamknúť** — tlačidlo: zamkne zámok (akcia zámku Nuki *lock*). Príkaz pošle pri každom stlačení bez ohľadu na stav prepínača Zámok.
- **Odblokovanie (Unlatch)** — tlačidlo: odomkne zámok a stiahne západku, takže dvere sa dajú otvoriť bez kľučky.
- **Lock 'n' Go** — tlačidlo: odomkne zámok a po zatvorení dverí ho znova zamkne.

### Dverový senzor

**Dverový senzor** ukazuje **Otvorené** alebo **Zatvorené**, ak je so zámkom spárovaný Nuki Door Sensor. Keď dverový senzor hlási manipuláciu (tamper), zariadenie ukáže Otvorené a vyvolá varovanie. Deaktivovaný dverový senzor sa hlási ako informačná správa.

### Úroveň batérie

**Úroveň batérie** ukazuje nabitie batérií zámku v %.

### Posledná akcia zámku

**Posledná akcia zámku** ukazuje číslo poslednej akcie, ktorú sa zámok chystal vykonať — z TapHome, z aplikácie Nuki, tlačidlom na zámku, z klávesnice alebo kľúčenkou:

| Hodnota | Akcia zámku |
|---|---|
| 1 | odomknutie |
| 2 | zamknutie |
| 3 | odblokovanie (unlatch) |
| 4 | Lock 'n' Go |
| 5 | Lock 'n' Go s odblokovaním |
| 6 | úplné zamknutie |
| 80 | kľúčenka (bez akcie) |
| 90 | tlačidlo (bez akcie) |

Hodnota ostáva číselná, aby sa dala použiť ako spúšťač pre smart rules; zariadenie Zámok ukazuje tú istú akciu menom v servisnom atribúte **Posledná akcia**. Neúspešné zadanie kódu na klávesnici a príkazy mimo povoleného časového okna zámok nehlási.

> [!NOTE]
> Po reštarte TapHome Core šablóna zámku **nepošle žiadny príkaz** — prepínač Zámok prevezme stav, ktorý ohlási zámok. Zámok publikuje svoje stavy ako retained správy, takže hodnoty sa obnovia z toho, čo si pamätá broker; zariadenie, ktoré by takú hodnotu po reštarte nedostalo, ukáže správny stav pri najbližšej zmene na zámku.

## Riešenie problémov

- **Zámok sa nepripojí k brokeru:** v aplikácii Nuki skontrolujte, že adresa brokera je súkromná IP adresa v tej istej sieti (pri TapHome IP adresa Core), že broker prijíma pripojenia na porte 1883 bez TLS a že meno a heslo zodpovedajú nastaveniu brokera. Servisný atribút **Pripojenie k brokeru** musí ukazovať Pripojený.
- **Aktivácia MQTT v aplikácii Nuki zlyhá:** aktualizujte firmvér zámku, skontrolujte, že je zámok pripojený k sieti (Wi-Fi 2,4 GHz alebo Thread), že verzia protokolu MQTT je 3.1.1 alebo novšia a že meno a heslo sú na brokeri autorizované. Ak aplikácia hlási nesprávny identifikátor klienta, Nuki žiada kontaktovať jeho podporu.
- **Stavy sa zobrazujú, ale príkazy nič nerobia:** v nastaveniach MQTT v aplikácii Nuki zapnite **Allow locking**. Servisný atribút **Odozva na príkaz** ukazuje Úspech alebo chybový kód zámku. Zámok spracúva vždy len jeden príkaz; keď sa pošle viac príkazov naraz, odpovede sa môžu prekrývať.
- **V TapHome sa nič nezobrazuje:** skontrolujte Nuki ID — musí byť v šestnástkovom tvare presne tak, ako ho ukazuje aplikácia Nuki alebo štítok.
- **Stav zámku Nuki ukazuje Nekalibrovaný:** dokončite kalibráciu zámku v aplikácii Nuki.
- **Dverový senzor sa nikdy nezmení:** so zámkom musí byť spárovaný Nuki Door Sensor; bez neho zámok stav dverí nehlási.

## Dostupné zariadenia 7

Tieto zariadenia sa po importe zobrazia v TapHome.

Nuki Smart Lock 4 Pro Modul

Zámok Viacstavový prepínač

Hodnoty / Stavy: Zamknuté · Odomknuté

Servisné akcie

|             |
|-------------|
| Lock 'n' Go |

Premenná: `batteryCritical`, Premenná: `batteryCharging`, Premenná: `keypadBatteryCritical`, Premenná: `nukiConnected`, Premenná: `serverConnected`, Premenná: `commandResponse`, Premenná: `nukiTimestamp`, Premenná: `nukiFirmware`, Premenná: `ready`, Premenná: `lastState`, Premenná: `lastAction`

Čítanie stavu prepínača

```taphome
RETURN(Mu);
```

Zápis stavu prepínača

```taphome
IF(ready = 0 OR Mu = lastState)
    RETURN(0);
END
IF(Mu = 1)
    MQTTPUBLISH("nuki/$[NukiId]/lockAction", "2");
ELSEIF(Mu = 3)
    MQTTPUBLISH("nuki/$[NukiId]/lockAction", "1");
END
```

Listener

```taphome
IF(INDEXOF(RECEIVEDMSG.TOPIC, "nuki/$[NukiId]/") != 0)
    RETURN(0);
END
IF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/state")
    VAR st := TODOUBLE(TOSTRING(RECEIVEDMSG.PAYLOAD));
    ready := 1;
    lastState := st;
    IF(st = 1)
        Mu := 1;
    ELSEIF(st = 2 OR st = 3 OR st = 5 OR st = 6 OR st = 7)
        Mu := 3;
    END
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/batteryCritical")
    batteryCritical := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/batteryCharging")
    batteryCharging := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/keypadBatteryCritical")
    keypadBatteryCritical := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/connected")
    nukiConnected := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/serverConnected")
    serverConnected := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/commandResponse")
    commandResponse := TOSTRING(RECEIVEDMSG.PAYLOAD);
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/timestamp")
    VAR tsUtc := DATETIME(TOSTRING(RECEIVEDMSG.PAYLOAD));
    VAR tsLocal := tsUtc.LOCALDATETIME;
    nukiTimestamp := TOSTRING(tsLocal, "d.M.yyyy HH:mm:ss");
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/lockActionEvent")
    lastAction := TODOUBLE(GETAT(SPLIT(TOSTRING(RECEIVEDMSG.PAYLOAD), ","), 0));
ELSEIF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/firmware")
    nukiFirmware := TOSTRING(RECEIVEDMSG.PAYLOAD);
END
```

Servisné atribúty

Stav zámku Nuki

```taphome
IF(lastState = 1, "Zamknuté", IF(lastState = 2, "Odomykanie", IF(lastState = 3, "Odomknuté", IF(lastState = 4, "Zamykanie", IF(lastState = 5, "Odblokované", IF(lastState = 6, "Odomknuté (Lock 'n' Go)", IF(lastState = 7, "Odblokovanie", IF(lastState = 0, "Nekalibrovaný", IF(lastState = 254, "Motor zablokovaný", "Neznámy (" + TOSTRING(lastState) + ")")))))))))
```

Krit. batéria zámku

```taphome
IF(batteryCritical = "true", "Áno — vymeniť batérie", "Nie")
```

Nabíjanie batérie

```taphome
IF(batteryCharging = "true", "Prebieha", "Neprebieha")
```

Krit. batéria klávesnice

```taphome
IF(keypadBatteryCritical = "true", "Áno — vymeniť batérie", "Nie")
```

Pripojenie k brokeru

```taphome
IF(nukiConnected = "true", "Pripojený", "Odpojený")
```

Pripojenie k serveru Nuki

```taphome
IF(serverConnected = "true", "Pripojený", "Odpojený")
```

Odozva na príkaz

```taphome
IF(commandResponse = "0", "Úspech", IF(LENGTH(commandResponse) = 0, "—", "Chyba zámku: " + commandResponse))
```

Posledná akcia

```taphome
IF(lastAction = 1, "Odomknutie", IF(lastAction = 2, "Zamknutie", IF(lastAction = 3, "Odblokovanie", IF(lastAction = 4, "Lock 'n' Go", IF(lastAction = 5, "Lock 'n' Go s odblokovaním", IF(lastAction = 6, "Úplné zamknutie", IF(lastAction = 80, "Kľúčenka (bez akcie)", IF(lastAction = 90, "Tlačidlo (bez akcie)", IF(lastAction = -1, "—", "Neznáma (" + TOSTRING(lastAction) + ")")))))))))
```

Posledná aktualizácia

```taphome
IF(LENGTH(nukiTimestamp) = 0, "—", nukiTimestamp)
```

Verzia firmvéru

```taphome
IF(LENGTH(nukiFirmware) = 0, "—", nukiFirmware)
```

Servisné akcie

Lock 'n' Go

```taphome
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "4");
```

Dverový senzor Jazýčkový kontakt

Čítanie

```taphome
RETURN(Rc);
```

Listener

```taphome
IF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/doorsensorState")
    VAR dsVal := TODOUBLE(TOSTRING(RECEIVEDMSG.PAYLOAD));
    IF(dsVal = 3)
        Rc := 1;
    ELSEIF(dsVal = 2)
        Rc := 0;
    ELSEIF(dsVal = 240)
        Rc := 1;
        ADDWARNING(0, "Dverový senzor: detekovaná manipulácia (tamper)");
    ELSEIF(dsVal = 1)
        ADDINFO(0, "Dverový senzor deaktivovaný");
    END
END
```

Odblokovanie (Unlatch) Tlačidlo

Čítanie stavu tlačidla

```taphome
Bp := 0;
```

Zápis stavu tlačidla

```taphome
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "3");
```

Lock 'n' Go Tlačidlo

Čítanie stavu tlačidla

```taphome
Bp := 0;
```

Zápis stavu tlačidla

```taphome
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "4");
```

Úroveň batérie Analógový vstup

Čítanie vstupnej úrovne

```taphome
RETURN(An);
```

Listener

```taphome
IF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/batteryChargeState")
    An := TODOUBLE(TOSTRING(RECEIVEDMSG.PAYLOAD)) / 100;
END
```

Posledná akcia zámku Premenná

Čítanie

```taphome
RETURN(Va);
```

Listener

```taphome
IF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/lockActionEvent")
    Va := TODOUBLE(GETAT(SPLIT(TOSTRING(RECEIVEDMSG.PAYLOAD), ","), 0));
END
```

Zamknúť Tlačidlo

Čítanie stavu tlačidla

```taphome
Bp := 0;
```

Zápis stavu tlačidla

```taphome
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "2");
```

**Pripojenie:** Packet Parser → MQTT

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

| Pýta sa v aplikácii           | Predvolené    |
|-------------------------------|---------------|
| Nuki ID (hex, napr. 2BB28570) | `2BB28570`    |
| IP adresa MQTT brokera        | `192.168.1.1` |

## Súvisiaca dokumentácia

- [MQTT Integration](https://taphome.com/sk/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/sk/docs/integration/packet-parser/)
- [Funkcie Packet parsera](https://taphome.com/sk/docs/script/packet-parser/)
- [Parsovacie funkcie](https://taphome.com/sk/docs/script/parsing-functions/)
- [MQTT broker](https://taphome.com/sk/docs/integration/packet-parser/mqtt-broker/)
- [Listener skripty](https://taphome.com/sk/docs/script/listener-scripts/)

