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

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

Vorheriges Thema - Nächstes Thema

CoolTux

Ja ist es. Ich habe den Master Branch nun auch als default eingestellt.


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

Also irgendwie will diese aktuelle Version aus dem Master nicht richtig.

Das Schloss reagiert nur sehr verzögert und der Status wird kaum korrekt übermittelt ... (bspw. steht als Status nach dem zuschliessen die ganze Zeit "lock" und ändert sich nicht mehr in "locked" etc.)
Bin erstmal wieder zur letzten Version vom 18.12. zurück. Damit geht alles wie es soll.

Habe leider diese Woche keine Zeit zum weitertesten.


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

#542
Ok. Danke Dir fürs testen. Vielleicht kann noch jemand gegen checken.

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

samh

Hallo,

nun, das schalten funktioniert bei mir gefühlt wie bisher, aber der Status des Schlosses wird nur sporadisch aktualisiert.
Manchmal wird nur die Aktion z.Bsp. "unlock" angezeigt. Ein anderes Mal ändert sich der Status garnicht.
Nach einem StatusRequest passt es dann wieder.

Gruß Sam


CoolTux

Ok ich schaue es mir morgen in Ruhe noch mal an.
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: samh am 04 Januar 2017, 22:06:29
Hallo,

nun, das schalten funktioniert bei mir gefühlt wie bisher, aber der Status des Schlosses wird nur sporadisch aktualisiert.
Manchmal wird nur die Aktion z.Bsp. "unlock" angezeigt. Ein anderes Mal ändert sich der Status garnicht.
Nach einem StatusRequest passt es dann wieder.

Gruß Sam



Habe mir das die Nacht noch mal überlegt. Wir müssen hier unterscheiden zwischen Hardware und Software Bridge. Die Hardware Bridge bekommt ihre Bestätigung spätestens nach 10s über den Webhook. Die Software Bridge merkt sich den lockCommand und wartet auf den response vom Schaltbefehl. Wenn im Response OK steht schreibt sie den gemerkten Schaltbefehl fest in den state.

Kann bitte jemand mit der neusten Version ein verbose 5 machen und dann schalten? Die Log Ausgaben bitte Posten. Ich baue die Tage mal ein Labortest mit Software Bridge und peudo Daten auf.
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

ulli

Habe die Master Version und bekomme folgende Warnung im Log
2017.01.05 18:30:31 1: PERL WARNING: Use of uninitialized value $list in concatenation (.) or string at ./FHEM/73_NUKIBridge.pm line 262.

Ich teste die Version mal de nächsten Tage.

samh

Hallo,

ich habe die Module über die Update-Funktion neu geladen.
NUKIDevice Version 0.4.1, NUKIBridge Version 0.4.0.
Damit ist das Verhalten das gleiche.

Hier der Log-Auszug.....

2017.01.05 20:48:16 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.05 20:48:16 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.05 20:48:16 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.05 20:48:17 4: NUKIBridge (NBridge1) - action is undefined
2017.01.05 20:48:47 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.05 20:48:47 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.05 20:48:47 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.05 20:48:48 4: NUKIBridge (NBridge1) - action is undefined
2017.01.05 20:49:05 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge check Bridge connected
2017.01.05 20:49:05 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge Bridge is connected call IOWrite
2017.01.05 20:49:05 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/lockAction?token=YYYYYYYYYY&action=1&nukiId=ZZZZZZZZZ
2017.01.05 20:49:05 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.05 20:49:05 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.05 20:49:05 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.05 20:49:05 4: NUKIBridge (NBridge1) - action is undefined

Die letzten 3 Einträge wiederholen sich dann ständig.

Gruß Sam

samh

und nun das Log mit den Modulen aus dem Mastere branch.....

2017.01.05 21:15:27 1: PERL WARNING: Use of uninitialized value $list in concatenation (.) or string at ./FHEM/73_NUKIBridge.pm line 262.
2017.01.05 21:16:39 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.05 21:16:39 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.05 21:16:39 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.05 21:16:39 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.05 21:16:55 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge check Bridge connected
2017.01.05 21:16:55 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge Bridge is connected call IOWrite
2017.01.05 21:16:55 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/lockAction?token=YYYYYYYYYY&action=1&nukiId=ZZZZZZZZZ
2017.01.05 21:16:58 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.05 21:16:58 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.05 21:16:58 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.05 21:16:58 5: NUKIBridge (NBridge1) - Bridge ist online

Kann ich sonst irgendwie unterstützen ?

Gruß Sam

CoolTux

#549
Interessant wäre die Sache mit dem schalten und den verzögerten oder nicht korrekten status des Schlosses.
Hierfür bitte bridge und smartlock device auf verbose 5 und dann schalten. Log hier rein.



Use of uninitialized value $list in concatenation (.) or string at ./FHEM/73_NUKIBridge.pm line 262.

Habe ich gerade gefixt.

Danke
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

samh

Hi,

ich war der festen Überzeugung das gemacht zu haben. Beide Devices auf verbose 5 gestellt und Schloss geschaltet.

2017.01.05 20:49:05 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/lockAction?token=YYYYYYYYYY&action=1&nukiId=ZZZZZZZZZ

Das ist doch der Schaltbefehl, oder ?

Was mache ich falsch ?

Gruß Sam

samh

Hab das ganze noch einmal wiederholt...

StatusRequest:
2017.01.06 08:51:41 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/info?token=YYYYYYYYYY
2017.01.06 08:51:44 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge check Bridge connected
2017.01.06 08:51:44 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge Bridge is connected call IOWrite
2017.01.06 08:51:44 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/lockState?token=YYYYYYYYYY&nukiId=ZZZZZZZZZ
2017.01.06 08:51:44 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2017.01.06 08:51:46 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - parse status message for NUKI_DeviceZZZZZZZZZ
2017.01.06 08:51:46 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - readings set for NUKI_DeviceZZZZZZZZZ
2017.01.06 08:51:58 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge check Bridge connected
2017.01.06 08:51:58 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge Bridge is connected call IOWrite

Schalten:
2017.01.06 08:51:58 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/lockAction?token=YYYYYYYYYY&action=1&nukiId=ZZZZZZZZZ
2017.01.06 08:52:04 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:04 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 08:52:04 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:04 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 08:52:04 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:04 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 08:52:04 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:04 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 08:52:32 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:32 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 08:52:32 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:32 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 08:52:53 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:53 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 08:52:53 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:52:53 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 08:53:24 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:53:24 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 08:53:24 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:53:24 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 08:53:44 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:53:44 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 08:53:44 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:53:44 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 08:54:13 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:54:13 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 08:54:13 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 08:54:13 5: NUKIBridge (NBridge1) - Bridge ist online

Es gibt keinen weiteren Eintrag eines Befehls, der den Status erneut ermitteln würde.

Gruß Sam

samh

Bei dieser manuellen StatusRequest-Anfrage hat sich der Status nur auf den Zwischenwert "unlock" geändert...

2017.01.06 09:27:30 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge check Bridge connected
2017.01.06 09:27:30 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge Bridge is connected call IOWrite
2017.01.06 09:27:30 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/lockState?token=YYYYYYYYYY&nukiId=ZZZZZZZZZ
2017.01.06 09:27:30 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2017.01.06 09:27:35 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - parse status message for NUKI_DeviceZZZZZZZZZ
2017.01.06 09:27:35 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - readings set for NUKI_DeviceZZZZZZZZZ
2017.01.06 09:27:47 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:27:47 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 09:27:47 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:27:47 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 09:28:17 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:28:17 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 09:28:17 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:28:17 5: NUKIBridge (NBridge1) - Bridge ist online

CoolTux

Zitat von: samh am 06 Januar 2017, 09:37:16
Bei dieser manuellen StatusRequest-Anfrage hat sich der Status nur auf den Zwischenwert "unlock" geändert...

2017.01.06 09:27:30 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge check Bridge connected
2017.01.06 09:27:30 4: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_ReadFromNUKIBridge Bridge is connected call IOWrite
2017.01.06 09:27:30 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/lockState?token=YYYYYYYYYY&nukiId=ZZZZZZZZZ
2017.01.06 09:27:30 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - NUKIDevice_GetUpdate Call NUKIDevice_ReadFromNUKIBridge
2017.01.06 09:27:35 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - parse status message for NUKI_DeviceZZZZZZZZZ
2017.01.06 09:27:35 5: NUKIDevice (NUKI_DeviceZZZZZZZZZ) - readings set for NUKI_DeviceZZZZZZZZZ
2017.01.06 09:27:47 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:27:47 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 09:27:47 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:27:47 5: NUKIBridge (NBridge1) - Bridge ist online
2017.01.06 09:28:17 4: NUKIBridge (NBridge1) - NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:28:17 4: NUKIBridge (NBridge1) - Send HTTP POST with URL http://192.168.xxx.xxx:8080/alive?token=YYYYYYYYYY
2017.01.06 09:28:17 4: NUKIBridge (NBridge1) - Call InternalTimer for NUKIBridge_GetCheckBridgeAlive
2017.01.06 09:28:17 5: NUKIBridge (NBridge1) - Bridge ist online

Durchaus möglich das der Schaltbefehl im vorherigen Post drin war. Durch die fehlenden Codetags war es sehr unübersichtlich.

Im hetzten Post von Dir sehe ich zu mindest schon mal keine Fehlermeldung. Interessant wäre nun ein list vom Smartlock Device vor und nach dem Schaltvorgang.
Ich hoffe ich komme heute endlich mal dazu meine Software Bridge ein zu richten.
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

#554
Hallo Sam,

In meiner Testumgebung konnte ich leider keine Fehler feststellen. Das hat aber nichts zu sagen, da ich mit Pseudodaten arbeite die ich selber generiere.
Kannst Du bitte mal die angehängte Bridgeversion installieren und dann mit verbose 5 bei der Bridge einen Schließvorgang machen. Das Log dann bitte hier in CODE TAGS
Interessant sind nur Zeilen ala

Response JSON:




Danke
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