Autor Thema: [ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm  (Gelesen 226402 mal)

Offline freddeh

  • New Member
  • *
  • Beiträge: 5
Antw:[ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm
« Antwort #1755 am: 31 Juli 2021, 16:08:14 »
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.

Offline SimonHipp

  • Jr. Member
  • **
  • Beiträge: 88
Antw:[ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm
« Antwort #1756 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
« Letzte Änderung: 14 September 2021, 23:11:58 von SimonHipp »
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

Offline SimonHipp

  • Jr. Member
  • **
  • Beiträge: 88
Antw:[ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm
« Antwort #1757 am: 16 September 2021, 07:10:00 »
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

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 27037
Antw:[ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm
« Antwort #1758 am: 16 September 2021, 07:16:21 »
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/
Mein Dokuwiki:
https://www.cooltux.net

Offline SimonHipp

  • Jr. Member
  • **
  • Beiträge: 88
Antw:[ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm
« Antwort #1759 am: 16 September 2021, 07:21:46 »
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

Offline palatin8

  • New Member
  • *
  • Beiträge: 16
Antw:[ NUKI Smartlock ] 73_NUKIBridge.pm und 74_NUKDevice.pm
« Antwort #1760 am: 25 September 2021, 03:45:34 »
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
« Letzte Änderung: 26 September 2021, 00:46:38 von palatin8 »