Bluetooth smartlock per HM steuern
Moderator: Co-Administratoren
-
- Beiträge: 668
- Registriert: 03.12.2012, 19:51
- Hat sich bedankt: 7 Mal
- Danksagung erhalten: 3 Mal
Re: Bluetooth smartlock per HM steuern
Vielen Dank für die Hilfe, ich schaue mir das zu Tageszeiten genauer an.
-
- Beiträge: 4
- Registriert: 23.02.2017, 19:40
Nuki API Änderungen
Hallo zusammen,
seit einigen Tagen geht bei mir das tolle Skript "Nuki Hardware Bridge Status auslesen by Alchy v 0.4a" nicht mehr.
Es wirft nur noch "ABFRAGE NICHT ERFOLGREICH" aus.
Nach einiger Recherche stellt sich nun heraus, dass die lieben Entwickler von Nuki die API geändert haben.
Der Endpoint "/lockstate" hat nun einen Wert "mode" mehr bekommen.
ALT: {"state": 3, "stateName": "unlocked", "batteryCritical": false, "success": true}
NEU: {"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "success": true}
Somit stimmt die Zeichenkettenreihenfolge nicht mehr im Code.
Der Index muss jeweils um 1 erhöht werden.
-------------------
ALT: var tmp1 = srueck.StrValueByIndex(",",2).StrValueByIndex(":",1); ! battery
NEU: var tmp1 = srueck.StrValueByIndex(",",3).StrValueByIndex(":",1); ! battery
ALT: integer tmp2 = (srueck.StrValueByIndex(",",0).StrValueByIndex(":",1)).ToInteger(); ! state
NEU: integer tmp2 = (srueck.StrValueByIndex(",",1).StrValueByIndex(":",1)).ToInteger(); ! state
ALT: var tmp3 = srueck.StrValueByIndex(",",3).StrValueByIndex(":",1); ! success
NEU: var tmp3 = srueck.StrValueByIndex(",",4).StrValueByIndex(":",1); ! success
------------------
Ich hoffe, ich konnte damit einigen langwieriges Suchen ersparen.
VG
Bernd
seit einigen Tagen geht bei mir das tolle Skript "Nuki Hardware Bridge Status auslesen by Alchy v 0.4a" nicht mehr.
Es wirft nur noch "ABFRAGE NICHT ERFOLGREICH" aus.
Nach einiger Recherche stellt sich nun heraus, dass die lieben Entwickler von Nuki die API geändert haben.
Der Endpoint "/lockstate" hat nun einen Wert "mode" mehr bekommen.
ALT: {"state": 3, "stateName": "unlocked", "batteryCritical": false, "success": true}
NEU: {"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "success": true}
Somit stimmt die Zeichenkettenreihenfolge nicht mehr im Code.
Der Index muss jeweils um 1 erhöht werden.
-------------------
ALT: var tmp1 = srueck.StrValueByIndex(",",2).StrValueByIndex(":",1); ! battery
NEU: var tmp1 = srueck.StrValueByIndex(",",3).StrValueByIndex(":",1); ! battery
ALT: integer tmp2 = (srueck.StrValueByIndex(",",0).StrValueByIndex(":",1)).ToInteger(); ! state
NEU: integer tmp2 = (srueck.StrValueByIndex(",",1).StrValueByIndex(":",1)).ToInteger(); ! state
ALT: var tmp3 = srueck.StrValueByIndex(",",3).StrValueByIndex(":",1); ! success
NEU: var tmp3 = srueck.StrValueByIndex(",",4).StrValueByIndex(":",1); ! success
------------------
Ich hoffe, ich konnte damit einigen langwieriges Suchen ersparen.
VG
Bernd
Zuletzt geändert von alchy am 08.05.2019, 19:21, insgesamt 1-mal geändert.
Grund: zusammengeführt
Grund: zusammengeführt
-
- Beiträge: 39
- Registriert: 07.01.2017, 10:37
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 1 Mal
Re: Nuki API Änderungen
Hallo Bernd,bernd-freundorfer hat geschrieben: ↑08.05.2019, 17:57Hallo zusammen,
seit einigen Tagen geht bei mir das tolle Skript "Nuki Hardware Bridge Status auslesen by Alchy v 0.4a" nicht mehr.
Es wirft nur noch "ABFRAGE NICHT ERFOLGREICH" aus.
Nach einiger Recherche stellt sich nun heraus, dass die lieben Entwickler von Nuki die API geändert haben.
Der Endpoint "/lockstate" hat nun einen Wert "mode" mehr bekommen.
ALT: {"state": 3, "stateName": "unlocked", "batteryCritical": false, "success": true}
NEU: {"mode": 2, "state": 3, "stateName": "unlocked", "batteryCritical": false, "success": true}
Somit stimmt die Zeichenkettenreihenfolge nicht mehr im Code.
Der Index muss jeweils um 1 erhöht werden.
-------------------
ALT: var tmp1 = srueck.StrValueByIndex(",",2).StrValueByIndex(":",1); ! battery
NEU: var tmp1 = srueck.StrValueByIndex(",",3).StrValueByIndex(":",1); ! battery
ALT: integer tmp2 = (srueck.StrValueByIndex(",",0).StrValueByIndex(":",1)).ToInteger(); ! state
NEU: integer tmp2 = (srueck.StrValueByIndex(",",1).StrValueByIndex(":",1)).ToInteger(); ! state
ALT: var tmp3 = srueck.StrValueByIndex(",",3).StrValueByIndex(":",1); ! success
NEU: var tmp3 = srueck.StrValueByIndex(",",4).StrValueByIndex(":",1); ! success
------------------
Ich hoffe, ich konnte damit einigen langwieriges Suchen ersparen.
VG
Bernd
vielen Dank für deine Info - ich hatte bei mir das gleiche Problem in den letzten Tagen festgestellt und habe mich auch schon auf die Suche begeben...
Nach Korrektur des Index passt alles wieder
Gruß
Andreas
-
- Beiträge: 4
- Registriert: 23.02.2017, 19:40
- Sammy
- Beiträge: 9172
- Registriert: 09.09.2008, 20:47
- Hat sich bedankt: 15 Mal
- Danksagung erhalten: 174 Mal
Re: Bluetooth smartlock per HM steuern
Vielleicht von Interesse: https://www.linux-magazin.de/news/googl ... t-api-ein/
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
-
- Beiträge: 176
- Registriert: 29.03.2011, 10:35
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 13 Mal
Re: Bluetooth smartlock per HM steuern
Wenn Ihr automatisch eine Statusänderung vom Nuki in die Homematic geschrieben haben wollt, dann ist das Abfragen des Nuki bzw der Bridge nicht sinnvoll, da der Intervall je nach "real-time"-Wunsch klein gesetzt werden muss.
Da kann man eigentlich nur mit dem Callback von der Bridge arbeiten, der automatisch die Statusänderung meldet
Da kann man eigentlich nur mit dem Callback von der Bridge arbeiten, der automatisch die Statusänderung meldet
Re: Bluetooth smartlock per HM steuern
Hallo Foren Mitglieder,
Ich besitze auch ein/eine Nuki.
Nun hab ich versucht das Programm von Alchy zu installieren, versteh aber nicht, was die Nuki ID sein soll.
Könnt ihr mir hier weiterhelfen?
Freu mich auf Hilfe. Weitere Fragen die ich habe, stelle ich unter einem neuen Thread.
viele Grüße,
Sascha773
Ich besitze auch ein/eine Nuki.
Nun hab ich versucht das Programm von Alchy zu installieren, versteh aber nicht, was die Nuki ID sein soll.
Könnt ihr mir hier weiterhelfen?
Freu mich auf Hilfe. Weitere Fragen die ich habe, stelle ich unter einem neuen Thread.
viele Grüße,
Sascha773
-
- Beiträge: 10768
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 675 Mal
Re: Bluetooth smartlock per HM steuern
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: Bluetooth smartlock per HM steuern
Hallo Alchy,
hab dein Programm installiert, und nach mehrmaligen lesen hier den parser benutzt.
Das ist meine Ausgabe:
{
"tmp3": "",
"OUTPUTBAT": "Nuki_Batterie",
"state": "",
"srueck": "",
"OUTPUTSTAT": "Nuki_Status",
"sessionId": "",
"tmp1": "",
"httpUserAgent": "",
"tmp2": "0",
"url": "http:\/\/192.111.222.333:8080\/lockState?nukiID-435xxxxxx&token-1cxxxx",
"STDOUT": ""
}
Warum ist bei mir soviel leer?
By the way, token ID und IP-Adresse entsprechend verfremdet.
hab dein Programm installiert, und nach mehrmaligen lesen hier den parser benutzt.
Das ist meine Ausgabe:
{
"tmp3": "",
"OUTPUTBAT": "Nuki_Batterie",
"state": "",
"srueck": "",
"OUTPUTSTAT": "Nuki_Status",
"sessionId": "",
"tmp1": "",
"httpUserAgent": "",
"tmp2": "0",
"url": "http:\/\/192.111.222.333:8080\/lockState?nukiID-435xxxxxx&token-1cxxxx",
"STDOUT": ""
}
Warum ist bei mir soviel leer?
By the way, token ID und IP-Adresse entsprechend verfremdet.