Nuki steuern per CCU3 (und Status abrufen)

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Antworten
kalanthes
Beiträge: 9
Registriert: 03.12.2020, 08:59
System: CCU und Access Point
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Nuki steuern per CCU3 (und Status abrufen)

Beitrag von kalanthes » 03.12.2020, 16:19

dank User ueffchen aus dem Thread viewtopic.php?f=19&p=495975 konnte ich meinen neuen Nuki (mit Bridge) in die CCU einbinden und steuern.

Zum Abrufen des Status habe ich hier schon etwas geschrieben: viewtopic.php?f=19&t=49464&start=20#p623666
Ich arbeite gerne mit den StatusNamen, da dies dass Fehlersuchen einfacher macht.
SV.jpg
Zum Steuern bedienen wir uns auch der selben API:
https://developer.nuki.io/page/nuki-bri ... ck-actions

Die Steuerbefehle wären:
verriegeln

Code: Alles auswählen

http://IP-Deiner-Bridge:8080/lockAction?nukiId=12345&deviceType=0&action=1&token=TOKEN
entriegeln

Code: Alles auswählen

http://IP-Deiner-Bridge:8080/lockAction?nukiId=12345&deviceType=0&action=2&token=TOKEN
öffnen (unlatch):

Code: Alles auswählen

http://IP-Deiner-Bridge:8080/lockAction?nukiId=12345&deviceType=0&action=3&token=TOKEN
IP, ID und Token anpassen!
NukiID kann man über folgende Addresse finden: http://IP-Deiner-Bridge:8080/list?token=TOKEN


Mein Programm toggelt zwischen entriegeln und verriegeln. Steuerbar mitteln virtuellem Taster.
prog.jpg
Skript ist bei beiden Bedinungen bis auf die URL das Selbe:

Code: Alles auswählen

string stdout;
string stderr;

string url="http://IP-Deiner-Bridge:8080/lockAction?nukiId=12345&deviceType=0&action=2&token=TOKEN";

system.Exec("wget -q -O - '"#url#"'", &stdout, &stderr);

WriteLine(stdout);

thomas.flaechsig.allianz
Beiträge: 11
Registriert: 06.08.2017, 15:17
Hat sich bedankt: 7 Mal

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von thomas.flaechsig.allianz » 02.01.2021, 17:58

Eine Frage dazu: Welcher Art sind die SV? (Zeichenkette/Zahl/bei Werteliste welche Werteinträge?)

kalanthes
Beiträge: 9
Registriert: 03.12.2020, 08:59
System: CCU und Access Point
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von kalanthes » 08.01.2021, 08:49

hier meine SV-Einträge:
SV.jpg

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von alchy » 08.01.2021, 21:20

Soll das ein Tipp und Trick sein und ist nur falsch gelandet oder wieso der erneute Thread?

Alchy

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.

Dekat
Beiträge: 7
Registriert: 21.06.2021, 23:21
System: CCU
Hat sich bedankt: 2 Mal

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von Dekat » 03.12.2022, 17:15

Es fehlt leider die Verschlüsselung des Token, dies ist seit 2021 möglich und wird ab 2023 pflicht.

Einfaches Token:

Code: Alles auswählen

http://192.168.1.50:8080/info?token=123456
Verschlüsselter Token:

Code: Alles auswählen

http://192.168.1.50:8080/info?ctoken=a7f6b4df6758b92445bd5470b755b43ba41cf50af8b3f6e19368348ddfb1686291555dfd90b31f9333&nounce=119c38fb6d7d707b8a45f14e688b74b8c4c1acf33643c71a
Ein verschlüsseltes Token ist nur innerhalb eines Zeitrahmens von 60 Sekunden gültig, basierend auf dem für die Berechnung verwendeten Zeitstempel, um Wiederholungsangriffe zu verhindern. Zwei Aufrufe mit exakt demselben Zeitstempel funktionieren also nur mit unterschiedlichen Zufallszahlen oder unter Verwendung einer anderen Nonce.

Den verschlüsselten Token kann man so erstellen:

1. sha256("2019-03-05T01:06:53Z,4711,123456") = f52eb5ce382e356c4239f8fb4d0a87402bb95b7b3124f0762b806ad7d0d01cb6
--> geheimer Token = SHA256 des Tokens

2. nonce = 24 Byte Zufallswerte = 119c38fb6d7d707b8a45f14e688b74b8c4c1acf33643c71a

3. ctoken = xsalsa20poly1305(Zeitstempel, Zufallszahl, geheimer Token, nonce) = a7f6b4df6758b92445bd5470b755b43ba41cf50af8b3f6e19368348ddfb1686291555dfd90b31f9333

Also die neue Anfrage müsste jetzt vom Prinzip ca. so aussehen:

Code: Alles auswählen

http://192.168.1.50:8080/info?ctoken=xsalsa20poly1305(Zeitstempel, Zufallszahl, geheimer Token, nonce)&nounce=24 Byte Zufallswerte
Nur weiß ich gerade nicht ob homematic skripts überhaupt eine sha256() Funktion unterstützen? Kennt jemand dafür eine Lösung?

Hier ein Link zur Nuki API Doku dazu: https://developer.nuki.io/page/nuki-bri ... pi-1-13/4/
Zuletzt geändert von Dekat am 03.12.2022, 17:35, insgesamt 1-mal geändert.

Fonzo
Beiträge: 6743
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 485 Mal

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von Fonzo » 03.12.2022, 17:35

Dekat hat geschrieben:
03.12.2022, 17:15
Nur weiß ich gerade nicht ob homematic skripts überhaupt eine sha256() Funktion unterstützen?
Nicht das ich wüste, dass so was von eQ-3 angeboten wird, so was unterstützten richtige Sprachen wie PHP usw., aber wohl nicht die Skriptsprache von eQ-3.
Dekat hat geschrieben:
03.12.2022, 17:15
Kennt jemand dafür eine Lösung?
Zum Beispiel einen anderen Ansteuerungsweg von der CCU3 wählen, ohne mit Skripten auf der CCU3 mit rudimentären Funktionsumfang herum zu hantieren, eine Ansteuerung funktioniert z.B. alternativ über Cloud Services.

Dekat
Beiträge: 7
Registriert: 21.06.2021, 23:21
System: CCU
Hat sich bedankt: 2 Mal

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von Dekat » 03.12.2022, 17:48

Ja man könnte über die Nuki Cloud API gehen diese wird durch ssl(https) verschlüsselt also würde das mehr Sicherheit bieten, oder man nutzt einen kostenlosen Online sha256 Dienst mit nem request dieser wäre auch über ssl(https) verschlüsselt.

Hier die Doku zur Nuki Cloud API: https://api.nuki.io/

Wenn man die Nuki Cloud nutzen will würde das dann in etwas so aussehen:

Code: Alles auswählen

url: https://api.nuki.io/smartlock/<LOCK_ID>/action/unlockheaders: Content-Type: application/json Authorization: Bearer <YOUR TOKEN>
Den API Cloud Token erstellt man unter https://web.nuki.io/

Hier nochmal eine Ausführliche Anleitung wie man die Nuki Cloud API nutzt.
https://loxwiki.atlassian.net/wiki/spac ... 1722253316

Jetzt frag ich mich nur ob https überhaut von Homematic Scripts unterstützt werden?

Benutzeravatar
Black
Beiträge: 5480
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von Black » 04.12.2022, 12:25

https aufrufe machst du mit curl

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

mademyday
Beiträge: 272
Registriert: 03.10.2014, 12:46
System: CCU
Wohnort: Enzkreis
Hat sich bedankt: 3 Mal
Danksagung erhalten: 43 Mal

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von mademyday » 26.12.2022, 09:50

Fonzo hat geschrieben:
03.12.2022, 17:35
Dekat hat geschrieben:
03.12.2022, 17:15
Nur weiß ich gerade nicht ob homematic skripts überhaupt eine sha256() Funktion unterstützen?
Nicht das ich wüste, dass so was von eQ-3 angeboten wird, so was unterstützten richtige Sprachen wie PHP usw., aber wohl nicht die Skriptsprache von eQ-3.
die CCU kann sha256, dies kann zB per system.Exec() auch aus Homematic-Skripten genutzt werden

Code: Alles auswählen

# sha256sum --help
BusyBox v1.30.1 (2021-01-20 15:40:29 CET) multi-call binary.

Usage: sha256sum [-c[sw]] [FILE]...

Print or check SHA256 checksums

        -c      Check sums against list in FILEs
        -s      Don't output anything, status code shows success
        -w      Warn about improperly formatted checksum lines

Sprengflut
Beiträge: 4
Registriert: 04.04.2023, 07:39
System: CCU

Re: Nuki steuern per CCU3 (und Status abrufen)

Beitrag von Sprengflut » 04.04.2023, 07:44

Moin,

erst einmal vielen Dank für die wirklich tolle Anleitung.
Die Steuerung meines Nuki-Türschlosses über den Fingerprint-Sensor iKey und der HomeMatic Funk-Tasterschnittstelle funktioniert soweit prima.
Nur dauert das Öffnen der Tür ca. 6 Sekunden. Wenn ich die URL http://IP-Deiner-Bridge:8080/lockAction ... oken=TOKEN direkt aufrufe, öffnet sie sofort.
Vorher hatte ich die KeyMatic und die hat sofort reagiert.
Hat jemand eine Idee, wie ich das Problem adressieren kann?

Viele Grüße
Andy

Antworten

Zurück zu „HomeMatic allgemein“