---
title: "Nuki Smart Lock 4 Pro (MQTT)"
description: "Nuki Smart Lock 4 Pro přes MQTT: zamknutí, odemknutí, unlatch, Lock 'n' Go, dveřní senzor, baterie. Nutný broker v LAN na portu 1883, např. TapHome Core."
url: "https://taphome.com/cs/compatibility/nuki-smart-lock-4-pro-mqtt/"
language: cs
lastmod: 2026-11-13
generator: hugo
ai:
  topics: ["mqtt","smart-lock","door-lock","access-control","wifi","thread","battery-powered"]
  questions: ["Jak integrovat Nuki Smart Lock 4 Pro s TapHome?","Co ovládá a čte šablona TapHome pro Nuki Smart Lock 4 Pro?","Jak připojit Nuki Smart Lock k TapHome přes MQTT bez Nuki Bridge?","Jak zapnout MQTT v aplikaci Nuki a jakou adresu brokeru zadat?","Kde najdu Nuki ID zámku v šestnáctkovém tvaru?","Proč zámek Nuki ukazuje v TapHome stav, ale nereaguje na příkazy?","Proč se Nuki Smart Lock nepřipojí k MQTT brokeru?","Které modely Nuki Smart Lock podporují MQTT API?"]
---

# Nuki Smart Lock 4 Pro (MQTT)

Komunikace: Packet Parser → MQTT

> Adresa v síti
> 
> U MQTT brokeru vestavěného v TapHome zadejte v TapHome jako adresu brokeru `127.0.0.1`. V zařízení zadejte IP adresu TapHome Core a jednotce Core dejte rezervaci IP v routeru.
> 
> [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/)

## Návod na integraci

Nuki Smart Lock 4 Pro je bateriový smart zámek pro dodatečnou montáž s vestavěnou Wi-Fi a podporou Matter over Thread. Šablona ho připojuje do TapHome přes vlastní MQTT rozhraní zámku (Nuki MQTT API), takže Nuki Bridge ani žádná jiná brána není potřeba. Zámek funguje jako MQTT klient: připojí se k MQTT brokeru v místní síti, publikuje své stavy v topicích `nuki/<Nuki ID>/…` a ve stejných topicích přijímá příkazy. Brokerem může být rozhraní **MQTT Broker**, které běží přímo v TapHome Core.

TapHome čte stav zámku, stav dveřního senzoru, úroveň baterie a poslední akci zámku a posílá příkazy zamknout, odemknout, odblokovat (unlatch) a Lock 'n' Go.

Podle výrobce Nuki je stejné MQTT API k dispozici na všech modelech Smart Lock 4. generace (s označením Pro i bez něj), na Smart Lock 3.0 Pro (firmware 3.5.12 nebo vyšší) a na nejnovějších modelech Smart Lock Ultra, Smart Lock Pro (5. generace) a Smart Lock Go. Šablona je pojmenovaná podle Smart Lock 4 Pro.

> [!WARNING]
> Zámek se připojuje pouze k brokeru v místní síti (privátní adresy 10.x.x.x, 172.16.x.x – 172.31.x.x, 192.168.x.x), vždy na portu 1883 a bez šifrování — TLS není podporováno. Bezpečnost příkazů závisí výhradně na zabezpečení Wi-Fi nebo LAN sítě. MQTT rozhraní používejte pouze v důvěryhodné síti.

## Síťové připojení

MQTT běží přes síťové připojení zámku, proto musí být zámek nejprve ve stejné síti jako broker. Nuki podporuje MQTT přes Wi-Fi nebo přes Thread (Matter).

- **Wi-Fi:** v aplikaci Nuki otevřete nastavení zámku **Settings → Features & Configuration → Built-in Wi-Fi → Configure Wi-Fi**, vyberte síť a zadejte její heslo. Zámek podporuje pouze Wi-Fi 2,4 GHz (802.11 b/g/n); sítě 5 GHz nejsou podporovány.
- **Thread:** zámek lze do sítě připojit také přes Matter over Thread podle postupu výrobce Nuki.

Žádná kabeláž není potřeba — zámek je napájen bateriemi (4× AA nebo Nuki Power Pack) a mechanicky se montuje na vnitřní stranu dveří podle montážního návodu Nuki.

## Konfigurace

### MQTT broker

Zámek potřebuje MQTT broker, který je dostupný v místní síti:

| Požadavek | Hodnota |
|---|---|
| Adresa brokeru | privátní IPv4 adresa nebo hostname, který se přeloží na privátní IP adresu |
| Port | 1883 (pevný, nelze změnit) |
| Šifrování | žádné (TLS není podporováno) |
| Jméno a heslo | na straně brokeru volitelné; každé nejvýše 32 znaků |
| Verze protokolu MQTT | 3.1.1 nebo novější |

Cloudové brokery na internetu nefungují. U rozhraní **MQTT Broker** v TapHome je adresou brokeru IP adresa TapHome Core. Pokud jsou na brokeru nastavené jméno a heslo, stejné přihlašovací údaje se zadají i v aplikaci Nuki.

### Zapnutí MQTT v aplikaci Nuki

1. V aplikaci Nuki klepněte na zámek a otevřete jeho nastavení.
2. Přejděte do **Features & Configuration → Smart Home → MQTT** a postupujte podle průvodce aktivací.
3. Zadejte **hostname nebo IPv4 adresu brokeru** (když je brokerem TapHome, IP adresu Core — ne IP adresu zámku) a **jméno** a **heslo**, pokud je broker vyžaduje.
4. Volbu **Allow locking** nechte zapnutou (výchozí). Bez ní se zámek nepřihlásí k odběru příkazových topiců: TapHome pak zobrazuje jen jeho stavy a nedokáže ho zamknout ani odemknout.
5. **Auto discovery** (vyhledávání pro Home Assistant, ve výchozím stavu zapnuté) TapHome nepoužívá — šablona čte pouze topicy `nuki/<Nuki ID>/…`. Volba může zůstat zapnutá, nebo ji lze vypnout.
6. Zkontrolujte stav připojení, který aplikace Nuki zobrazuje ve stejné části MQTT.

### Nuki ID

Topicy každého zámku obsahují jeho **Nuki ID** v šestnáctkovém tvaru, například `2BB28570`. Je vytištěné na štítku zámku a zobrazuje se také ve správě zařízení v aplikaci Nuki. ID je nutné zadat přesně v tomto šestnáctkovém tvaru.

### Parametry šablony

V TapHome se šablona přidává přes rozhraní **Packet Parser** s těmito parametry importu:

| Parametr | Co zadat | Příklad |
|---|---|---|
| Nuki ID (hex) | Nuki ID zámku v šestnáctkovém tvaru, z aplikace Nuki nebo ze štítku | `2BB28570` |
| IP adresa MQTT brokeru | adresa brokeru pro TapHome — u rozhraní MQTT Broker v TapHome `127.0.0.1` (Core se připojuje sám k sobě); zámek dostane IP adresu Core, **ne** IP adresu zámku | `127.0.0.1` |

## Možnosti zařízení

### Zámek

Přepínač **Zámek** ukazuje **Zamčeno** nebo **Odemčeno**. Stavy Nuki odemykání, odemčeno, odblokováno, odemčeno (Lock 'n' Go) a odblokování se všechny počítají jako Odemčeno. Během zamykání a když je zámek nekalibrovaný nebo je motor zablokovaný, přepínač ponechá poslední hodnotu.

Volba **Zamčeno** pošle akci zámku Nuki *lock* (zamknout), volba **Odemčeno** pošle *unlock* (odemknout) — zámek se odemkne bez stažení střelky. Šablona pošle příkaz až poté, co od zámku obdržela stav, a jen tehdy, když se požadovaná hodnota liší od aktuálního stavu.

Servisní atributy zařízení Zámek:

- **Stav zámku Nuki** — přesný stav včetně Zamykání, Odemykání, Odblokováno, Odblokování, Odemčeno (Lock 'n' Go), Nekalibrováno a Motor zablokován
- **Kritická baterie zámku** a **Kritická baterie klávesnice** — zda je potřeba vyměnit baterie
- **Nabíjení baterie**
- **Připojení k brokeru** — zda je zámek připojený k MQTT brokeru
- **Připojení k serveru Nuki**
- **Odezva na příkaz** — Úspěch nebo chybový kód posledního příkazu, který ohlásil zámek
- **Poslední akce** — název poslední akce zámku, například Odemknutí, Zamknutí, Odblokování nebo Lock 'n' Go (stejná hodnota jako zařízení Poslední akce zámku, viz níže)
- **Poslední aktualizace** — čas poslední aktualizace ze zámku, zobrazený v místním čase TapHome Core
- **Verze firmwaru**

Zařízení Zámek má také servisní akci **Lock 'n' Go**.

### Zamknout, Odblokování (Unlatch) a Lock 'n' Go

- **Zamknout** — tlačítko: zamkne zámek (akce zámku Nuki *lock*). Příkaz pošle při každém stisknutí bez ohledu na stav přepínače Zámek.
- **Odblokování (Unlatch)** — tlačítko: odemkne zámek a stáhne střelku, takže dveře lze otevřít bez kliky.
- **Lock 'n' Go** — tlačítko: odemkne zámek a po zavření dveří ho znovu zamkne.

### Dveřní senzor

**Dveřní senzor** ukazuje **Otevřeno** nebo **Zavřeno**, pokud je se zámkem spárovaný Nuki Door Sensor. Když dveřní senzor hlásí manipulaci (tamper), zařízení ukáže Otevřeno a vyvolá varování. Deaktivovaný dveřní senzor se hlásí jako informační zpráva.

### Úroveň baterie

**Úroveň baterie** ukazuje nabití baterií zámku v %.

### Poslední akce zámku

**Poslední akce zámku** ukazuje číslo poslední akce, kterou se zámek chystal provést — z TapHome, z aplikace Nuki, tlačítkem na zámku, z klávesnice nebo klíčenkou:

| Hodnota | Akce zámku |
|---|---|
| 1 | odemknutí |
| 2 | zamknutí |
| 3 | odblokování (unlatch) |
| 4 | Lock 'n' Go |
| 5 | Lock 'n' Go s odblokováním |
| 6 | úplné zamknutí |
| 80 | klíčenka (bez akce) |
| 90 | tlačítko (bez akce) |

Hodnota zůstává číselná, aby ji šlo použít jako spouštěč pro smart rules; zařízení Zámek ukazuje stejnou akci názvem v servisním atributu **Poslední akce**. Neúspěšné zadání kódu na klávesnici a příkazy mimo povolené časové okno zámek nehlásí.

> [!NOTE]
> Po restartu TapHome Core šablona zámku **nepošle žádný příkaz** — přepínač Zámek převezme stav, který ohlásí zámek. Zámek publikuje své stavy jako retained zprávy, takže se hodnoty obnoví z toho, co si pamatuje broker; zařízení, které by takovou hodnotu po restartu nedostalo, ukáže správný stav při nejbližší změně na zámku.

## Řešení problémů

- **Zámek se nepřipojí k brokeru:** v aplikaci Nuki zkontrolujte, že adresa brokeru je privátní IP adresa ve stejné síti (u TapHome IP adresa Core), že broker přijímá připojení na portu 1883 bez TLS a že jméno a heslo odpovídají nastavení brokeru. Servisní atribut **Připojení k brokeru** musí ukazovat Připojeno.
- **Aktivace MQTT v aplikaci Nuki selže:** aktualizujte firmware zámku, zkontrolujte, že je zámek připojený k síti (Wi-Fi 2,4 GHz nebo Thread), že verze protokolu MQTT je 3.1.1 nebo novější a že jméno a heslo jsou na brokeru autorizované. Pokud aplikace hlásí nesprávný identifikátor klienta, Nuki žádá kontaktovat jeho podporu.
- **Stavy se zobrazují, ale příkazy nic nedělají:** v nastavení MQTT v aplikaci Nuki zapněte **Allow locking**. Servisní atribut **Odezva na příkaz** ukazuje Úspěch nebo chybový kód zámku. Zámek zpracovává vždy jen jeden příkaz; když se pošle více příkazů najednou, odpovědi se mohou překrývat.
- **V TapHome se nic nezobrazuje:** zkontrolujte Nuki ID — musí být v šestnáctkovém tvaru přesně tak, jak ho ukazuje aplikace Nuki nebo štítek.
- **Stav zámku Nuki ukazuje Nekalibrováno:** dokončete kalibraci zámku v aplikaci Nuki.
- **Dveřní senzor se nikdy nezmění:** se zámkem musí být spárovaný Nuki Door Sensor; bez něj zámek stav dveří nehlásí.

## Dostupná zařízení 7

Tato zařízení se po importu zobrazí v TapHome.

Nuki Smart Lock 4 Pro Modul

Zámok Vícestavový přepínač

Hodnoty / Stavy: Zamknuté · Odomknuté

Servisní akce

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

Proměnná: `batteryCritical`, Proměnná: `batteryCharging`, Proměnná: `keypadBatteryCritical`, Proměnná: `nukiConnected`, Proměnná: `serverConnected`, Proměnná: `commandResponse`, Proměnná: `nukiTimestamp`, Proměnná: `nukiFirmware`, Proměnná: `ready`, Proměnná: `lastState`, Proměnná: `lastAction`

Čtení stavu přepínače

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

Zápis stavu přepínače

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

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í akce

Lock 'n' Go

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

Dverový senzor Jazýčkový kontakt

Čtení

```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čítko

Čtení stavu tlačítka

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

Zápis stavu tlačítka

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

Lock 'n' Go Tlačítko

Čtení stavu tlačítka

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

Zápis stavu tlačítka

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

Úroveň batérie Analogový vstup

Čtení vstupní úrovně

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

Listener

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

Posledná akcia zámku Proměnná

Čtení

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

Listener

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

Zamknúť Tlačítko

Čtení stavu tlačítka

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

Zápis stavu tlačítka

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

**Připojení:** Packet Parser → MQTT

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci             | Výchozí       |
|-------------------------------|---------------|
| Nuki ID (hex, napr. 2BB28570) | `2BB28570`    |
| IP adresa MQTT brokera        | `192.168.1.1` |

## Související dokumentace

- [MQTT Integration](https://taphome.com/cs/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/cs/docs/integration/packet-parser/)
- [Funkce Packet parser](https://taphome.com/cs/docs/script/packet-parser/)
- [Funkce pro parsování](https://taphome.com/cs/docs/script/parsing-functions/)
- [Broker MQTT](https://taphome.com/cs/docs/integration/packet-parser/mqtt-broker/)
- [Listener skripty](https://taphome.com/cs/docs/script/listener-scripts/)

