Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. NUKI Hub

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    NUKI Hub

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bob der 1. @Neuschwansteini last edited by

      @ilovegym

      Das kann ich locker bieten.
      Steckdose ist 1m neben dem Nuki,und Wlan ....ich decke etwa 400meter Radial ab...reusper.....sollte die Netzbehörde nicht wisse

      Wenn ich ehrlich bin,was mich zögern lässt...
      A-99€
      B-ich finde die ESP Lösung einfach gradios gemacht.

      Neuschwansteini 1 Reply Last reply Reply Quote 0
      • Neuschwansteini
        Neuschwansteini @bob der 1. last edited by

        @bob-der-1 Unifi LR-6 im US Mode ? 🙂
        Schau nach nem gebrauchten Nuki auf Ebay/Kleinanzeigen...

        B 1 Reply Last reply Reply Quote 0
        • B
          bob der 1. @Neuschwansteini last edited by bob der 1.

          @ilovegym

          Finale Frage
          .......Nuki Pro braucht auch die Bridge um den ganzen umfang zu nutzen...App...Fingerprint etc.

          Bin ich da auf dem richtigen weg?

          Us Mode???? Was meinst du damit

          Neuschwansteini D 2 Replies Last reply Reply Quote 0
          • Neuschwansteini
            Neuschwansteini @bob der 1. last edited by

            @bob-der-1 Nuki Pro hab ich nicht, gabs damals noch nicht. Daher am besten bei Nuki mal anfragen, was die Bridge da macht. Zwingend ist sie bei dem Pro ja nicht.

            Hab mal gelesen, dass die Unifi LR-6 wenn man die Laenderkennung auf US setzt, ne bessere Reichweite haben... 🙂

            1 Reply Last reply Reply Quote 0
            • D
              da.phreak @bob der 1. last edited by

              @bob-der-1 Die App kannst Du ja immer noch verwenden, nur Funktionen, die die Bridge benötigen gehen dann nicht, z. B. Geofence. Ich hab das bei meinem NUKI Opener z. B. mit BLE Beacons umgesetzt ... der ESP merkt dann daß ich vor dem Haus stehe.

              Das Pro hat halt noch den Nachteil, daß das WLAN-Modul Strom braucht und die Batterien schneller leer sind. Deswegen gibt's das ja auch immer mit dem Power Pack.

              B 1 Reply Last reply Reply Quote 0
              • B
                bob der 1. @da.phreak last edited by

                @da-phreak

                Ihr habt es gepackt....verwirrung .
                Pro gibt es im Schwarz.....aber Bridge brauch ich dennoch....das Nuki 3 nur in weiss aber dafür preislich angenehmer.....her je.

                1 Reply Last reply Reply Quote 0
                • T
                  TT-Tom @da.phreak last edited by

                  @da-phreak

                  Hi, bis jetzt stabil. Logge jetzt die Uptime mal mit, um zu sehen wann er aussteigt.

                  1 Reply Last reply Reply Quote 0
                  • T
                    TT-Tom last edited by TT-Tom

                    Hallo @da-phreak

                    ich muss nochmal das Thema mit den loggen der Topics im "lock" Pfad aufmachen.

                    Bildschirmfoto 2022-07-31 um 11.27.29.png

                    Das Issues habe ich geschlossen, weil es so aussah das es jetzt läuft. Bei mir werden im MQTT-Adapter nur die Daten aktualisiert, die sich auch ändern. Zweite Problem, wie im Bild zu sehen wird der Name des NukiLock nicht gesendet bzw. bleibt er leer.

                    Ich habe mir dieses Script geschrieben, um ein JSON Protokoll zu erstellen und es im VIS einzubinden.

                    const debug = 1;
                    const protokoll = 1;
                    const anzahl_elemente = 14;
                    var table = [];
                    var element = [];
                    
                    //on({ id: "mqtt.0.nuki.lock.state", change: "any" }, async function () {
                    on({ id: "mqtt.0.nuki.lock.authorizationName", change: "any" }, async function () {
                        if (getState("0_userdata.0.Anwesenheit_Home.Nuki_Protokoll").val) {
                            table = JSON.parse(getState("0_userdata.0.Anwesenheit_Home.Nuki_Protokoll").val);
                        } else {
                            table = await neue_tabelle();
                        };
                    
                        await wait(1500);
                    
                        var log_id_state = getState('mqtt.0.nuki.lock.authorizationId').val;
                        var log_id_time = formatDate(getDateObject(getState('mqtt.0.nuki.lock.authorizationId').ts), "SS:mm:ss");
                        var log_name_state = getState('mqtt.0.nuki.lock.authorizationName').val;
                        if (log_name_state == "") { log_name_state = "Nuki Lock" };
                        var log_name_time = formatDate(getDateObject(getState('mqtt.0.nuki.lock.authorizationName').ts), "SS:mm:ss");
                        var log_state_state = getState('mqtt.0.nuki.lock.state').val;
                        var log_state_time = formatDate(getDateObject(getState('mqtt.0.nuki.lock.state').ts), "SS:mm:ss");
                        var log_trigger_state = getState('mqtt.0.nuki.lock.trigger').val;
                        var log_trigger_time = formatDate(getDateObject(getState('mqtt.0.nuki.lock.trigger').ts), "SS:mm:ss");
                    
                    
                        if (debug) log("id: " +log_id_state + " - " + log_id_time + ", Name: " + log_name_state + " - " + log_name_time + ", Zustand: " + log_state_state + " - " + log_state_time + ", Auslöser: " + log_trigger_state + " - " + log_trigger_time);
                    
                    
                        if (protokoll) {
                            element[0] = {};
                            element[0].Datum = formatDate(getDateObject(getState('mqtt.0.nuki.lock.authorizationName').ts), "TT.MM.JJ SS:mm");
                            element[0].Name = log_name_state;
                            element[0].Zustand = log_state_state
                            element[0].Trigger = log_trigger_state
                            element[0].id = log_id_state
                            if (debug) log("Neuen Protokolleintrag erstellt");
                    
                            table.pop();
                            table.unshift(element[0]);
                    
                            setState('0_userdata.0.Anwesenheit_Home.Nuki_Protokoll', JSON.stringify(table), true);
                        };
                    
                    });
                    
                    
                    
                    async function neue_tabelle() {
                        var new_table = [];
                        if (debug) log("Neue Tabelle erzeugt");
                        for (let i = 0; i < anzahl_elemente; i++) {
                            new_table[i] = {};
                            new_table[i].Datum = 0;
                            new_table[i].Name = 0;
                            new_table[i].Zustand = 0;
                            new_table[i].Trigger = 0;
                            new_table[i].id = 0;
                        }
                        if (debug) log(new_table);
                        setState('0_userdata.0.Anwesenheit_Home.Nuki_Protokoll', JSON.stringify(new_table), true);
                        return new_table;
                    }
                    

                    Pfade müsst ihr an eure Umgebung anpassen. Zur Zeit logge ich auf den Namen, da dieser aber nicht immer aktualisiert wird, hatte ich die Option auf den State zu loggen. In dieser Einstellung sieht man das sich die Daten nur ändern, wenn der Wert des Topic sich ändert.

                    Könnt ihr das Problem bestätigen?

                    1 Reply Last reply Reply Quote 0
                    • Great SUN
                      Great SUN last edited by

                      Hi Ihr...

                      Ich hab heute mal auf die aktuellste Version aktualisiert. Verbindung mit WLAN hat er mir nicht wieder hergestellt.
                      Dann hab ich nochmal mit erase aufgespielt. WLAN AP kam direkt hoch, WLAN-Daten eingegeben, aber verbunden hat er sich dann trotzdem auch nicht.
                      Jemand ne Idee, was ich machen kann/soll?

                      Danke!

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        da.phreak @Great SUN last edited by

                        @great-sun Nochmal prüfen daß der WLAN-Key wirklich wirklich korrekt ist? Wie sieht denn Deine WLAN-Konfiguration aus?

                        Ansonsten mal die Log-Meldungen angucken.

                        1 Reply Last reply Reply Quote 0
                        • T
                          TT-Tom last edited by

                          Hallo

                          ich wollte nochmal nachfragen ob jemand die Unstimmigkeiten bei dem MQTT bestätigen kann?
                          Vielleicht liegt es auch an meinen Einstellungen am Adapter. Aktuell ist es bei mir so, dass nur die Topics aktualisiert werden, die sich auch geändert haben. Des Weiteren kommt vom Nuki selber kein Name, nur der Hub und die Benutzer werden als Name gesendet.

                          Neuschwansteini 1 Reply Last reply Reply Quote 0
                          • Neuschwansteini
                            Neuschwansteini @TT-Tom last edited by

                            @tt-tom @da-phreak

                            ist bei mir auch so, die Datenpunkte id und name (authorization) bleiben leer.
                            Ist bei allen 4 ESP's so.

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              TT-Tom @Neuschwansteini last edited by

                              @ilovegym sagte in NUKI Hub:

                              ist bei mir auch so, die Datenpunkte id und name (authorization) bleiben leer.

                              Eine ID vom Nuki wird gesendet. Diese weicht aber von den anderen stark ab. Sie ist 10-stellig.

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                da.phreak @TT-Tom last edited by

                                @tt-tom Damit id und name aktualisiert werden, muß

                                • "Publish auth data" aktiviert werden
                                • Die eingerichtete PIN eingetragen werde
                                Frank-aus-Essen T 2 Replies Last reply Reply Quote 0
                                • Frank-aus-Essen
                                  Frank-aus-Essen @da.phreak last edited by

                                  Hi,
                                  erstmal ein Lob für die ganze Arbeit… läuft bei mit ohne Probleme.
                                  Wäre es vielleicht möglich einen Datenpunkt für die aktuelle Firmware Version (Release) und ob es Update gibt zu erstellen. So könnte man es dann auch in der VIS darstellen.
                                  Bei Shelly Adapter z.B. sind diese vorhanden:
                                  Version:
                                  Firmware:
                                  und Update Firmware per Tastendruck.
                                  Ich kenne den Aufwand dafür nicht und ob es so einfach möglich ist, zudem kommt vielleicht ein negativer Einfluss auf den Batteriestand.
                                  War einfach mal so eine Idee.

                                  Gruß Frank

                                  D 1 Reply Last reply Reply Quote 0
                                  • T
                                    TT-Tom @da.phreak last edited by

                                    @da-phreak sagte in NUKI Hub:

                                    @tt-tom Damit id und name aktualisiert werden, muß

                                    • "Publish auth data" aktiviert werden
                                    • Die eingerichtete PIN eingetragen werde

                                    ist beides vorhanden, die ID wird ja auch gesendet, nur nicht der Name vom Nuki.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      da.phreak @Frank-aus-Essen last edited by

                                      @frank-aus-essen Die aktuelle Firmware version vom NUKI Hub in einen Knoten zu packen ist sicher nicht schwer, ein automatisches Update hingegen ist schon etwas mehr Arbeit. Müßte ich drüber nachdenken, wie man das umsetzen kann. Einen eigenen Server, wie Shelly diesen wahrscheinlich hat, habe ich nicht, das müßte also alles über github laufen.

                                      @TT-Tom Also ich reiche da auch nur weiter was vom NUKI gesendet wird. Eigentlich sollte sich das mit dem Activity Log aus der App decken, was steht denn da bei Dir?

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        TT-Tom @da.phreak last edited by TT-Tom

                                        @da-phreak sagte in NUKI Hub:

                                        @TT-Tom Also ich reiche da auch nur weiter was vom NUKI gesendet wird. Eigentlich sollte sich das mit dem Activity Log aus der App decken, was steht denn da bei Dir?

                                        IMG_7E2B31F0EEBD-1.jpeg

                                        und das sind die Daten, die ich mit meinem Script mit logge.

                                        2022-08-10 04:44:19.262 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/state ausgelöst -> id: 4294967295 - 22:59:43, Name: Nuki Lock - 22:59:43, Zustand: unlocked - 04:44:17, Auslöser: manual - 04:44:17
                                        2022-08-10 04:44:49.998 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/state ausgelöst -> id: 4294967295 - 22:59:43, Name: Nuki Lock - 22:59:43, Zustand: locked - 04:44:48, Auslöser: manual - 04:44:17
                                        2022-08-10 04:49:53.468 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/state ausgelöst -> id: 4294967295 - 22:59:43, Name: Nuki Lock - 22:59:43, Zustand: locked - 04:49:52, Auslöser: autoLock - 04:49:51
                                        2022-08-10 04:49:54.195 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/state ausgelöst -> id: 4294967295 - 22:59:43, Name: Nuki Lock - 22:59:43, Zustand: locked - 04:49:52, Auslöser: autoLock - 04:49:51
                                        2022-08-10 06:48:28.320 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/state ausgelöst -> id: 4294967295 - 22:59:43, Name: Nuki Lock - 22:59:43, Zustand: unlocked - 06:48:26, Auslöser: button - 06:48:26
                                        2022-08-10 07:01:49.887 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/state ausgelöst -> id: 4294967295 - 22:59:43, Name: Nuki Lock - 22:59:43, Zustand: locked - 07:01:48, Auslöser: manual - 07:01:48
                                        2022-08-10 14:32:55.988 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/state ausgelöst -> id: 3431645 - 14:32:55, Name: Tom - 14:32:55, Zustand: unlocked - 14:32:54, Auslöser: system - 14:32:54
                                        2022-08-10 14:32:56.664 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/authorizationName ausgelöst -> id: 3431645 - 14:32:55, Name: Tom - 14:32:55, Zustand: unlocked - 14:32:54, Auslöser: system - 14:32:54
                                        2022-08-10 15:48:13.565 - info: javascript.0 (1273301) script.js.common.Nuki.Protokoll: Log durch nuki/lock/authorizationName ausgelöst -> id: 3431648 - 15:48:12, Name: Josi - 15:48:12, Zustand: unlocked - 14:32:54, Auslöser: system - 14:32:54
                                        

                                        die Zeiten sind die Zeitstempel von den Topics

                                        Edit: An den Zeiten sieht man auch, dass nur die Topics aktualisiert werden, wo sich etwas ändert.

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          da.phreak @TT-Tom last edited by

                                          @tt-tom Ich guck mir das bei Zeiten mal an.

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            TT-Tom @da.phreak last edited by

                                            @da-phreak
                                            danke, hier nochmal das Script was ich nutze

                                            const debug = 1;
                                            const protokoll = 0;
                                            const anzahl_elemente = 14;
                                            const dp_protokoll_json_name = '0_userdata.0.Anwesenheit_Home.Nuki_Protokoll';
                                            const dp_protokoll_json_state = '0_userdata.0.Anwesenheit_Home.Nuki_Protokoll_State';
                                            const dp_nuki = 'mqtt.0.nuki.lock';
                                            
                                            
                                            
                                            
                                            // Trigger State
                                            on({ id: dp_nuki + '.state', change: 'any' }, async function (obj) {
                                               if (getState(dp_protokoll_json_state).val) {
                                                   daten_loggen(dp_protokoll_json_state, obj.name);
                                               } else {
                                                   neue_tabelle(dp_protokoll_json_state);
                                                   daten_loggen(dp_protokoll_json_state, obj.name);
                                               };
                                            });
                                            
                                            // Trigger Name
                                            on({ id: dp_nuki + '.authorizationName', change: 'any' }, async function (obj) {
                                               if (getState(dp_protokoll_json_name).val) {
                                                   daten_loggen(dp_protokoll_json_name, obj.name);
                                               } else {
                                                   neue_tabelle(dp_protokoll_json_name);
                                                   daten_loggen(dp_protokoll_json_name, obj.name);
                                               };
                                            
                                            });
                                            
                                            /**
                                            * @param {String} speicherort
                                            * @param {String} trigger
                                            */
                                            async function daten_loggen(speicherort, trigger) {
                                               var table = [];
                                               var element = [];
                                            
                                               await wait(1500);
                                            
                                               var log_id_state = getState(dp_nuki + '.authorizationId').val;
                                               var log_id_time = formatDate(getDateObject(getState('mqtt.0.nuki.lock.authorizationId').ts), "SS:mm:ss");
                                               var log_name_state = getState(dp_nuki + '.authorizationName').val;
                                               if (log_name_state == "") { log_name_state = "Nuki Lock" };
                                               var log_name_time = formatDate(getDateObject(getState(dp_nuki + '.authorizationName').ts), "SS:mm:ss");
                                               var log_state_state = getState(dp_nuki + '.state').val;
                                               var log_state_time = formatDate(getDateObject(getState(dp_nuki + '.state').ts), "SS:mm:ss");
                                               var log_trigger_state = getState(dp_nuki + '.trigger').val;
                                               var log_trigger_time = formatDate(getDateObject(getState(dp_nuki + '.trigger').ts), "SS:mm:ss");
                                            
                                            
                                               if (debug) log('Log durch ' + trigger + ' ausgelöst -> id: ' + log_id_state + ' - ' + log_id_time + ', Name: ' + log_name_state + ' - ' + log_name_time + ', Zustand: ' + log_state_state + ' - ' + log_state_time + ', Auslöser: ' + log_trigger_state + ' - ' + log_trigger_time);
                                            
                                            
                                               if (protokoll) {
                                                   element[0] = {};
                                                   element[0].Datum = formatDate(getDateObject(getState(dp_nuki + '.authorizationName').ts), 'TT.MM.JJ SS:mm');
                                                   element[0].Name = log_name_state;
                                                   element[0].Zustand = log_state_state
                                                   element[0].Trigger = log_trigger_state
                                                   element[0].id = log_id_state
                                                   if (debug) log('Neuen Protokolleintrag erstellt');
                                            
                                            
                                                   table = JSON.parse(getState(speicherort).val);
                                                   table.pop();
                                                   table.unshift(element[0]);
                                            
                                                   setState(speicherort, JSON.stringify(table), true);
                                               };
                                            };
                                            
                                            
                                            /**
                                            * @param {string} speicherort
                                            */
                                            async function neue_tabelle(speicherort) {
                                               if (protokoll) {
                                                   var new_table = [];
                                                   if (debug) log('Neue Tabelle erzeugt');
                                                   for (let i = 0; i < anzahl_elemente; i++) {
                                                       new_table[i] = {};
                                                       new_table[i].Datum = 0;
                                                       new_table[i].Name = 0;
                                                       new_table[i].Zustand = 0;
                                                       new_table[i].Trigger = 0;
                                                       new_table[i].id = 0;
                                                   }
                                                   if (debug) log(new_table);
                                                   setState(speicherort, JSON.stringify(new_table), true);
                                                   return new_table;
                                               };
                                            };
                                            

                                            D 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            394
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            259
                                            30046
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo