Hallo zusammen,
seit einigen Tagen habe ich ein Nuki 3.0 Pro mit integriertem WLAN in Betrieb (also ohne Nuki Bridge). Für die Anbindung des Nuki an FHEM mittels MQTT habe ich mich an folgenden Threads orientiert:
1. https://forum.fhem.de/index.php?topic=136429.0
2. https://forum.fhem.de/index.php?topic=138696.0
Der aktuelle Zustand (verschlossen / entriegelt) wird vom Nuki an FHEM übermittelt und hier dargestellt, den Zustand kann ich über FHEM auch ändern (also verschließen und entriegeln). Das ist schonmal gut.
Aufgefallen ist mir, dass das Batterie-Reading nicht übermittelt wird bzw. immer 0 ist. Das ist jetzt nicht hochkritisch, aber unschön.
Wegen dem fehlenden Batterie-Reading weiß ich nicht, ob es weitere Readings gibt / geben müssten, die mir ebenfalls fehlen.
Das MQTT2_Server Device sieht wie folgt aus:
Internals:
CONNECTS 18
Clients :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
ClientsKeepOrder 1
DEF 1883 192.168.94.11
FD 9
FUUID 66504ec7-f33f-a48e-0234-f7152448691547d4
NAME MQTT2_Server
NR 360
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
eventCount 33
MatchList:
1:MQTT2_DEVICE ^.
2:MQTT_GENERIC_BRIDGE ^.
READINGS:
2025-12-08 09:40:32 nrclients 3
2025-12-07 21:30:41 state Initialized
clients:
MQTT2_Server_192.168.94.17_64691 1
MQTT2_Server_192.168.94.18_49960 1
MQTT2_Server_192.168.94.19_50244 1
retain:
Attributes:
autocreate complex
room System->Dienste
Das MQTT2_Device (Nuki):
Internals:
CFGFN
CID SL3P_3007AEE4
DEF SL3P_3007AEE4
FUUID 6935e9be-f33f-6002-131e-b2aaf602ed869d99
IODev MQTT2_Server
LASTInputDev MQTT2_Server
MQTT2_Server_CONN MQTT2_Server_192.168.94.19_50244
MQTT2_Server_MSGCNT 115
MQTT2_Server_TIME 2025-12-08 13:16:20
MSGCNT 115
NAME MQTT2_Nuki
NR 463
STATE 1
TYPE MQTT2_DEVICE
eventCount 136
READINGS:
2025-12-08 13:16:20 BatteryChargeState 0
2025-12-08 08:33:08 IODev MQTT2_Server
2025-12-08 13:16:20 battery low
2025-12-08 13:16:20 batteryPercent 0
2025-12-08 13:16:18 commandResponse 0
2025-12-07 22:03:50 config {"~":"nuki/3007AEE4","avty_t":"~/connected","pl_avail":"true", "pl_not_avail":"false","dev":{"ids":"[3007AEE4]"},"name":"Lock 'n' Go with unlatch","uniq_id":"3007AEE4_lock_n_go_unlatch_button","cmd_t":"~/lockAction","pl_prs":"5","qos":2}
2025-12-08 09:40:32 connected true
2025-12-08 13:16:19 lockActionEvent 2,172,0,0,0
2025-12-08 09:40:34 serverConnected false
2025-12-08 13:16:19 state 1
2025-12-08 13:16:20 timestamp 2025-12-08T12:16:09Z
Attributes:
IODev MQTT2_Server
devStateIcon lock:nuki_lock@green 1:nuki_lock@green .*:nuki_lock@red
genericDeviceType lock
readingList SL3P_3007AEE4:homeassistant/lock/nuki_3007AEE4_lock/config:.* config
SL3P_3007AEE4:homeassistant/binary_sensor/nuki_3007AEE4_lock/config:.* config
SL3P_3007AEE4:homeassistant/sensor/nuki_3007AEE4_battery_percent/config:.* config
SL3P_3007AEE4:homeassistant/binary_sensor/nuki_3007AEE4_lock_battery_critical/config:.* config
SL3P_3007AEE4:homeassistant/binary_sensor/nuki_3007AEE4_battery_charging/config:.* config
SL3P_3007AEE4:homeassistant/binary_sensor/nuki_3007AEE4_door_sensor/config:.* config
SL3P_3007AEE4:homeassistant/binary_sensor/nuki_3007AEE4_door_sensor_battery_critical/config:.* config
SL3P_3007AEE4:homeassistant/binary_sensor/nuki_3007AEE4_keypad_battery_critical/config:.* config
SL3P_3007AEE4:homeassistant/button/nuki_3007AEE4_unlatch_button/config:.* config
SL3P_3007AEE4:homeassistant/button/nuki_3007AEE4_lockngo_button/config:.* config
SL3P_3007AEE4:homeassistant/button/nuki_3007AEE4_lock_n_go_unlatch/config:.* config
SL3P_3007AEE4:nuki/3007AEE4/connected:.* connected
SL3P_3007AEE4:nuki/3007AEE4/serverConnected:.* serverConnected
SL3P_3007AEE4:nuki/3007AEE4/state:.* state
SL3P_3007AEE4:nuki/3007AEE4/lockActionEvent:.* lockActionEvent
SL3P_3007AEE4:nuki/3007AEE4/timestamp:.* timestamp
nuki/3007AEE4/state:.* state
nuki/3007AEE4/lockActionEvent:.* lockActionEvent
nuki/3007AEE4/timestamp:.* timestamp
nuki/3007AEE4/connected:.* connected
nuki/3007AEE4/deviceType:.* deviceType
nuki/3007AEE4/name:.* name
nuki/3007AEE4/firmware:.* firmware
nuki/3007AEE4/serverConnected:.* serverConnected
nuki/3007AEE4/mode:.* mode
nuki/3007AEE4/doorsensorState:.* doorsensorState
nuki/3007AEE4/batteryCritical:.* batteryCritical
nuki/3007AEE4/batteryChargeState:.* batteryChargeState
nuki/3007AEE4/batteryCharging:.* batteryCharging
nuki/3007AEE4/commandResponse:.* commandResponse
room Haushalt,System->Dienste
setList unlock:noArg nuki/3007AEE4/lockAction 1
lock:noArg nuki/3007AEE4/lock true
unlatch:noArg nuki/3007AEE4/lockAction 3
userReadings battery {my $wert = ReadingsVal($name,"batteryCritical",0); ($wert eq "false" ) ? 'ok' : 'low'}, BatteryChargeState { ReadingsVal($name,"batteryChargeState",0) },
batteryPercent {ReadingsVal("Nuki_Haustuer","BatteryChargeState",0)}
webCmd lock:unlock
In der Nuki App ist für MQTT die IP-Adresse des MQTT2 Server hinterlegt und als Benutzername "nuki".
Hat jemand einen Hinweis für mich, was wo fehlt, damit das Batterie-Reading (und ggf. auch weiter) vom Nuki in FHEM landen?
Wie immer vielen Dank vorab.
Hier mal mein Device welches wie gewünscht funktioniert:
define Haustuer MQTT2_DEVICE Nuki_3F5xxxxx
attr Haustuer event-on-change-reading .*
attr Haustuer genericDeviceType lock
attr Haustuer readingList Nuki_3F5xxxxx:nuki/3F5xxxxx/connected:.* connected\
Nuki_3F5xxxxx:nuki/3F5xxxxx/timestamp:.* timestamp\
Nuki_3F5xxxxx:nuki/3F5xxxxx/deviceType:.* deviceType\
Nuki_3F5xxxxx:nuki/3F5xxxxx/name:.* name\
Nuki_3F5xxxxx:nuki/3F5xxxxx/firmware:.* firmware\
Nuki_3F5xxxxx:nuki/3F5xxxxx/batteryChargeState:.* batteryChargeState\
Nuki_3F5xxxxx:nuki/3F5xxxxx/batteryCritical:.* batteryCritical\
Nuki_3F5xxxxx:nuki/3F5xxxxx/batteryCharging:.* batteryCharging\
Nuki_3F5xxxxx:nuki/3F5xxxxx/keypadBatteryCritical:.* keypadBatteryCritical\
Nuki_3F5xxxxx:nuki/3F5xxxxx/doorsensorBatteryCritical:.* doorsensorBatteryCritical\
Nuki_3F5xxxxx:nuki/3F5xxxxx/state:.* state\
Nuki_3F5xxxxx:nuki/3F5xxxxx/mode:.* mode\
Nuki_3F5xxxxx:nuki/3F5xxxxx/serverConnected:.* serverConnected\
Nuki_3F5xxxxx:nuki/3F5xxxxx/lockActionEvent:.* lockActionEvent\
Nuki_3F5xxxxx:nuki/3F5xxxxx/doorsensorState:.* doorsensorState\
Nuki_3F5xxxxx:nuki/3F5xxxxx/commandResponse:.* commandResponse
attr Haustuer room 13_Flur,MQTT2_DEVICE,NUKI
attr Haustuer setList unlock:noArg nuki/3F5xxxxx/lockAction 1\
lock:noArg nuki/3F5xxxxx/lock true\
unlatch:noArg nuki/3F5xxxxx/lockAction 3
attr Haustuer stateFormat { sprintf("Schloss : %s Batterie : %s", getDoorState(ReadingsVal("Haustuer","state",0)), ReadingsVal("Haustuer","batteryChargeState",0)) }
attr Haustuer userReadings battery {my $wert = ReadingsVal($name,"batteryCritical",0);; ($wert eq "false" ) ? 'ok' : 'low'}, BatteryChargeState { ReadingsVal($name,"batteryChargeState",0) },\
batteryPercent {ReadingsVal($name,"BatteryChargeState",0)}
attr Haustuer webCmd lock:unlock
# CID Nuki_3F5xxxxx
# DEF Nuki_3F5xxxxx
# FUUID 670a6df0-f33f-1505-5e0b-413b98a308b76d5c
# IODev mqtt2_server
# LASTInputDev mqtt2_server
# MSGCNT 118
# NAME Haustuer
# NR 819
# STATE Schloss : Aufgeschlossen Batterie : 30
# TYPE MQTT2_DEVICE
# eventCount 68
# mqtt2_server_CONN mqtt2_server_10.10.0.122_63904
# mqtt2_server_MSGCNT 118
# mqtt2_server_TIME 2025-12-08 16:22:26
# READINGS:
# 2025-12-08 16:22:26 BatteryChargeState 30
# 2025-12-07 15:32:08 IODev mqtt2_server
# 2025-12-08 16:22:26 battery ok
# 2025-12-08 16:22:26 batteryChargeState 30
# 2025-12-07 15:34:28 batteryCharging false
# 2025-12-07 15:34:28 batteryCritical false
# 2025-12-08 16:22:26 batteryPercent 30
# 2025-12-08 16:09:55 commandResponse 0
# 2025-12-07 15:34:27 connected true
# 2025-12-07 15:34:27 deviceType 4
# 2025-12-07 15:34:28 doorsensorBatteryCritical false
# 2025-12-07 15:34:28 firmware 4.7.4
# 2025-12-07 15:34:28 keypadBatteryCritical false
# 2025-12-08 16:09:50 lockActionEvent 1,172,0,0,0
# 2025-12-07 15:34:28 mode 2
# 2025-12-07 15:34:28 name Haustür
# 2025-12-08 07:13:02 serverConnected true
# 2025-12-08 16:09:55 state 3
# 2025-11-25 21:02:16 subscriptions nuki/3F5xxxxx/lock nuki/3F5xxxxx/lockAction nuki/3F5xxxxx/unlock
# 2025-12-08 16:22:26 timestamp 2025-12-08T15:22:25Z
#
Habe mal ein Augenmerk auf das Attribut "readingList", damit werden die Readings erzeugt.
Gruß
Danny
Danke Danny.
Das Batterie-Reading und weitere sind dann irgendwann gekommen, ohne Änderungen an meiner Config.
Nun nachdem das Nuki ca. 4 Wochen in Betrieb ist, sehe ich, dass manche Readings nur selten aktualisiert werden. Ich habe einige Readings die zuletzt vor 14 bzw. 8 Tagen aktualisiert wurden.