---
title: "Nuki Smart Lock 4 Pro (MQTT)"
description: "Nuki Smart Lock 4 Pro preko izvornog MQTT-a: zaključavanje, otključavanje, otvaranje, Lock 'n' Go, senzor vrata, baterija. Broker u LAN-u, port 1883."
url: "https://taphome.com/hr/compatibility/nuki-smart-lock-4-pro-mqtt/"
language: hr
lastmod: 2026-11-13
generator: hugo
ai:
  topics: ["mqtt","smart-lock","door-lock","access-control","wifi","thread","battery-powered"]
  questions: ["Kako integrirati Nuki Smart Lock 4 Pro sa sustavom TapHome?","Čime upravlja i što očitava predložak TapHome za Nuki Smart Lock 4 Pro?","Kako spojiti bravu Nuki Smart Lock na TapHome preko MQTT-a bez uređaja Nuki Bridge?","Kako uključiti MQTT u aplikaciji Nuki i koju adresu brokera unijeti?","Gdje pronaći heksadecimalni Nuki ID brave?","Zašto brava Nuki prikazuje stanje u sustavu TapHome, ali ne reagira na naredbe?","Zašto se Nuki Smart Lock ne spaja na MQTT broker?","Koji modeli Nuki Smart Lock podržavaju MQTT API?"]
---

# Nuki Smart Lock 4 Pro (MQTT)

Komunikacija: Packet Parser → MQTT

> Adresa u mreži
> 
> Za MQTT broker ugrađen u TapHome u TapHomeu kao adresu brokera unesite `127.0.0.1`. U uređaju unesite IP adresu jedinice TapHome Core i za Core postavite rezervaciju IP adrese u usmjerivaču.
> 
> [Priprema mreže](https://taphome.com/hr/docs/setup/network-preparation/)

## Upute za integraciju

Nuki Smart Lock 4 Pro je pametna brava na baterije za naknadnu ugradnju, s ugrađenim Wi-Fi-jem i podrškom za Matter over Thread. Predložak je povezuje sa sustavom TapHome preko vlastitog MQTT sučelja brave (Nuki MQTT API), pa nije potreban ni Nuki Bridge ni bilo koji drugi pristupnik (gateway). Brava radi kao MQTT klijent: spaja se na MQTT broker u lokalnoj mreži, objavljuje svoja stanja na temama `nuki/<Nuki ID>/…` i na istim temama prima naredbe za zaključavanje. Broker može biti sučelje **MQTT Broker** koje radi izravno na centralnoj jedinici TapHome Core.

TapHome očitava stanje brave, stanje senzora vrata, razinu baterije i zadnju radnju brave, a šalje naredbe za zaključavanje, otključavanje, otvaranje (unlatch) i Lock 'n' Go.

Prema podacima tvrtke Nuki, isti MQTT API dostupan je na svim modelima Smart Lock 4. generacije (s oznakom Pro ili bez nje), na modelu Smart Lock 3.0 Pro (firmver 3.5.12 ili noviji) te na najnovijim modelima Smart Lock Ultra, Smart Lock Pro (5. generacija) i Smart Lock Go. Predložak nosi ime po modelu Smart Lock 4 Pro.

> [!WARNING]
> Brava se spaja samo na broker u lokalnoj mreži (privatne adrese 10.x.x.x, 172.16.x.x – 172.31.x.x, 192.168.x.x), uvijek na port 1883 i bez šifriranja, jer TLS nije podržan. Sigurnost naredbi u potpunosti ovisi o sigurnosti Wi-Fi mreže ili LAN-a. MQTT sučelje koristite samo u pouzdanoj mreži.

## Mrežno spajanje

MQTT radi preko mrežne veze brave, pa brava najprije mora biti u istoj mreži kao broker. Nuki podržava MQTT preko Wi-Fi-ja ili preko Threada (Matter).

- **Wi-Fi:** u aplikaciji Nuki otvorite postavke brave **Settings → Features & Configuration → Built-in Wi-Fi → Configure Wi-Fi**, odaberite mrežu i unesite njezinu lozinku. Brava podržava samo Wi-Fi na 2,4 GHz (802.11 b/g/n); mreže na 5 GHz nisu podržane.
- **Thread:** brava se alternativno spaja na mrežu preko Matter over Thread, kako to opisuje Nuki.

Ožičenja nema: brava radi na baterije (4× AA ili Nuki Power Pack) i mehanički se ugrađuje na unutarnju stranu vrata prema uputama za ugradnju tvrtke Nuki.

## Konfiguracija

### MQTT broker

Brava treba MQTT broker do kojeg može doći u lokalnoj mreži:

| Zahtjev | Vrijednost |
|---|---|
| Adresa brokera | privatna IPv4 adresa ili naziv hosta koji se razrješava u privatnu IP adresu |
| Port | 1883 (fiksno, ne može se promijeniti) |
| Šifriranje | nema (TLS nije podržan) |
| Korisničko ime i lozinka | neobavezno na strani brokera; svako najviše 32 znaka |
| Verzija protokola MQTT | 3.1.1 ili novija |

Brokeri u oblaku na internetu ne rade. Uz sučelje **MQTT Broker** sustava TapHome adresa brokera je IP adresa centralne jedinice Core. Ako su na brokeru postavljeni korisničko ime i lozinka, isti se podaci unose u aplikaciju Nuki.

### Uključivanje MQTT-a u aplikaciji Nuki

1. U aplikaciji Nuki dodirnite bravu i otvorite njezine postavke.
2. Idite na **Features & Configuration → Smart Home → MQTT** i slijedite čarobnjak za aktivaciju.
3. Unesite **naziv hosta ili IPv4 adresu brokera** (kad je broker TapHome, IP adresu centralne jedinice Core, a ne IP adresu brave) te **korisničko ime** i **lozinku**, ako ih broker traži.
4. Ostavite opciju **Allow locking** uključenu (zadano). Bez nje se brava ne pretplaćuje na teme naredbi: TapHome tada samo prikazuje njezina stanja i ne može je zaključati ni otključati.
5. Opciju **Auto discovery** (otkrivanje za Home Assistant, zadano uključeno) TapHome ne koristi, jer predložak čita samo teme `nuki/<Nuki ID>/…`. Može ostati uključena ili se može isključiti.
6. Provjerite status veze koji aplikacija Nuki prikazuje u istom odjeljku MQTT.

### Nuki ID

Teme svake brave sadrže njezin **Nuki ID** u heksadecimalnom obliku, na primjer `2BB28570`. Otisnut je na naljepnici brave, a prikazan je i u administraciji uređaja u aplikaciji Nuki. ID se mora unijeti točno u tom heksadecimalnom obliku.

### Parametri predloška

U sustavu TapHome predložak se dodaje preko sučelja **Packet Parser** sa sljedećim parametrima uvoza:

| Parametar | Što unijeti | Primjer |
|---|---|---|
| Nuki ID (hex) | heksadecimalni Nuki ID brave, iz aplikacije Nuki ili s naljepnice | `2BB28570` |
| IP adresa MQTT brokera | adresa brokera za TapHome: uz sučelje TapHome MQTT Broker `127.0.0.1` (Core se spaja sam na sebe); brava dobiva IP adresu centralne jedinice Core, **ne** IP adresu brave | `127.0.0.1` |

## Mogućnosti uređaja

### Brava

Sklopka **Brava** prikazuje **Zaključano** ili **Otključano**. Stanja Nuki otključavanje, otključano, jezičac povučen, otključano (Lock 'n' Go) i povlačenje jezičca računaju se kao Otključano. Tijekom zaključavanja te kad brava nije kalibrirana ili je motor blokiran, sklopka zadržava zadnju vrijednost.

Odabir **Zaključano** šalje bravi Nuki radnju *lock*, a odabir **Otključano** radnju *unlock*: brava se otključa bez povlačenja jezičca. Predložak šalje naredbu tek nakon što od brave primi stanje i samo kad se tražena vrijednost razlikuje od trenutačnog stanja.

Servisni atributi uređaja Brava:

- **Stanje brave Nuki**: točno stanje, uključujući Zaključavanje, Otključavanje, Jezičac povučen, Povlačenje jezičca, Otključano (Lock 'n' Go), Nije kalibrirano i Motor blokiran
- **Kritična baterija brave** i **Kritična baterija tipkovnice**: treba li zamijeniti baterije
- **Punjenje baterije**
- **Veza s brokerom**: je li brava spojena na MQTT broker
- **Veza s poslužiteljem Nuki**
- **Odgovor na naredbu**: Uspjeh ili kod pogreške zadnje naredbe koji je javila brava
- **Zadnja radnja**: naziv zadnje radnje brave, na primjer Otključavanje, Zaključavanje, Otvaranje (unlatch) ili Lock 'n' Go (ista vrijednost kao uređaj Zadnja radnja brave, vidi niže)
- **Zadnje ažuriranje**: vrijeme zadnjeg ažuriranja od brave, prikazano u lokalnom vremenu centralne jedinice TapHome Core
- **Verzija firmvera**

Uređaj Brava ima i servisnu radnju **Lock 'n' Go**.

### Zaključavanje, Otvaranje (Unlatch) i Lock 'n' Go

- **Zaključavanje**: tipkalo koje zaključava bravu (Nuki radnja *lock*). Naredbu šalje pri svakom pritisku, bez obzira na stanje sklopke Brava.
- **Otvaranje (Unlatch)**: tipkalo koje otključava bravu i povlači jezičac, tako da se vrata mogu otvoriti bez kvake.
- **Lock 'n' Go**: tipkalo koje otključava bravu i ponovno je zaključava nakon što se vrata zatvore.

### Senzor vrata

**Senzor vrata** prikazuje **Otvoreno** ili **Zatvoreno** kad je s bravom uparen Nuki Door Sensor. Kad senzor vrata javi neovlašteno diranje (tamper), uređaj prikazuje Otvoreno i javlja upozorenje. Deaktivirani senzor vrata javlja se kao informativna poruka.

### Razina baterije

**Razina baterije** prikazuje napunjenost baterija brave u %.

### Zadnja radnja brave

**Zadnja radnja brave** prikazuje broj zadnje radnje koju je brava trebala izvršiti, bilo iz sustava TapHome, aplikacije Nuki, tipke na bravi, tipkovnice ili privjeska:

| Vrijednost | Radnja brave |
|---|---|
| 1 | otključavanje |
| 2 | zaključavanje |
| 3 | otvaranje (unlatch) |
| 4 | Lock 'n' Go |
| 5 | Lock 'n' Go s otvaranjem (unlatch) |
| 6 | potpuno zaključavanje |
| 80 | privjesak (bez radnje) |
| 90 | tipka (bez radnje) |

Vrijednost ostaje brojčana kako bi se mogla koristiti kao okidač za smart rules; uređaj Brava prikazuje istu radnju nazivom u servisnom atributu **Zadnja radnja**. Neuspješne unose koda na tipkovnici i naredbe izvan dopuštenog vremenskog prozora brava ne javlja.

> [!NOTE]
> Nakon ponovnog pokretanja centralne jedinice TapHome Core predložak bravi **ne šalje nikakvu naredbu**: sklopka Brava preuzima stanje koje javi brava. Brava objavljuje svoja stanja kao zadržane poruke (retained), pa se vrijednosti vraćaju iz onoga što broker čuva; uređaj koji nakon ponovnog pokretanja ne primi takvu vrijednost prikazat će ispravno stanje pri sljedećoj promjeni na bravi.

## Rješavanje problema

- **Brava se ne spaja na broker:** u aplikaciji Nuki provjerite je li adresa brokera privatna IP adresa u istoj mreži (uz TapHome IP adresa centralne jedinice Core), prima li broker veze na portu 1883 bez TLS-a te odgovaraju li korisničko ime i lozinka postavkama brokera. Servisni atribut **Veza s brokerom** mora prikazivati Spojeno.
- **Aktivacija MQTT-a u aplikaciji Nuki ne uspijeva:** ažurirajte firmver brave, provjerite je li brava spojena na mrežu (Wi-Fi na 2,4 GHz ili Thread), je li verzija protokola MQTT 3.1.1 ili novija te jesu li korisničko ime i lozinka ovlašteni na brokeru. Ako aplikacija javi neispravan identifikator klijenta, Nuki traži da se obratite njegovoj podršci.
- **Stanja se prikazuju, ali naredbe ne djeluju:** u postavkama MQTT u aplikaciji Nuki uključite **Allow locking**. Servisni atribut **Odgovor na naredbu** prikazuje Uspjeh ili kod pogreške brave. Brava obrađuje samo jednu naredbu odjednom; kad se istodobno pošalje više naredbi, odgovori se mogu preklapati.
- **U sustavu TapHome ništa se ne prikazuje:** provjerite Nuki ID. Mora biti u heksadecimalnom obliku točno kako ga prikazuje aplikacija Nuki ili naljepnica.
- **Stanje brave Nuki prikazuje Nije kalibrirano:** dovršite kalibraciju brave u aplikaciji Nuki.
- **Senzor vrata se nikad ne mijenja:** s bravom mora biti uparen Nuki Door Sensor; bez njega brava ne javlja stanje vrata.

## Dostupni uređaji 7

Ovi se uređaji pojavljuju u TapHomeu nakon uvoza.

Nuki Smart Lock 4 Pro Modul

Zámok Prekidač s više vrijednosti

Vrijednosti / stanja: Zamknuté · Odomknuté

Servisne radnje

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

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

Čitanje stanja sklopke

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

Zapis stanja sklopke

```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
```

Servisni atributi

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)
```

Servisne radnje

Lock 'n' Go

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

Dverový senzor Magnetski kontakt

Čitanje

```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) Tipkalo

Čitanje stanja tipke

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

Zapis stanja tipke

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

Lock 'n' Go Tipkalo

Čitanje stanja tipke

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

Zapis stanja tipke

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

Úroveň batérie Analogni ulaz

Čitanje razine ulaza

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

Listener

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

Posledná akcia zámku Varijabla

Čitanje

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

Listener

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

Zamknúť Tipkalo

Čitanje stanja tipke

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

Zapis stanja tipke

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

**Povezivanje:** Packet Parser → MQTT

## Parametri uvoza

Ove vrijednosti unosite pri uvozu XML-a.

| Pitanje u aplikaciji          | Zadano        |
|-------------------------------|---------------|
| Nuki ID (hex, napr. 2BB28570) | `2BB28570`    |
| IP adresa MQTT brokera        | `192.168.1.1` |

## Povezana dokumentacija

- [MQTT Integration](https://taphome.com/hr/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/hr/docs/integration/packet-parser/)
- [Funkcije Packet parsera](https://taphome.com/hr/docs/script/packet-parser/)
- [Funkcije za raščlambu](https://taphome.com/hr/docs/script/parsing-functions/)
- [MQTT Broker](https://taphome.com/hr/docs/integration/packet-parser/mqtt-broker/)
- [Listener skripte](https://taphome.com/hr/docs/script/listener-scripts/)

