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

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

Vorheriges Thema - Nächstes Thema

CoolTux

Mir ist kein Weg bekannt da ein separates Logfile für die Modulmeldungen an zu legen. Sorry.
Muss nicht heute sein, im laufe der Tage reicht es auch. Ich habe so ein Teil nicht und ich brauche mehr Feedback wie nur klappt oder klappt nicht  ;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

Mir ist die Nacht noch was einfaches eingefallen


tail -f /opt/fhem/log/fhem-2016-09.log | grep NUKI >> /opt/fhem/log/NUKI.log


Sollte klappen
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

fred_feuerstein

#62
Habe heute mein Paket bekommen. Schloss montiert, Bridge eingerichtet, Fob und App auch.
Dann das Modul auf den Server kopiert und dann das define ausgeführt.

Hat alles geklappt.

Das Schloss wird angezeigt. Und lässt sich öffnen und schliessen.
Mehr hab ich noch nicht gemacht. Bin auch die nächsten 2 Tage beruflich unterwegs.
Geht also erst zum Wochenende damit weiter bei mir.

Sieht aber erstmal alles schon ziemlich gut aus. TOP!

Mal sehen ob die Technik vom NUKI auch alles so gut läuft wie das bisherige Modul von cooltux :)


Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

CoolTux

Supi. Vielen Dank fürs Feedback. Ich stecke in den Vorbereitungen dazu das Nuki Smartlock einzeln per BT LE zu unterstützen.



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

fred_feuerstein

#64
So, nach ein paar Tagen kann ich sagen, dass das Modul ziemlich gut funktioniert.
Hatte nur ein paar Problemchen mit dem NUKI selbst, aber das ist ja nicht ein Problem des Moduls :)

Eine Frage hätte ich noch. Kann man das Interval der Aktualisierung irgendwo einstellen? Steht ja auf 30 Sekunden.
Und bei der Bridge auf 180 Sekunden.

Wo kommen diese Werte her?

Der Status vom Schloss wird nach dem klick auf unlock, lock etc. doch direkt gewechselt. Von daher könnte man das Interval ja etwas höher als 30 Sekunden setzen.

Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

CoolTux

Die Werte kommen vom Modul und somit von mir. Es sollte unter den Attributen das Attribut Intervall geben, wenn nicht dann muss ich da noch was machen.

Man kann das Intervall zum Statusabfragen des Schloßes hoch setzen, aber wenn Du das Schloß von Hand bediehnst oder mit der App dann merkt FHEM erst nach spätestens 30s oder halt höher wie der neue Status des Schloßes ist. Ich wollte das Intervall eher noch runter setzen für die Smartlock. Aber dann habe ich gelesen das die Bridge die aktuellen Daten pro Anfrage direkt vom Schloß holt und somit eine BT Verbindung aufbaut und das kostet Strom.

Aber bisschen runter wollte ich schon noch. So 20s oder was denkt ihr?
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

fred_feuerstein

sehe gerade bei der bridge gibt es das attr "interval", beim Schloss nicht.
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

CoolTux

Guten Morgen,

Dann muss ich. Das noch nachbessern  :D
Was sagst du zu den Intervalzeiten. Runter oder so lassen? Denke bitte auch daran was ich geschrieben habe bezüglich Bedienung von anderer Seite und das es FHEM mitbekommen sollte. Man kann ja diverse Abfragen noch für das Schloß haben. So wie ne Alarmanlage.
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

fred_feuerstein

grundsätzlich kann man das auch runter setzen. Natürlich hat das den Vorteil, dass man den Status schneller erkennen kann.
Aber das erzeugt auch jede Menge Traffic und wahrscheinlich Batterieverbrauch.
Wenn es aber einstellbar ist, kann jeder es für sich anpassen.

Was mir auch noch aufgefallen ist, im FHEM Log kommen jede Menge Einträge bei diesen Aktualisierungen. Kann man das verringern, also die Log-Ausgaben?
Im Moment also alle 30 Sekunden sowas:
2016.10.08 07:38:36 3: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=sdfdsdsfdf&nukiId=9ofdsnaofdnsaofdn
2016.10.08 07:38:36 3: NUKIDevice (NUKIDevice9ddsdddd211) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 07:38:36 3: NUKIDevice (NUKIDevice9ddddddd211) - Call NUKIDevice_GetUpdate
2016.10.08 07:38:36 3: NUKIDevice (NUKIDevice9ddddddd211) - Call InternalTimer
2016.10.08 07:38:39 3: parse status message for NUKIDevice9ddddddd211
2016.10.08 07:38:39 3: readings set for NUKIDevice9ddddddd211


ist ein bisschen viel, oder?  :)
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

CoolTux

#69
Das wird noch verringert. Hatte ja geschrieben das es Ausgaben für die Entwicklung sind. Also debug Ausgaben. In der kommenden Version ist das dann alles weg.

Ich würde das Bridge Alive Interval dann auf 60s stellen, hier wird keine BT Verbindung aufgebaut. Und das Smartlock Intervall auf 20s und dann schauen wir mal. Wenn die Batterien sehr deutlich vor den Herstellerangaben leer sind müssen wir höher gehen.


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

fred_feuerstein

Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

CoolTux

Jepp. Und ich habe noch einen.

Ich werde nächste Woche die deutsche Commandref schreiben. Und Ihr werdet:

  • das ins englische Übersetzen, für die englische Commandref
  • einen Wikieintrag fertig machen

Wenn das erledigt ist können wir es einchecken. So leistet jeder sein Teil für das Modul.



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

Ich habe soeben eine neue Version hochgeladen.
Geändert würden die Loglevel und die Intervals. Dazu habe ich noch etwas entfernt und aufgeräumt.
Beim Smartlock Device kann nun auch das Interval geändert werden.


Bitte testet die neue Version und schaut mal mit verbose 5 bei der Bridge oder beim Device ob der Timer alle Xs an geht.



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

fred_feuerstein

Vorab. Ich habe das Interval bei der Bridge auf 180 und beim Device auf 30 eingestellt.

Und dann verbose 5 bei der Bridge. Das schaut dann im Log so aus:
2016.10.08 20:07:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:07:42 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:08:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:08:42 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:09:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/list?token=mmnnmm
2016.10.08 20:09:12 4: NUKIBridge (NukiBridge) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2016.10.08 20:09:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:09:12 4: NUKIBridge (NukiBridge) - error while requesting: http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678: empty answer received
2016.10.08 20:09:15 5: NUKIBridge (NukiBridge) - Bridge ist online
2016.10.08 20:09:42 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:10:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:10:42 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:11:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:11:42 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:12:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/list?token=mmnnmm
2016.10.08 20:12:12 4: NUKIBridge (NukiBridge) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2016.10.08 20:12:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:12:12 4: NUKIBridge (NukiBridge) - error while requesting: http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678: empty answer received
2016.10.08 20:12:23 4: NUKIBridge (NukiBridge) - Bridge ist offline
2016.10.08 20:12:42 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:13:15 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:13:45 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:14:15 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:14:45 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:15:12 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/list?token=mmnnmm
2016.10.08 20:15:12 4: NUKIBridge (NukiBridge) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2016.10.08 20:15:15 5: NUKIBridge (NukiBridge) - Bridge ist online
2016.10.08 20:15:15 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:15:15 4: NUKIBridge (NukiBridge) - error while requesting: http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678: empty answer received
2016.10.08 20:15:45 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678
2016.10.08 20:16:15 4: NUKIBridge (NukiBridge) - Send HTTP POST with URL http://192.168.123.250:8080/lockState?token=mmnnmm&nukiId=12345678


Frage: ist das mit den Zeiten dann ok? für was sind die 180 Sekunden? Es kommt immer der Eintrag bei 30 Sekunden vom Device.

Und hier die verbose 5 Zeilen des Device:
2016.10.08 20:20:15 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:20:15 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:20:15 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:20:17 5: parse status message for NUKIDevice12345678
2016.10.08 20:20:17 5: readings set for NUKIDevice12345678
2016.10.08 20:20:45 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:20:45 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:20:45 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:20:46 5: parse status message for NUKIDevice12345678
2016.10.08 20:20:46 5: readings set for NUKIDevice12345678
2016.10.08 20:21:15 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:21:15 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:21:15 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:21:45 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:21:45 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:21:45 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:21:47 5: parse status message for NUKIDevice12345678
2016.10.08 20:21:47 5: readings set for NUKIDevice12345678
2016.10.08 20:22:15 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:22:15 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:22:15 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:22:16 5: parse status message for NUKIDevice12345678
2016.10.08 20:22:16 5: readings set for NUKIDevice12345678
2016.10.08 20:22:45 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:22:45 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:22:45 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:22:47 5: parse status message for NUKIDevice12345678
2016.10.08 20:22:47 5: readings set for NUKIDevice12345678
2016.10.08 20:23:15 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:23:15 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:23:15 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:23:16 5: parse status message for NUKIDevice12345678
2016.10.08 20:23:16 5: readings set for NUKIDevice12345678
2016.10.08 20:23:45 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:23:45 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:23:45 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:23:47 5: parse status message for NUKIDevice12345678
2016.10.08 20:23:47 5: readings set for NUKIDevice12345678
2016.10.08 20:24:15 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:24:15 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:24:15 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:24:17 5: parse status message for NUKIDevice12345678
2016.10.08 20:24:17 5: readings set for NUKIDevice12345678
2016.10.08 20:24:45 5: NUKIDevice (NUKIDevice12345678) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2016.10.08 20:24:45 5: NUKIDevice (NUKIDevice12345678) - Call NUKIDevice_GetUpdate
2016.10.08 20:24:45 5: NUKIDevice (NUKIDevice12345678) - Call InternalTimer
2016.10.08 20:24:46 5: parse status message for NUKIDevice12345678
2016.10.08 20:24:46 5: readings set for NUKIDevice12345678


Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

CoolTux

Alles super. Das passt. Schau mal wann immer "Call Internal Timer" ausgegeben wird. Das ist bei der Bridge alle 3 Minuten. Passt alles.
Danke fürs Testen.

Schalten und so geht auch noch?
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