---
title: "Nuki Smart Lock 4 Pro (MQTT)"
description: "Nuki Smart Lock 4 Pro prin MQTT nativ: încuiere, descuiere, retragere limbă, Lock 'n' Go, senzor de ușă, baterie. Broker LAN, port 1883, ex. TapHome Core."
url: "https://taphome.com/ro/compatibility/nuki-smart-lock-4-pro-mqtt/"
language: ro
lastmod: 2026-11-13
generator: hugo
ai:
  topics: ["mqtt","smart-lock","door-lock","access-control","wifi","thread","battery-powered"]
  questions: ["Cum se integrează Nuki Smart Lock 4 Pro cu TapHome?","Ce controlează și ce citește șablonul TapHome pentru Nuki Smart Lock 4 Pro?","Cum se conectează un Nuki Smart Lock la TapHome prin MQTT, fără Nuki Bridge?","Cum se activează MQTT în aplicația Nuki și ce adresă de broker trebuie introdusă?","Unde se găsește Nuki ID-ul hexazecimal al încuietorii?","De ce încuietoarea Nuki își afișează starea în TapHome, dar nu reacționează la comenzi?","De ce nu se conectează Nuki Smart Lock la brokerul MQTT?","Care modele Nuki Smart Lock acceptă MQTT API?"]
---

# Nuki Smart Lock 4 Pro (MQTT)

Comunicație: Packet Parser → MQTT

> Adresa în rețea
> 
> Pentru brokerul MQTT integrat în TapHome, introduceți în TapHome `127.0.0.1` ca adresă a brokerului. În dispozitiv introduceți adresa IP a unității TapHome Core și atribuiți unității Core o rezervare IP în router.
> 
> [Pregătirea rețelei](https://taphome.com/ro/docs/setup/network-preparation/)

## Ghid de integrare

Nuki Smart Lock 4 Pro este o încuietoare inteligentă alimentată cu baterii, care se montează pe yala existentă, cu Wi-Fi integrat și Matter over Thread. Șablonul o conectează la TapHome prin interfața MQTT proprie a încuietorii (Nuki MQTT API), deci nu este necesar nici Nuki Bridge, nici alt gateway. Încuietoarea funcționează ca client MQTT: se conectează la un broker MQTT din rețeaua locală, își publică stările în topicurile `nuki/<Nuki ID>/…` și acceptă comenzile de încuiere pe aceleași topicuri. Brokerul poate fi interfața **MQTT Broker**, care rulează direct pe TapHome Core.

TapHome citește starea încuietorii, starea senzorului de ușă, nivelul bateriei și ultima acțiune a încuietorii și trimite comenzile de încuiere, descuiere, retragere a limbii yalei și Lock 'n' Go.

Conform Nuki, același MQTT API este disponibil pe toate modelele Smart Lock din generația a 4-a (cu sau fără Pro), pe Smart Lock 3.0 Pro (firmware 3.5.12 sau mai nou) și pe cele mai noi modele Smart Lock Ultra, Smart Lock Pro (generația a 5-a) și Smart Lock Go. Șablonul poartă numele Smart Lock 4 Pro.

> [!WARNING]
> Încuietoarea se conectează doar la un broker din rețeaua locală (adrese private 10.x.x.x, 172.16.x.x – 172.31.x.x, 192.168.x.x), întotdeauna pe portul 1883 și fără criptare — TLS nu este acceptat. Securitatea comenzilor depinde în întregime de securitatea rețelei Wi-Fi sau LAN. Folosiți interfața MQTT doar într-o rețea de încredere.

## Conexiunea la rețea

MQTT funcționează prin conexiunea la rețea a încuietorii, așa că încuietoarea trebuie mai întâi să fie în aceeași rețea cu brokerul. Nuki acceptă MQTT prin Wi-Fi sau prin Thread (Matter).

- **Wi-Fi:** în aplicația Nuki, deschideți la încuietoare **Settings → Features & Configuration → Built-in Wi-Fi → Configure Wi-Fi**, selectați rețeaua și introduceți parola acesteia. Încuietoarea acceptă doar Wi-Fi de 2,4 GHz (802.11 b/g/n); rețelele de 5 GHz nu sunt acceptate.
- **Thread:** alternativ, încuietoarea se conectează la rețea prin Matter over Thread, conform descrierii Nuki.

Nu este necesară nicio cablare — încuietoarea funcționează cu baterii (4× AA sau Nuki Power Pack) și se montează mecanic pe partea interioară a ușii, conform ghidului de instalare Nuki.

## Configurare

### Broker MQTT

Încuietoarea are nevoie de un broker MQTT pe care îl poate accesa în rețeaua locală:

| Cerință | Valoare |
|---|---|
| Adresa brokerului | adresă IPv4 privată sau un nume de gazdă care se rezolvă într-o adresă IP privată |
| Port | 1883 (fix, nu se poate modifica) |
| Criptare | niciuna (TLS nu este acceptat) |
| Nume de utilizator și parolă | opționale pe partea brokerului; fiecare de maximum 32 de caractere |
| Versiunea protocolului MQTT | 3.1.1 sau mai nouă |

Brokerele cloud de pe internet nu funcționează. Cu interfața **MQTT Broker** din TapHome, adresa brokerului este adresa IP a TapHome Core. Dacă pe broker sunt setate un nume de utilizator și o parolă, aceleași date de autentificare se introduc în aplicația Nuki.

### Activarea MQTT în aplicația Nuki

1. În aplicația Nuki, atingeți încuietoarea și deschideți setările acesteia.
2. Accesați **Features & Configuration → Smart Home → MQTT** și urmați asistentul de activare.
3. Introduceți **numele de gazdă sau adresa IPv4 a brokerului** (cu TapHome ca broker, adresa IP a TapHome Core — nu adresa IP a încuietorii), precum și **numele de utilizator** și **parola**, dacă brokerul le solicită.
4. Lăsați **Allow locking** activat (implicit). Fără această opțiune, încuietoarea nu se abonează la topicurile de comandă: TapHome afișează atunci doar stările ei și nu o poate încuia sau descuia.
5. **Auto discovery** (Home Assistant discovery, activat implicit) nu este folosit de TapHome — șablonul citește doar topicurile `nuki/<Nuki ID>/…`. Opțiunea poate rămâne activată sau poate fi dezactivată.
6. Verificați starea conexiunii, pe care aplicația Nuki o afișează în aceeași secțiune MQTT.

### Nuki ID

Topicurile fiecărei încuietori conțin **Nuki ID**-ul acesteia în formă hexazecimală, de exemplu `2BB28570`. Este tipărit pe eticheta încuietorii și apare și în administrarea dispozitivelor din aplicația Nuki. ID-ul trebuie introdus exact în această formă hexazecimală.

### Parametrii șablonului

În TapHome, șablonul se adaugă printr-o interfață **Packet Parser**, cu următorii parametri de import:

| Parametru | Ce se introduce | Exemplu |
|---|---|---|
| Nuki ID (hex) | Nuki ID-ul hexazecimal al încuietorii, din aplicația Nuki sau de pe etichetă | `2BB28570` |
| Adresa IP a brokerului MQTT | adresa brokerului pentru TapHome — cu interfața MQTT Broker din TapHome, `127.0.0.1` (TapHome Core se conectează la el însuși); încuietoarea primește adresa IP a TapHome Core, **nu** adresa IP a încuietorii | `127.0.0.1` |

## Funcțiile dispozitivului

### Încuietoare

Comutatorul **Încuietoare** afișează **Încuiat** sau **Descuiat**. Stările Nuki descuiere în curs, descuiat, limbă retrasă, descuiat (Lock 'n' Go) și retragere limbă în curs sunt considerate toate Descuiat. În timpul încuierii, precum și când încuietoarea este necalibrată sau motorul este blocat, comutatorul își păstrează ultima valoare.

Selectarea **Încuiat** trimite acțiunea Nuki *lock* (încuiere), selectarea **Descuiat** trimite *unlock* (descuiere) — încuietoarea se descuie fără a retrage limba yalei. Șablonul trimite o comandă doar după ce a primit o stare de la încuietoare și doar atunci când valoarea cerută diferă de starea curentă.

Atributele de service ale dispozitivului Încuietoare:

- **Stare încuietoare Nuki** — starea exactă, inclusiv Încuiere în curs, Descuiere în curs, Limbă retrasă, Retragere limbă în curs, Descuiat (Lock 'n' Go), Necalibrat și Motor blocat
- **Baterie încuietoare critică** și **Baterie tastatură critică** — dacă bateriile trebuie înlocuite
- **Încărcare baterie**
- **Conexiune broker** — dacă încuietoarea este conectată la brokerul MQTT
- **Conexiune server Nuki**
- **Răspuns la comandă** — Succes sau codul de eroare al ultimei comenzi, raportat de încuietoare
- **Ultima acțiune** — numele ultimei acțiuni a încuietorii, de exemplu descuiere, încuiere, retragere limbă sau Lock 'n' Go (aceeași valoare ca la dispozitivul Ultima acțiune a încuietorii, consultați mai jos)
- **Ultima actualizare** — momentul ultimei actualizări primite de la încuietoare, afișat în ora locală a TapHome Core
- **Versiune firmware**

Dispozitivul Încuietoare are și acțiunea de service **Lock 'n' Go**.

### Încuiere, retragere limbă și Lock 'n' Go

- **Încuiere** — buton: încuie încuietoarea (acțiunea Nuki *lock*). Trimite comanda la fiecare apăsare, indiferent de starea comutatorului Încuietoare.
- **Retragere limbă** — buton: descuie încuietoarea și retrage limba yalei, astfel încât ușa se poate deschide fără clanță.
- **Lock 'n' Go** — buton: descuie încuietoarea și o încuie din nou după închiderea ușii.

### Senzor de ușă

Dispozitivul **Senzor de ușă** afișează **Deschisă** sau **Închisă** când un Nuki Door Sensor este asociat cu încuietoarea. Când senzorul de ușă raportează o manipulare neautorizată (tamper), dispozitivul afișează Deschisă și generează un avertisment. Un senzor de ușă dezactivat este semnalat printr-un mesaj informativ.

### Nivel baterie

Dispozitivul **Nivel baterie** afișează nivelul de încărcare al bateriilor încuietorii, în %.

### Ultima acțiune a încuietorii

Dispozitivul **Ultima acțiune a încuietorii** afișează numărul ultimei acțiuni pe care încuietoarea urma să o execute — din TapHome, din aplicația Nuki, de la butonul încuietorii, de la o tastatură sau de la un fob:

| Valoare | Acțiunea încuietorii |
|---|---|
| 1 | descuiere |
| 2 | încuiere |
| 3 | retragere limbă |
| 4 | Lock 'n' Go |
| 5 | Lock 'n' Go cu retragere limbă |
| 6 | încuiere completă |
| 80 | fob (fără acțiune) |
| 90 | buton (fără acțiune) |

Valoarea rămâne numerică pentru a putea fi folosită ca declanșator pentru smart rules; dispozitivul Încuietoare afișează aceeași acțiune prin numele ei în atributul de service **Ultima acțiune**. Introducerile nereușite de cod pe tastatură și comenzile din afara unei ferestre de timp permise nu sunt raportate de încuietoare.

> [!NOTE]
> După o repornire a TapHome Core, șablonul **nu trimite nicio comandă** încuietorii — comutatorul Încuietoare preia starea raportată de încuietoare. Încuietoarea își publică stările ca mesaje reținute (retained), așa că valorile se restabilesc din ceea ce păstrează brokerul; un dispozitiv care nu primește o astfel de valoare după repornire afișează starea corectă la următoarea schimbare a încuietorii.

## Depanare

- **Încuietoarea nu se conectează la broker:** verificați în aplicația Nuki că adresa brokerului este o adresă IP privată din aceeași rețea (cu TapHome, adresa IP a TapHome Core), că brokerul acceptă conexiuni pe portul 1883 fără TLS și că numele de utilizator și parola corespund setărilor brokerului. Atributul de service **Conexiune broker** trebuie să afișeze Conectat.
- **Activarea MQTT eșuează în aplicația Nuki:** actualizați firmware-ul încuietorii, verificați că încuietoarea este conectată la rețea (Wi-Fi de 2,4 GHz sau Thread), că versiunea protocolului MQTT este 3.1.1 sau mai nouă și că numele de utilizator și parola sunt autorizate pe broker. Dacă aplicația raportează un identificator de client incorect, Nuki solicită contactarea suportului său.
- **Stările se afișează, dar comenzile nu au niciun efect:** activați **Allow locking** în setările MQTT ale aplicației Nuki. Atributul de service **Răspuns la comandă** afișează Succes sau codul de eroare al încuietorii. Încuietoarea procesează o singură comandă o dată; când se trimit mai multe comenzi în paralel, răspunsurile se pot suprapune.
- **În TapHome nu se afișează nimic:** verificați Nuki ID-ul — trebuie să fie în formă hexazecimală, exact cum apare în aplicația Nuki sau pe etichetă.
- **Atributul Stare încuietoare Nuki afișează Necalibrat:** finalizați calibrarea încuietorii în aplicația Nuki.
- **Dispozitivul Senzor de ușă nu se schimbă niciodată:** cu încuietoarea trebuie asociat un Nuki Door Sensor; fără acesta, încuietoarea nu raportează starea ușii.

## Dispozitive disponibile 7

Aceste dispozitive apar în TapHome după import.

Nuki Smart Lock 4 Pro Modul

Zámok Comutator cu mai multe valori

Valori / Stări: Zamknuté · Odomknuté

Acțiuni de service

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

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

Citirea stării comutatorului

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

Scrierea stării comutatorului

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

Ascultător

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

Atribute de service

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

Acțiuni de service

Lock 'n' Go

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

Dverový senzor Contact reed

Citire

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

Ascultător

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

Citirea stării butonului

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

Scrierea stării butonului

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

Lock 'n' Go Buton

Citirea stării butonului

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

Scrierea stării butonului

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

Úroveň batérie Intrare analogică

Citirea nivelului de intrare

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

Ascultător

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

Posledná akcia zámku Variabilă

Citire

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

Ascultător

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

Zamknúť Buton

Citirea stării butonului

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

Scrierea stării butonului

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

**Conexiune:** Packet Parser → MQTT

## Parametri de import

Introduceți aceste valori când importați XML-ul.

| Solicitat în aplicație        | Implicit      |
|-------------------------------|---------------|
| Nuki ID (hex, napr. 2BB28570) | `2BB28570`    |
| IP adresa MQTT brokera        | `192.168.1.1` |

## Documentație asociată

- [MQTT Integration](https://taphome.com/ro/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/ro/docs/integration/packet-parser/)
- [Funcții Packet parser](https://taphome.com/ro/docs/script/packet-parser/)
- [Funcții de parsare](https://taphome.com/ro/docs/script/parsing-functions/)
- [MQTT Broker](https://taphome.com/ro/docs/integration/packet-parser/mqtt-broker/)
- [Scripturi listener](https://taphome.com/ro/docs/script/listener-scripts/)

