[ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm

Begonnen von CoolTux, 18 Juli 2016, 23:50:11

Vorheriges Thema - Nächstes Thema

dobiwan

Hallo zusammen,

ich habe die NUKI Bridge erfolgreich in fhem integriert. Leider wurden die Smartlocks nicht eingerichtet. Ich habe versucht sie händisch anzulegen, was auch funktioniert. Nur sehe ich leider keinen Status.

Hat schon jemand einen NUKI FOB integriert. Ich habe jetzt nicht alle 115 Seiten und Posts durchgelesen.

Vielen Dank für eure Hilfe

heikoh81

Hallo Marko,

ich habe das Log jetzt einmal mit verbose 5 über lange Zeit laufen lassen, gestern ist die Abweichung des lock-Status dann wieder aufgetreten.

Zitat von: CoolTux am 14 Dezember 2020, 13:13:15
Scheint so als wenn über den Webhook nicht immer korrekt die Daten kommen. Aber eigentlich sollte er schon spätestens beim nächsten interval update den korrekten Status bekommen. Hier wäre ein verbose 4 Log nicht schlecht.

Aus dem Log sehe ich nicht, warum die Status-Änderung nicht in fhem erscheint.
Ein "set Nuki_Haustuer statusRequest" führt aber dazu, dass state und stateName wieder übereinstimmen.

2021-01-16_09:13:47 Nuki_Haustuer rssi: -60
2021-01-16_09:13:47 Nuki_Haustuer paired: true
2021-01-16_09:13:47 Nuki_Haustuer name: Nuki_XYXYXY
2021-01-16_09:13:47 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:13:47 Nuki_Haustuer deviceType: smartlock
2021-01-16_09:14:17 Nuki_Haustuer paired: true
2021-01-16_09:14:17 Nuki_Haustuer rssi: -60
2021-01-16_09:14:17 Nuki_Haustuer name: Nuki_XYXYXY
2021-01-16_09:14:17 Nuki_Haustuer deviceType: smartlock
2021-01-16_09:14:17 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:14:18 Nuki_Haustuer statusRequest
2021-01-16_09:14:18 Nuki_Haustuer batteryState: ok
2021-01-16_09:14:18 Nuki_Haustuer doorsensorState: 2
2021-01-16_09:14:18 Nuki_Haustuer mode: door mode
2021-01-16_09:14:18 Nuki_Haustuer locked
2021-01-16_09:14:18 Nuki_Haustuer batteryCharging: 0
2021-01-16_09:14:18 Nuki_Haustuer stateName: locked
2021-01-16_09:14:18 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:14:18 Nuki_Haustuer batteryChargeState: 58
2021-01-16_09:14:18 Nuki_Haustuer success: 1
2021-01-16_09:14:18 Nuki_Haustuer doorsensorStateName: door closed
2021-01-16_09:14:51 Nuki_Haustuer rssi: -60
2021-01-16_09:14:51 Nuki_Haustuer paired: true
2021-01-16_09:14:51 Nuki_Haustuer name: Nuki_XYXYXY
2021-01-16_09:14:51 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:14:51 Nuki_Haustuer deviceType: smartlock


Den webhookHttpHostname von NukiBridge01 habe ich auf "192.168.178.230" (die IP des fhem-raspis) gestellt.
Soll ich hier mal "localhost" probieren?
Bei WEB habe ich attr WEB longpoll 1 - könnte das vielleicht ein Grund sein?

list NukiBridge01:

Internals:
   BRIDGEAPI  1.9
   DEF        192.168.178.243 XYZXYZ
   FUUID      5fXYZY94-f33f-2a61-86a1-5b5b5b59XYZXYZXY
   FVERSION   73_NUKIBridge.pm:v1.9.16-s20994/2020-01-16
   HOST       192.168.178.243
   NAME       NukiBridge01
   NOTIFYDEV  global,NukiBridge01
   NR         4731
   NTFY_ORDER 50-NukiBridge01
   PORT       8080
   STATE      connected
   TOKEN      XYZXYZ
   TYPE       NUKIBridge
   VERSION    v1.9.16
   WEBHOOK_COUNTER 5
   WEBHOOK_LAST 2021-01-16 00:55:15
   WEBHOOK_PORT 8083
   WEBHOOK_REGISTER sent
   WEBHOOK_URI /fhem/NUKIBridge-192.168.178.243
   WEBHOOK_URL http://192.168.178.230:8083/fhem/NUKIBridge-192.168.178.243
   READINGS:
     2021-01-16 12:23:25   bridgeType      Hardware
     2021-01-16 12:23:25   currentTime     2021-01-16T11:23:32+00:00
     2021-01-16 12:23:25   firmwareVersion 2.8.0
     2021-01-16 12:23:25   hardwareId      53XYZXYZX
     2020-12-19 11:19:41   lastError       read from http://192.168.178.243:8080 timed out
     2021-01-16 12:23:25   serverConnected 1
     2021-01-16 12:23:25   serverId        1115XYZXYZ
     2021-01-16 12:23:25   state           connected
     2021-01-16 12:23:25   uptime          3383797
     2021-01-16 12:23:25   wifiFirmwareVersion 2.2.0
   fhem:
     infix      NUKIBridge
   helper:
     iowrite    1
     actionQueue:
Attributes:
   room       NUKI
   webhookFWinstance WEB
   webhookHttpHostname 192.168.178.230


list Nuki_Haustuer:

Internals:
   BRIDGEAPI  1.9
   DEF        59XYZXYZX 0
   DEVICETYPE 0
   FUUID      5faXYZX8-f33f-2a61-4363-09744de6XYZXYZXY
   FVERSION   74_NUKIDevice.pm:v1.9.12-s21020/2020-01-20
   IODev      NukiBridge01
   LASTInputDev NukiBridge01
   MSGCNT     2289
   NAME       Nuki_Haustuer
   NOTIFYDEV  global,autocreate,Nuki_Haustuer
   NR         4732
   NTFY_ORDER 50-Nuki_Haustuer
   NUKIID     59XYZXYZX
   NukiBridge01_MSGCNT 2289
   NukiBridge01_TIME 2021-01-16 12:26:34
   STATE      locked
   TYPE       NUKIDevice
   VERSION    v1.9.12
   READINGS:
     2021-01-16 09:14:18   batteryChargeState 58
     2021-01-16 09:14:18   batteryCharging 0
     2021-01-16 09:14:18   batteryState    ok
     2021-01-16 12:26:34   deviceType      smartlock
     2021-01-16 09:14:18   doorsensorState 2
     2021-01-16 09:14:18   doorsensorStateName door closed
     2021-01-15 16:26:55   firmwareVersion 2.9.10
     2021-01-16 09:14:18   mode            door mode
     2021-01-16 12:26:34   name            Nuki_23XYZXYZ
     2021-01-16 12:26:34   nukiId          59XYZXYZX
     2021-01-16 12:26:34   paired          true
     2021-01-16 12:26:34   rssi            -60
     2021-01-16 09:14:18   state           locked
     2021-01-16 09:14:18   stateName       locked
     2021-01-16 09:14:18   success         1
   helper:
Attributes:
   IODev      NukiBridge01
   model      smartlock
   room       NUKI


list WEB:

Internals:
   BYTES_READ 1108705
   BYTES_WRITTEN 306559455
   CONNECTS   388
   DEF        8083 global
   FD         7
   FUUID      5e0XYZX5-f33f-2a61-aa1a-1e5ea9a0XYZXYZXY
   NAME       WEB
   NR         12
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2021-01-15 16:23:42   state           Initialized
Attributes:
   JavaScripts codemirror/fhem_codemirror.js
   comment    28.08.2018:
longpoll = 1 funktioniert ohne Websocket-Erweiterung im Reverse Proxy

altes Layout:
iconPath = default:fhemSVG:openautomation
stylesheetPrefix = default

F18:
iconPath = fhemSVG:openautomation:default
stylesheetPrefix = f18
   csrfToken  none
   editConfig 1
   iconPath   default:fhemSVG:openautomation
   longpoll   1
   stylesheetPrefix default


Viele Grüße,
Heiko




heikoh81

Ich habe einen Hinweis zum NUKI-Wiki-Eintrag (https://wiki.fhem.de/wiki/NUKI).
Bei der Einbindung meines Nuki in FHEM bin ich darüber gestolpert.

Dort steht:
Voraussetzung für ein fehlerfreies Laden ist die Installation von JSON (libperl-json).

Aus meiner Sicht heißt das Modul aber: libjson-perl

Könnte jemand mit Schreibberechtigung im Wiki den Eintrag verbessern, eventuell auch gleich der Hinweis zur Installation dazu:
sudo apt-get install libjson-perl

Danke!
Grüße,
Heiko

CoolTux

Hallo Heiko,

Habe Deine Nachricht seit gestern gelesen. Gib mir etwas Zeit für eine Antwort, ich bin aktuell etwas eingebunden  ;D


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: heikoh81 am 16 Januar 2021, 16:17:32
Ich habe einen Hinweis zum NUKI-Wiki-Eintrag (https://wiki.fhem.de/wiki/NUKI).
Bei der Einbindung meines Nuki in FHEM bin ich darüber gestolpert.

Dort steht:
Voraussetzung für ein fehlerfreies Laden ist die Installation von JSON (libperl-json).

Aus meiner Sicht heißt das Modul aber: libjson-perl

Könnte jemand mit Schreibberechtigung im Wiki den Eintrag verbessern, eventuell auch gleich der Hinweis zur Installation dazu:
sudo apt-get install libjson-perl

Danke!
Grüße,
Heiko

Habe ich angepasst
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: heikoh81 am 16 Januar 2021, 12:31:23
Hallo Marko,

ich habe das Log jetzt einmal mit verbose 5 über lange Zeit laufen lassen, gestern ist die Abweichung des lock-Status dann wieder aufgetreten.

Aus dem Log sehe ich nicht, warum die Status-Änderung nicht in fhem erscheint.
Ein "set Nuki_Haustuer statusRequest" führt aber dazu, dass state und stateName wieder übereinstimmen.

2021-01-16_09:13:47 Nuki_Haustuer rssi: -60
2021-01-16_09:13:47 Nuki_Haustuer paired: true
2021-01-16_09:13:47 Nuki_Haustuer name: Nuki_XYXYXY
2021-01-16_09:13:47 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:13:47 Nuki_Haustuer deviceType: smartlock
2021-01-16_09:14:17 Nuki_Haustuer paired: true
2021-01-16_09:14:17 Nuki_Haustuer rssi: -60
2021-01-16_09:14:17 Nuki_Haustuer name: Nuki_XYXYXY
2021-01-16_09:14:17 Nuki_Haustuer deviceType: smartlock
2021-01-16_09:14:17 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:14:18 Nuki_Haustuer statusRequest
2021-01-16_09:14:18 Nuki_Haustuer batteryState: ok
2021-01-16_09:14:18 Nuki_Haustuer doorsensorState: 2
2021-01-16_09:14:18 Nuki_Haustuer mode: door mode
2021-01-16_09:14:18 Nuki_Haustuer locked
2021-01-16_09:14:18 Nuki_Haustuer batteryCharging: 0
2021-01-16_09:14:18 Nuki_Haustuer stateName: locked
2021-01-16_09:14:18 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:14:18 Nuki_Haustuer batteryChargeState: 58
2021-01-16_09:14:18 Nuki_Haustuer success: 1
2021-01-16_09:14:18 Nuki_Haustuer doorsensorStateName: door closed
2021-01-16_09:14:51 Nuki_Haustuer rssi: -60
2021-01-16_09:14:51 Nuki_Haustuer paired: true
2021-01-16_09:14:51 Nuki_Haustuer name: Nuki_XYXYXY
2021-01-16_09:14:51 Nuki_Haustuer nukiId: 59XYZXYZ
2021-01-16_09:14:51 Nuki_Haustuer deviceType: smartlock


Den webhookHttpHostname von NukiBridge01 habe ich auf "192.168.178.230" (die IP des fhem-raspis) gestellt.
Soll ich hier mal "localhost" probieren?
Bei WEB habe ich attr WEB longpoll 1 - könnte das vielleicht ein Grund sein?

list NukiBridge01:

Internals:
   BRIDGEAPI  1.9
   DEF        192.168.178.243 XYZXYZ
   FUUID      5fXYZY94-f33f-2a61-86a1-5b5b5b59XYZXYZXY
   FVERSION   73_NUKIBridge.pm:v1.9.16-s20994/2020-01-16
   HOST       192.168.178.243
   NAME       NukiBridge01
   NOTIFYDEV  global,NukiBridge01
   NR         4731
   NTFY_ORDER 50-NukiBridge01
   PORT       8080
   STATE      connected
   TOKEN      XYZXYZ
   TYPE       NUKIBridge
   VERSION    v1.9.16
   WEBHOOK_COUNTER 5
   WEBHOOK_LAST 2021-01-16 00:55:15
   WEBHOOK_PORT 8083
   WEBHOOK_REGISTER sent
   WEBHOOK_URI /fhem/NUKIBridge-192.168.178.243
   WEBHOOK_URL http://192.168.178.230:8083/fhem/NUKIBridge-192.168.178.243
   READINGS:
     2021-01-16 12:23:25   bridgeType      Hardware
     2021-01-16 12:23:25   currentTime     2021-01-16T11:23:32+00:00
     2021-01-16 12:23:25   firmwareVersion 2.8.0
     2021-01-16 12:23:25   hardwareId      53XYZXYZX
     2020-12-19 11:19:41   lastError       read from http://192.168.178.243:8080 timed out
     2021-01-16 12:23:25   serverConnected 1
     2021-01-16 12:23:25   serverId        1115XYZXYZ
     2021-01-16 12:23:25   state           connected
     2021-01-16 12:23:25   uptime          3383797
     2021-01-16 12:23:25   wifiFirmwareVersion 2.2.0
   fhem:
     infix      NUKIBridge
   helper:
     iowrite    1
     actionQueue:
Attributes:
   room       NUKI
   webhookFWinstance WEB
   webhookHttpHostname 192.168.178.230


list Nuki_Haustuer:

Internals:
   BRIDGEAPI  1.9
   DEF        59XYZXYZX 0
   DEVICETYPE 0
   FUUID      5faXYZX8-f33f-2a61-4363-09744de6XYZXYZXY
   FVERSION   74_NUKIDevice.pm:v1.9.12-s21020/2020-01-20
   IODev      NukiBridge01
   LASTInputDev NukiBridge01
   MSGCNT     2289
   NAME       Nuki_Haustuer
   NOTIFYDEV  global,autocreate,Nuki_Haustuer
   NR         4732
   NTFY_ORDER 50-Nuki_Haustuer
   NUKIID     59XYZXYZX
   NukiBridge01_MSGCNT 2289
   NukiBridge01_TIME 2021-01-16 12:26:34
   STATE      locked
   TYPE       NUKIDevice
   VERSION    v1.9.12
   READINGS:
     2021-01-16 09:14:18   batteryChargeState 58
     2021-01-16 09:14:18   batteryCharging 0
     2021-01-16 09:14:18   batteryState    ok
     2021-01-16 12:26:34   deviceType      smartlock
     2021-01-16 09:14:18   doorsensorState 2
     2021-01-16 09:14:18   doorsensorStateName door closed
     2021-01-15 16:26:55   firmwareVersion 2.9.10
     2021-01-16 09:14:18   mode            door mode
     2021-01-16 12:26:34   name            Nuki_23XYZXYZ
     2021-01-16 12:26:34   nukiId          59XYZXYZX
     2021-01-16 12:26:34   paired          true
     2021-01-16 12:26:34   rssi            -60
     2021-01-16 09:14:18   state           locked
     2021-01-16 09:14:18   stateName       locked
     2021-01-16 09:14:18   success         1
   helper:
Attributes:
   IODev      NukiBridge01
   model      smartlock
   room       NUKI


list WEB:

Internals:
   BYTES_READ 1108705
   BYTES_WRITTEN 306559455
   CONNECTS   388
   DEF        8083 global
   FD         7
   FUUID      5e0XYZX5-f33f-2a61-aa1a-1e5ea9a0XYZXYZXY
   NAME       WEB
   NR         12
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
   READINGS:
     2021-01-15 16:23:42   state           Initialized
Attributes:
   JavaScripts codemirror/fhem_codemirror.js
   comment    28.08.2018:
longpoll = 1 funktioniert ohne Websocket-Erweiterung im Reverse Proxy

altes Layout:
iconPath = default:fhemSVG:openautomation
stylesheetPrefix = default

F18:
iconPath = fhemSVG:openautomation:default
stylesheetPrefix = f18
   csrfToken  none
   editConfig 1
   iconPath   default:fhemSVG:openautomation
   longpoll   1
   stylesheetPrefix default


Viele Grüße,
Heiko

Hast Du ein Passwort für den webhook gesetzt? Also für die WEB Instanz welche als webhook definiert ist?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

heikoh81

Zitat von: CoolTux am 20 Januar 2021, 17:41:27
Hast Du ein Passwort für den webhook gesetzt? Also für die WEB Instanz welche als webhook definiert ist?

Nein.

CoolTux

Zitat von: dobiwan am 12 Januar 2021, 14:46:07
Hallo zusammen,

ich habe die NUKI Bridge erfolgreich in fhem integriert. Leider wurden die Smartlocks nicht eingerichtet. Ich habe versucht sie händisch anzulegen, was auch funktioniert. Nur sehe ich leider keinen Status.

Hat schon jemand einen NUKI FOB integriert. Ich habe jetzt nicht alle 115 Seiten und Posts durchgelesen.

Vielen Dank für eure Hilfe

Bitte gib mal ein list von der Bridge und eines vom Smartlock Device.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

heikoh81

Zitat von: heikoh81 am 22 Januar 2021, 22:58:10
Nein.

Das Problem besteht noch immer und in letzter Zeit wieder öfter.
Dieser Weg führt immer zur korrekten Anzeige:

set Nuki_Haustuer statusRequest
und dann ganz wichtig: Seite im Browser mit F5 neu laden

Wäre nicht folgendes eine einfache Lösung:
attr Nuki_Haustuer stateFormat stateName
stateFormat zeigt bei mir immer den korrekten Zustand des Türschlosses an.

Viele Grüße,
Heiko

CoolTux

Hallo Heiko,

Also das stateName kommt aus der Bridge und wird eins zu eins aus dem JSON String in FHEM hinterlegt. Es sollte meines Erachtens also den tatsächlichen Status des Schlosses wiedergeben.
state an sich wird entsprechend einer Auswertung gesetzt. Das die Zustände beider aber komplett unterschiedlich sind und sich auch nach mehreren Minuten nicht gleich setzen sollte auf keinen Fall so sein. Vom Code her habe ich gerade keine Erklärung.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

heikoh81

Danke für deine Antwort.

Wie könnte man dies debuggen?
Merkwüdig, dass es sonst noch niemand bemerkt hat.

attr Nuki_Haustuer stateFormat stateName
funktioniert bisher gut.

CoolTux

Zitat von: heikoh81 am 09 Februar 2021, 23:28:49
Danke für deine Antwort.

Wie könnte man dies debuggen?
Merkwüdig, dass es sonst noch niemand bemerkt hat.

attr Nuki_Haustuer stateFormat stateName
funktioniert bisher gut.

Interessant wäre zu erfahren wann es genau immer so ist.
Es sollte sich definitiv darauf beschränken das es nur unterschiedlich ist wenn aus FHEM raus geschalten wird. Wenn am Schloss direkt oder über die App geschalten wird dürfte das nie passieren.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dobiwan

Zitat von: CoolTux am 08 Februar 2021, 12:56:22
Bitte gib mal ein list von der Bridge und eines vom Smartlock Device.


Grüße

Hallo,
ich hoffe die beiden Screenshots reichen. Ansonsten kann ich verbose auf 56 stellen und das Log schicken.

Grüße

Dirk

CoolTux

Bitte nur list. Also
list BRIDGEDEVICE
list SMARTLOCKDEVICE

Die DEF von Deinem Smartlock passt nicht.
define <name> NUKIDevice <Nuki-Id> <IODev-Device> <Device-Type>

In der NOTIFYDEV vom NUKIDevice steht autocreate drin, das ist Unsinn. Wie ist das denn da rein gekommen?

Und Du solltest überlegen ob Du wirklich die Software Bridge verwenden möchtest, die Entwicklung dafür wurde eingestellt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

dobiwan

#1739
Zitat von: CoolTux am 10 Februar 2021, 08:05:55
Bitte nur list. Also
list BRIDGEDEVICE
list SMARTLOCKDEVICE

Die DEF von Deinem Smartlock passt nicht.
define <name> NUKIDevice <Nuki-Id> <IODev-Device> <Device-Type>

!! Das ergibt den Fehler im Bild. !!

In der NOTIFYDEV vom NUKIDevice steht autocreate drin, das ist Unsinn. Wie ist das denn da rein gekommen?

!! Das weiß ich nicht, habe es nicht reingeschrieben. !!
Das wird beim Define automatisch mit eingtragen

Und Du solltest überlegen ob Du wirklich die Software Bridge verwenden möchtest, die Entwicklung dafür wurde eingestellt.

Hier noch die List Ausgaben