TapHome
Zajednica Provjereno Sigurnost

Nuki Smart Lock 4 Pro (MQTT)

Nuki Smart Lock 4 Pro u sustavu TapHome preko izvornog MQTT API-ja, bez uređaja Nuki Bridge: zaključavanje, otključavanje, otvaranje (unlatch) i Lock 'n' Go te stanje brave, senzor vrata, razina baterije i zadnja radnja brave. Brava se preko Wi-Fi-ja na 2,4 GHz ili Threada spaja na MQTT broker u LAN-u, na primjer na centralnu jedinicu TapHome Core.

NukiPacket Parser → MQTT7 uređajaRevizija 1.3 Posljednje ažuriranje: 15. studenoga 2026.

Autor Marek Smarkoň

Uvoz u aplikaciju TapHomeHardver › Packet Parser › Dodaj iz predloška

Preuzmite predložak
Na ovoj stranici

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

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.

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:

ZahtjevVrijednost
Adresa brokeraprivatna IPv4 adresa ili naziv hosta koji se razrješava u privatnu IP adresu
Port1883 (fiksno, ne može se promijeniti)
Šifriranjenema (TLS nije podržan)
Korisničko ime i lozinkaneobavezno na strani brokera; svako najviše 32 znaka
Verzija protokola MQTT3.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 unijetiPrimjer
Nuki ID (hex)heksadecimalni Nuki ID brave, iz aplikacije Nuki ili s naljepnice2BB28570
IP adresa MQTT brokeraadresa 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 brave127.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:

VrijednostRadnja brave
1otključavanje
2zaključavanje
3otvaranje (unlatch)
4Lock ’n’ Go
5Lock ’n’ Go s otvaranjem (unlatch)
6potpuno zaključavanje
80privjesak (bez radnje)
90tipka (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.

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

Zámok

Čitanje stanja sklopke
RETURN(Mu);
Zapis stanja sklopke
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
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
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
IF(batteryCritical = "true", "Áno — vymeniť batérie", "Nie")
Nabíjanie batérie
IF(batteryCharging = "true", "Prebieha", "Neprebieha")
Krit. batéria klávesnice
IF(keypadBatteryCritical = "true", "Áno — vymeniť batérie", "Nie")
Pripojenie k brokeru
IF(nukiConnected = "true", "Pripojený", "Odpojený")
Pripojenie k serveru Nuki
IF(serverConnected = "true", "Pripojený", "Odpojený")
Odozva na príkaz
IF(commandResponse = "0", "Úspech", IF(LENGTH(commandResponse) = 0, "—", "Chyba zámku: " + commandResponse))
Posledná akcia
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
IF(LENGTH(nukiTimestamp) = 0, "—", nukiTimestamp)
Verzia firmvéru
IF(LENGTH(nukiFirmware) = 0, "—", nukiFirmware)
Servisne radnje
Lock 'n' Go
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "4");
Dverový senzor Magnetski kontakt

Dverový senzor

Čitanje
RETURN(Rc);
Listener
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

Odblokovanie (Unlatch)

Čitanje stanja tipke
Bp := 0;
Zapis stanja tipke
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "3");
Lock 'n' Go Tipkalo

Lock 'n' Go

Čitanje stanja tipke
Bp := 0;
Zapis stanja tipke
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "4");
Úroveň batérie Analogni ulaz

Úroveň batérie

Čitanje razine ulaza
RETURN(An);
Listener
IF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/batteryChargeState")
    An := TODOUBLE(TOSTRING(RECEIVEDMSG.PAYLOAD)) / 100;
END
Posledná akcia zámku Varijabla

Posledná akcia zámku

Čitanje
RETURN(Va);
Listener
IF(RECEIVEDMSG.TOPIC = "nuki/$[NukiId]/lockActionEvent")
    Va := TODOUBLE(GETAT(SPLIT(TOSTRING(RECEIVEDMSG.PAYLOAD), ","), 0));
END
Zamknúť Tipkalo

Zamknúť

Čitanje stanja tipke
Bp := 0;
Zapis stanja tipke
MQTTPUBLISH("nuki/$[NukiId]/lockAction", "2");
Povezivanje: Packet Parser → MQTT

Parametri uvoza

Ove vrijednosti unosite pri uvozu XML-a.

Pitanje u aplikacijiZadano
Nuki ID (hex, napr. 2BB28570)2BB28570
IP adresa MQTT brokera192.168.1.1

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Predložak · TapHome portal Nuki Smart Lock 4 Pro (MQTT) Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog. Packet Parser → MQTT Pogledaj u TapHome portalu