NEWS
Nuki Smart Lock 3.0 pro in ioBroker einbinden
-
@grrfield said in Nuki Smart Lock 3.0 pro in ioBroker einbinden:
@andibr Warum sendTo und nicht setState?
weil ich ein "setState" im blockly noch nicht gefunden habe, und ich mit JS die Sache nicht hin kriege.
Edit: Ich habe mich mal versucht mit JS
on({id: 'enocean.0.0015c4c0.B0', val: true}, function (obj) { setState('mqtt.1.nuki.357225F4.lockAction', '2'); });
Damit habe ich zumindest erreicht, das in der Objektliste bei lockAction die "2" eingetragen wird. Aber der Nuki reagiert nicht.
-
@andibr Stehen in den MQTT-States die richtigen Zustände des Nuki (batteryChargeState, lockActionEvent, doorsensorState, ...)? Vielleicht funktioniert die Verbindung nicht - ich würde in der App MQTT nochmal deaktivieren und die WLAN-Verbindung checken. Danach den MQTT-Adapter unter ioBroker neu starten und erst dann MQTT in der App wieder aktivieren (nicht vergessen, "Sperren erlaubt" einzustellen).
-
@andibr Die 2 nicht in Hochkommas setzen - es soll eine Zahl eingetragen werden und kein String:
setState('mqtt.1.nuki.357225F4.lockAction', 2);
-
@grrfield said in Nuki Smart Lock 3.0 pro in ioBroker einbinden:
@andibr Die 2 nicht in Hochkommas setzen - es soll eine Zahl eingetragen werden und kein String:
setState('mqtt.1.nuki.357225F4.lockAction', 2);
Ok, habe ich angepasst. musste dafür aber auch den Datenpunkt noch auf "number" korrigieren. Beim erstellen hat er die auf String gesetzt. Leider funktioniert es immer noch nicht.
Wenn ich mit der Nuki-App auf dem Handy auf- oder zusperre bekomme ich den Status in den Datenpunkte sauber angezeigt. Wenn ich mit meinem Taster das JS auslöse wird der Datenpunkt "lockAction" auf den Wert 2 gesetzt aber am Nuki selber geschieht gar nichts.
Irgendwie bin ich schlicht nicht fähig, denn auch mit dem "MQTT.fx" auf meinem Rechner, kann ich das Nuki nicht dazu bewegen auf mqtt Message zu reagieren. Der MQTT.fx funktioniert aber, denn in den Objekten kann ich mit mqtt.fx die Werte verändern.
-
@andibr versuche mal den Wert auf „0“ und dann auf „2“ zu setzen. Ich meine, der reagiert nur auf Veränderungen des Wertes. String wäre m. E. auch richtig, den Typ erstellter Parameter sollte man nicht ändern.
-
@andibr Passiert etwas, wenn Du in den Objekten den State
mqtt.1.nuki.357225F4.lock
von Hand auf
true
setzt?
Mir ist noch aufgefallen, daß Deine MQTT-Instanz 1 und nicht 0 ist - hast Du da weitere Instanzen laufen, die sich evt. gegenseitig stören könnten? -
Richtig ich habe noch einen mqtt.0 Broker der aber auf dem Port 1884 läuft und auch ein anderes Login hat. Somit gehe ich davon aus, dass sich die nicht stören sollte. Aktuell habe ich irgendwie so den Eindruck mein Nuki kann nur "mqtt-publish" obwohl ich eigentlich den Haken "sperren" in der App aktiviert habe.
Auch wenn ich mit dem mqtt.fx den Wert 2 oder 3 auf den "nuki/357225F4/lockAction" publish geschieht ausser der anpassung des Werte im Datenpunkt gar nicht, darum bekomme ich den EIndruck, dass mein Nuki gar nicht "empfangen" kann. Was ich auch immer falsch eingestllt habe.
Ich denke ich habe unterdessen alle Werte in den Objekten mal ausprobiert und gar geschieht.
-
@andibr sagte in Nuki Smart Lock 3.0 pro in ioBroker einbinden:
ich habe noch einen mqtt.0 Broker der aber auf dem Port 1884 läuft
Setze den mal auf einen Port der mindestens zwei neben dem für das Nuki liegt. Klappt es dann? Bzw. kannst die die Instanz 0 mal auf 'aus' stellen um zu prüfen ob die sich beeinflussen.
-
@dr-bakterius
Also deaktiviert habe ich den mqtt.0 schon, hat aber gar nichts gebracht. Iob kann aber grundsätzlich schon mehrer mqtt neben einander haben? -
@andibr
Schau mal ob das Nuki eventuell die MQTT Verbindung verloren hat, das Problem hatte ich gestern und hatte es nochmal in der App einrichten müssen. -
Hi, ich überlege mir ein Nuki anzuschaffen.
Wie ich es verstanden habe, gibt es den früheren Nachteil der Integration der 3Pro mittels MQTT im Vergleich zur Bridge + Nuki iob Adapter inzwischen nicht mehr. Ich hoffe das habe ich so richtig verstanden. Dann würde ich mir das Pro besorgen mit Keypad 2.
Ich stelle mir jedoch die Frage, ob es Sinn macht sich den Door Sensor anzuschaffen oder ob es nicht auch eine Zigbee Alternative tun würde (Preis), welche das Signal (wenn überhaupt möglich) dem Nuki zur Verfügung stellt.
Die Funktion des Door Sensors macht aus meiner Sicht absolut Sinn, woher weiß das Schloss sonst, ob die Tür in der Falle steht oder sonst irgendwie anders im Raum. Und jedes Mal das Handy zücken um die Tür zu verschließen möchte ich dann auch nicht mehr.
Wie macht ihr das also?
Nutzt ihr eine Script, dass dem Schloss ein Schließen-Befehl schickt wenn die Tür in der Falle steht?
Wäre über eure Erfahrungen und Vor- und Nachteile sehr dankbar. -
@hakemann Ich verwende den Nuki-Door-Sensor. Damit kann ich die Auto-Lock-Funktion oder Lock 'n' Go von Nuki direkt nutzen und es ist sichergestellt, daß das Schloß nicht bei offener Tür schließt. Das geht meines Wissens nur mit dem Nukisensor. Man könnte das zwar in ioBroker nachprogrammieren, ich möchte aber eine sicherheitsrelevante Funktion nicht von mehr Geräten abhängig machen als nötig.
-
@hakemann
Also ich habe noch gar keinen Türkontakt, werde mir aber vermutlich den Nuki Türkontakt zulegen müssen. Weil die integration mit mqtt bei mir nicht funktioniert und ich bis jetzt auch keine mqtt Befehle an meine 3stk smart look senden kann. Zusätzlich scheint es so zu sein, dass bei mir der mqtt Status nur sporadisch übermittelt wird. Ich habe mir eine Überwachung auf den "connect" eingerichtet und der sendet mir zwischendurch ein "offline". Merkwürdigerweise kommen immer bei 2 von 3 die Offline zusammen und vom 3 gar nichts. -
@kipferl Genau das habe ich soeben auch erlebt. Nach einem "iob restart" musste ich bei allen 3 smart lock über die App die Daten zum MQTT Server wieder eintragen, obwohl sich absolut nichts geändert hat. Ist etwas merkwürdig?
Nun funktioniert das ganze auch bei mir mit dem senden der "lockAction" richtig. Mein Fehler war, dass ich bei der MQTT-Instanz keine Maske eingetragen hatte. Seit dort auch das
mqtt.1.*
steht funktioniert es aus dem js wie auch über das Linux "MQTTX" Programm mit dem empfangen und senden. Bin mal gespannt ob er mir heute Abend dann automatisch per Schaltuhr wirklich abschliesst, resp. ob der Nuki, dann wirklich empfängt.
-
@andibr sagte in Nuki Smart Lock 3.0 pro in ioBroker einbinden:
Bin mal gespannt ob er mir heute Abend dann automatisch per Schaltuhr wirklich abschliesst, resp. ob der Nuki, dann wirklich empfängt.
du kannst doch in der App einen Nachtmodus aktivieren, damit schliesst er zu dieser Zeit immer ab. bzw auch immer wieder zu, false in de Zeitspanne aufgeschlossen wurde.
andere Frage: Habe mir die Testversion auch geladen, sehe aber kein MQTT in der APP. gibt es die nur für bestimme Versionen von NUKI
-
@tt-tom Richtig, es gibt eine Art Schaltuhr auf dem Nuki, aber ich will alle die Dinge nur einmal und Zentral zusammen haben. Es ist halt doof bei einem zentralen System, dann doch noch einzeln etwas machen zu müssen. Ich will die Nuki auch an die Dämmerung koppeln und da sind starre Zeiten noch doofer.
-
Wenn man bei den Einstellung im Menu auf den obersten Punkt " Funktion und Konfig..." geht und dann im nächsten Menu runterscrollt, kommt der Eintrag MQTT. Allenfalls musst du noch zuerst Firmeware update machen. Dann habe ich den Punkt mit "automatisch finden...." deaktiviert, denn der produziert massig Einträge in den Datenpunkte.
-
-
Hallo zusammen,
Konnte jemand den lockActionEvent state in MQTT im iobroker richtig anzeigen?
Wenn nein, welche alternative Lösung habt ihr ggf bereits gefunden.Danke
Markus -
@addy Unter lockActionEvent werden Sonderzeichen angezeigt. Wenn Du unter Objekte auf den State gehst,
kannst Du den angezeigten Wert kopieren, in ein Javascript-Skript einfügen und dort die Sonderzeichen sehen, z. B.
Den State liest Du normal mit getState aus, kannst dann mit slice() die gelesenen Sonderzeichen separieren und mit den vorher ermittelten vergleichen. Hier ein Beispiel, das das Öffnen von Nuki detektiert:let lastLock=getState('mqtt.0.nuki.3583F76C.state'/*nuki/3583F76C/state*/).val; // letzter Öffnungszustand on({id: ['mqtt.0.nuki.3583F76C.lockActionEvent'/*nuki/3583F76C/lockActionEvent*/, 'mqtt.0.nuki.3583F76C.state'/*nuki/3583F76C/state*/], change: 'ne'}, obj => { if(obj.id == 'mqtt.0.nuki.3583F76C.lockActionEvent') { let trigger=obj.state.val; trigger=trigger.slice(1,2); if(trigger == '' && lastLock != 3) { // Nur, wenn nicht bereits geöffnet log('Öffnen!'); } } else { lastLock=obj.state.val; } });
Statt des Fragezeichens steht im Javascript-Editor ein STX in rotem Kästchen:
Das ist der aus dem State kopierte Wert - wird hier leider nicht richtig angezeigt.