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

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

Vorheriges Thema - Nächstes Thema

freddeh

Nach Neuanlage und Repositionierung der Bridge scheint der Datenaustausch jetzt zu funktionieren. Obwohl die Bridge als Verbindungsstärke immer gut angezeigt hat, war die Verbindungsstärke wohl nicht ausreichend oder er die Bridge war in einem Verbindungsloop und daher ständig ausgelastet... Die Reichweite der Bridge lässt offenbar ziemlich zu wünschen übrig.

SimonHipp

#1756
Hi Leute,

ich habe das Problem das zwar alles geht aber der State beim schließen/öffnen per APP sich nicht im Fhem verändert.
Webhook ist gesetzt, verbose5 der Bridge zeigt z.B. beim löschen des Logs folgenden Fehler:
2021.09.14 23:00:12.394 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/73_NUKIBridge.pm line 1115.
2021.09.14 23:03:02.386 1: Connection refused from 192.168.151.214:64364
2021.09.14 23:07:34.479 4: NUKIBridge (NUKIBridge) - created uri: http://192.168.151.214:8080/clearlog?token=SVUGQN
2021.09.14 23:07:34.480 4: NUKIBridge (NUKIBridge) - Send HTTP POST with URL http://192.168.151.214:8080/clearlog?token=SVUGQN
2021.09.14 23:07:34.718 4: NUKIBridge (NUKIBridge) - Response JSON: {"success": true}
2021.09.14 23:07:34.718 4: NUKIBridge (NUKIBridge) - Response ERROR:
2021.09.14 23:07:34.718 4: NUKIBridge (NUKIBridge) - Response CODE: 200
2021.09.14 23:07:34.729 5: NUKIBridge (NUKIBridge) - Bridge ist online
2021.09.14 23:07:34.729 5: NUKIBridge (NUKIBridge) - Rückgabe Path nicht korrekt:
{"success": true}
2021.09.14 23:08:04.571 3: NUKIBridge WEBHOOK (NUKIBridge) - empty message received
2021.09.14 23:10:13.657 4: NUKIBridge (NUKIBridge) - created uri: http://192.168.151.214:8080/info?token=SVUGQN
2021.09.14 23:10:13.657 4: NUKIBridge (NUKIBridge) - Send HTTP POST with URL http://192.168.151.214:8080/info?token=SVUGQN
2021.09.14 23:10:13.792 4: NUKIBridge (NUKIBridge) - Response JSON: {"bridgeType": 1, "ids": {"hardwareId": 701029150, "serverId": 2120965652}, "versions": {"firmwareVersion": "2.9.3", "wifiFirmwareVersion": "2.2.0"}, "uptime": 3700, "currentTime": "2021-09-14T21:10:13+00:00", "wlanConnected": true, "serverConnected": true, "scanResults": [{"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}]}
2021.09.14 23:10:13.792 4: NUKIBridge (NUKIBridge) - Response ERROR:
2021.09.14 23:10:13.792 4: NUKIBridge (NUKIBridge) - Response CODE: 200
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - Bridge ist online
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - 1 == 1 and 1 > 0
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - 1 == 1 and 1 > 0
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - return msg: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true} and tail: ]}
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - Decoding JSON message. Length: 92 Content: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - Vor Sub: Laenge JSON: 92 Content: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true} Tail: ]}
2021.09.14 23:10:13.796 5: NUKIBridge: dispatch {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}
2021.09.14 23:10:13.796 5: NUKIDevice (NUKIBridge) - Parse with result: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - Garbage character before message: ]
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - Garbage character before message: }
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - return msg:  and tail:
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - Nach Sub: Laenge JSON: 0 Content:  Tail:
2021.09.14 23:10:33.027 3: NUKIBridge WEBHOOK (NUKIBridge) - empty message received
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

SimonHipp

Guten Morgen,

hat außer mit keiner mit dem aktuellen Nuki das Problem das dass WEBHOOK nicht geht?
NUKIBridge WEBHOOK (NUKIBridge) - empty message received

Grüße
Simon
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

CoolTux

Zitat von: SimonHipp am 14 September 2021, 23:10:01
Hi Leute,

ich habe das Problem das zwar alles geht aber der State beim schließen/öffnen per APP sich nicht im Fhem verändert.
Webhook ist gesetzt, verbose5 der Bridge zeigt z.B. beim löschen des Logs folgenden Fehler:
2021.09.14 23:00:12.394 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/73_NUKIBridge.pm line 1115.
2021.09.14 23:03:02.386 1: Connection refused from 192.168.151.214:64364
2021.09.14 23:07:34.479 4: NUKIBridge (NUKIBridge) - created uri: http://192.168.151.214:8080/clearlog?token=SVUGQN
2021.09.14 23:07:34.480 4: NUKIBridge (NUKIBridge) - Send HTTP POST with URL http://192.168.151.214:8080/clearlog?token=SVUGQN
2021.09.14 23:07:34.718 4: NUKIBridge (NUKIBridge) - Response JSON: {"success": true}
2021.09.14 23:07:34.718 4: NUKIBridge (NUKIBridge) - Response ERROR:
2021.09.14 23:07:34.718 4: NUKIBridge (NUKIBridge) - Response CODE: 200
2021.09.14 23:07:34.729 5: NUKIBridge (NUKIBridge) - Bridge ist online
2021.09.14 23:07:34.729 5: NUKIBridge (NUKIBridge) - Rückgabe Path nicht korrekt:
{"success": true}
2021.09.14 23:08:04.571 3: NUKIBridge WEBHOOK (NUKIBridge) - empty message received
2021.09.14 23:10:13.657 4: NUKIBridge (NUKIBridge) - created uri: http://192.168.151.214:8080/info?token=SVUGQN
2021.09.14 23:10:13.657 4: NUKIBridge (NUKIBridge) - Send HTTP POST with URL http://192.168.151.214:8080/info?token=SVUGQN
2021.09.14 23:10:13.792 4: NUKIBridge (NUKIBridge) - Response JSON: {"bridgeType": 1, "ids": {"hardwareId": 701029150, "serverId": 2120965652}, "versions": {"firmwareVersion": "2.9.3", "wifiFirmwareVersion": "2.2.0"}, "uptime": 3700, "currentTime": "2021-09-14T21:10:13+00:00", "wlanConnected": true, "serverConnected": true, "scanResults": [{"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}]}
2021.09.14 23:10:13.792 4: NUKIBridge (NUKIBridge) - Response ERROR:
2021.09.14 23:10:13.792 4: NUKIBridge (NUKIBridge) - Response CODE: 200
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - Bridge ist online
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - 1 == 1 and 1 > 0
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - 1 == 1 and 1 > 0
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - return msg: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true} and tail: ]}
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - Decoding JSON message. Length: 92 Content: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}
2021.09.14 23:10:13.795 5: NUKIBridge (NUKIBridge) - Vor Sub: Laenge JSON: 92 Content: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true} Tail: ]}
2021.09.14 23:10:13.796 5: NUKIBridge: dispatch {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}
2021.09.14 23:10:13.796 5: NUKIDevice (NUKIBridge) - Parse with result: {"deviceType": 0, "nukiId": 701188340, "name": "Nuki_29CB48F4", "rssi": -55, "paired": true}
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - Garbage character before message: ]
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - Garbage character before message: }
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - return msg:  and tail:
2021.09.14 23:10:13.799 5: NUKIBridge (NUKIBridge) - Nach Sub: Laenge JSON: 0 Content:  Tail:
2021.09.14 23:10:33.027 3: NUKIBridge WEBHOOK (NUKIBridge) - empty message received


Einen Fehler beim löschen des Logs kann ich nicht sehen. Ist alles korrekt soweit.
Hast Du eine nicht gesicherte HTTP Webinstanz für den Webhook?
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

SimonHipp

Zitat von: CoolTux am 16 September 2021, 07:16:21
Einen Fehler beim löschen des Logs kann ich nicht sehen. Ist alles korrekt soweit.
Hast Du eine nicht gesicherte HTTP Webinstanz für den Webhook?

Ja, habe ich.
Kann es sein das die neue NUKI 2.0 einen andere Antwort gibt?
Geben ich z.B. im Browser ein:
http://192.168.151.214:8080/lockState?nukiId=701188340&deviceType=0&token=SVUGQN

bekomme ich die folgende Antwort zurück:
{"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "batteryCharging": false, "batteryChargeState": 100, "doorsensorState": 1, "doorsensorStateName": "deactivated", "success": true}

deshalb vll. ja auch die Meldung vom WEBHOOK mit:
NUKIBridge WEBHOOK (NUKIBridge) - empty message received
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

palatin8

#1760
Zitat von: BM030 am 03 Oktober 2020, 12:56:39
bei meinem Opener und bei der Bridge stimmen die Uhrzeiten nicht, ist das bei Euch auch so?

es "fehlen" 2 Stunden...
Das Thema möchte ich ausgraben. Ist bei mir auch so. Und nervt, weil ich das letzte Klingeln an der Haustür gerne korrekt angezeigt hätte. Sorry, falls ich Antworten übersehen habe bei 118 Seiten.

Eigentlich ein Fall für einen Bugreport bzw. ein Feature Request bei NUKI. Zeitzone im Opener ist gesetzt und im Protokoll von NUKI Web und in der App wird der Zeitpunkt der letzten ringAction korrekt angezeigt. Das möchte ich auch in FHEM auswerten. In den Webhooks (und das ist das, was das Modul ausliest) ist der ringactionTimestamp aber nur in UTC angegeben. Umrechnen von UTC-Zeit in lokale Zeit ist nicht ganz banal, einfaches Aufaddieren von 2 Stunden geht nicht wg. Sommerzeit/Normalzeit. Wenn also die lokale Zeit im NUKI-Device schon angelegt ist, sollte auch im Webhook ein Zeitstempel in Lokalzeit vorhanden sein, damit nicht jede Anwendung die Umrechnung erneut machen muss.

Workaround:
Statt umständlicher PERL-Umrechnungen nehme ich doch den FHEM-Zeitstempel vom Reading "ringactionTimestamp", dachte ich mir. Leider ändert der sich bei gesetztem event-on-change-reading .* aber bei jedem anderen Event (muss ich nicht verstehen). Also muss noch das das Attribut "timestamp-on-change-reading" für "ringactionTimestamp" gesetzt werden, damit er bei der letzten Änderung stehen bleibt. Noch nicht ausgiebig getestet, aber seit dem letzten Klingelevent passt das, und sollte auch nach der Zeitumstellung so bleiben.
https://forum.fhem.de/index.php/topic,52483.0.html

In FTUI dann sehr einfach anzuwenden, indem für das Label vom Opener (data-get="ringactionTimestamp") die CSS-Klasse class="timestamp" gesetzt wird, dann wird nicht der Inhalt des Readings, sondern der Zeitstempel ausgegeben.

Edith: https://developer.nuki.io/t/api-timestamp-utc-local/12010

Mitch

Hallo Zusammen,

nachdem mein Keymatic nach vieen Jahren aufgegeben hat, kam heute ine Nuki mit Bridge.

Habe alles eingerichtet und funktioniert soweit.
Ich kann über fhem auf und zusperren.

Leider wird aber der state vom Nuki nicht aktualisiert, wenn ich über die App sperre.

Hier mal der List der Bridge:
Internals:
   BRIDGEAPI  1.9
   CFGFN     
   DEF        10.11.0.189 CE9wBq
   FUUID      616d896e-f33f-5738-db62-c858cbc63ddd3bfe
   FVERSION   73_NUKIBridge.pm:v1.9.16-s20994/2020-01-16
   HOST       10.11.0.189
   NAME       NUKIbridge
   NOTIFYDEV  global,NUKIbridge
   NR         159580
   NTFY_ORDER 50-NUKIbridge
   PORT       8080
   STATE      connected
   TOKEN      CE9wBq
   TYPE       NUKIBridge
   VERSION    v1.9.16
   WEBHOOK_COUNTER 0
   WEBHOOK_PORT 8084
   WEBHOOK_REGISTER sent
   WEBHOOK_URI /fhem/NUKIBridge-10.11.0.189
   WEBHOOK_URL http://192.168.0.202:8084/fhem/NUKIBridge-10.11.0.189
   Helper:
     DBLOG:
       uptime:
         myDbLog:
           TIME       1634582022.07155
           VALUE      13362
   READINGS:
     2021-10-18 20:33:42   bridgeType      Hardware
     2021-10-18 20:33:42   firmwareVersion 2.4.21
     2021-10-18 20:33:42   hardwareId      615640794
     2021-10-18 20:31:41   lastError       read from http://10.11.0.189:8080 timed out
     2021-10-18 20:33:42   serverConnected 0
     2021-10-18 20:33:42   serverId        0
     2021-10-18 20:33:42   state           connected
     2021-10-18 20:33:42   uptime          13362
     2021-10-18 20:33:42   wifiFirmwareVersion 2.1.13
   fhem:
     infix      NUKIBridge
   helper:
     iowrite    0
     actionQueue:
Attributes:
   group      Zentrale
   icon       nuki_bridge
   room       Zentrale
   webhookFWinstance WEBint
   webhookHttpHostname 192.168.0.202


und hier das Schloss:
Internals:
   BRIDGEAPI  1.9
   CFGFN     
   DEF        676481901 0
   DEVICETYPE 0
   FUUID      616d89cd-f33f-5738-c841-2431a04f65453ec7
   FVERSION   74_NUKIDevice.pm:v1.9.12-s21020/2020-01-20
   IODev      NUKIbridge
   LASTInputDev NUKIbridge
   MSGCNT     458
   NAME       Nuki_28524B6D
   NOTIFYDEV  global,autocreate,Nuki_28524B6D
   NR         159656
   NTFY_ORDER 50-Nuki_28524B6D
   NUKIID     676481901
   NUKIbridge_MSGCNT 458
   NUKIbridge_TIME 2021-10-18 20:34:41
   STATE      unlock
   TYPE       NUKIDevice
   VERSION    v1.9.12
   READINGS:
     2021-10-18 16:50:53   IODev           NUKIbridge
     2021-10-18 20:32:07   batteryState    low
     2021-10-18 20:34:41   deviceType      smartlock
     2021-10-18 20:14:07   mode            door mode
     2021-10-18 20:34:41   name            Nuki_28524B6D
     2021-10-18 20:34:41   nukiId          676481901
     2021-10-18 20:34:41   paired          true
     2021-10-18 20:34:41   rssi            -72
     2021-10-18 20:14:05   schloss         unlocked
     2021-10-18 20:32:01   state           unlock
     2021-10-18 20:14:07   stateName       locked
     2021-10-18 20:32:07   success         1
   helper:
Attributes:
   alias      Türschloss
   devStateIcon locked:secur_locked unlock:secur_open
   group      Haustür
   icon       im_key
   model      smartlock
   room       Zentrale,Übersicht
   webCmd     lock:unlock:unlatch


Jemand eine Idee?
FHEM im Proxmox Container

palatin8

Zitat von: Mitch am 18 Oktober 2021, 20:35:03

Internals:
   DEF        10.11.0.189 xxxxxx

   WEBHOOK_URI /fhem/NUKIBridge-10.11.0.189
   WEBHOOK_URL http://192.168.0.202:8084/fhem/NUKIBridge-10.11.0.189

   READINGS:

     2021-10-18 20:31:41   lastError       read from http://10.11.0.189:8080 timed out
     2021-10-18 20:33:42   serverConnected 0
     2021-10-18 20:33:42   serverId        0

Attributes:
   webhookFWinstance WEBint
   webhookHttpHostname 192.168.0.202



Hat deine Bridge wirklich IP 10.11.0.189 und dein FHEM 192.168.0.202?
Gib mal im Browser ein
http://10.11.0.189:8080/info?token=CE9wBq

Mitch

Ja, das stimmt schon  8)

{"bridgeType": 1, "ids": {"hardwareId": 615640794, "serverId": 0}, "versions": {"firmwareVersion": "2.4.21", "wifiFirmwareVersion": "2.1.13"}, "uptime": 20069, "currentTime": null, "wlanConnected": true, "serverConnected": false, "scanResults": [{"deviceType": 0, "nukiId": 676481901, "name": "Nuki_28524B6D", "rssi": -67, "paired": true}]}
FHEM im Proxmox Container

Mitch

Habe jetzt bridge und Schloß gelöscht und neu aufgesetzt, gleiche Problem.

Niemand eine zündende Idee??
FHEM im Proxmox Container

antonwinden

wenn es jemand tröstet:
Bei mir funktioniert der webhook auch nicht (eigentlich noch nie..)
der direkte aufruf ergibt:
{"bridgeType": 1, "ids": {"hardwareId": 409057010, "serverId": 540476683}, "versions": {"firmwareVersion": "2.10.4", "wifiFirmwareVersion": "2.2.0"}, "uptime": 607280, "currentTime": "2021-10-20T10:03:17+00:00", "wlanConnected": true, "serverConnected": true, "scanResults": [{"deviceType": 0, "nukiId": 440953477, "name": "Nuki_1A486A85", "rssi": -52, "paired": true}]}
gruß anton
KNX, Raspberry, Denon 3313, Philips TV, Xtrend9X00 und viel Optimismus...

Mitch

Was mir gerade noch aufgefallen ist, fhem Zeigt Battrie low, aber in der App steht 88%, also mehr als genug.
Da ist irgendwie noch der Wurm drinnen  ???
FHEM im Proxmox Container

Mitch

Habe gerade die Bridge zu einem FW Update "gezwungen" und nun geht es!!  8)
FW 2.10.4 und API v1.9.16

Auch Batteriestatus etc. kommt alles nun richtig an.
FHEM im Proxmox Container

palatin8

#1768
Wollte schon etwas zum Updatestand schreiben (bei gleicher Hardwareversion) und dass einige Readings bei deinem Smartlock fehlen, hab's aber gelassen da Anton auch mit aktueller Firmware Probleme hat. Die App zeigt mir an, dass auch für mein Smartlock gerade wieder eine Aktualisierung verfügbar ist.

Aktuell:
   VERSION    v1.9.12
   READINGS:
     2021-10-04 03:17:52   IODev           NuBridge
     2021-10-20 21:57:01   batteryChargeState 40
     2021-10-20 21:57:01   batteryCharging 0
     2021-10-20 21:57:01   batteryState    ok
     2021-10-20 23:55:51   deviceType      smartlock
     2021-10-20 21:57:01   doorsensorState 2
     2021-10-20 21:57:01   doorsensorStateName door closed
     2021-10-19 20:10:22   firmwareVersion 2.11.8
     2021-10-20 21:57:01   mode            door mode
     2021-10-20 23:55:51   name            Nuki_12345678
     2021-10-20 23:55:51   nukiId          12345678
     2021-10-20 23:55:51   paired          true
     2021-10-20 23:55:51   rssi            -36
     2021-10-20 21:57:01   state           unlocked
     2021-10-20 21:57:01   stateName       unlocked
     2021-10-01 02:08:34   success         1

kjmEjfu

Hat irgendwer eine Lösung gefunden, wie der automatische Update per Calback wieder funktioniert?

Die Variante mit statusRequest per At ist zwar möglich, aber nicht so ideal.
Migriere derzeit zu Home Assistant