Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. NUKI Hub

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

NUKI Hub

Geplant Angeheftet Gesperrt Verschoben Hardware
259 Beiträge 23 Kommentatoren 44.9k Aufrufe 25 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T TT-Tom

    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.

    ? Offline
    ? Offline
    Ein ehemaliger Benutzer
    schrieb am zuletzt editiert von
    #163

    @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 Antwort Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

      @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 Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von
      #164

      @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.

      Gruß Tom
      https://github.com/tt-tom17
      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

      NSPanel Script Wiki
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      NSPanel Adapter Wiki
      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

      D 1 Antwort Letzte Antwort
      0
      • T TT-Tom

        @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 Offline
        D Offline
        da.phreak
        schrieb am zuletzt editiert von
        #165

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

        • "Publish auth data" aktiviert werden
        • Die eingerichtete PIN eingetragen werde
        Frank-aus-EssenF T 2 Antworten Letzte Antwort
        0
        • D da.phreak

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

          • "Publish auth data" aktiviert werden
          • Die eingerichtete PIN eingetragen werde
          Frank-aus-EssenF Offline
          Frank-aus-EssenF Offline
          Frank-aus-Essen
          schrieb am zuletzt editiert von
          #166

          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 Antwort Letzte Antwort
          0
          • D da.phreak

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

            • "Publish auth data" aktiviert werden
            • Die eingerichtete PIN eingetragen werde
            T Offline
            T Offline
            TT-Tom
            schrieb am zuletzt editiert von
            #167

            @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.

            Gruß Tom
            https://github.com/tt-tom17
            Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

            NSPanel Script Wiki
            https://github.com/joBr99/nspanel-lovelace-ui/wiki

            NSPanel Adapter Wiki
            https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

            1 Antwort Letzte Antwort
            0
            • Frank-aus-EssenF Frank-aus-Essen

              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 Offline
              D Offline
              da.phreak
              schrieb am zuletzt editiert von
              #168

              @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 Antwort Letzte Antwort
              0
              • D da.phreak

                @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 Offline
                T Offline
                TT-Tom
                schrieb am zuletzt editiert von TT-Tom
                #169

                @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.

                Gruß Tom
                https://github.com/tt-tom17
                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                NSPanel Script Wiki
                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                NSPanel Adapter Wiki
                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                D 1 Antwort Letzte Antwort
                0
                • T 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 Offline
                  D Offline
                  da.phreak
                  schrieb am zuletzt editiert von
                  #170

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

                  T 1 Antwort Letzte Antwort
                  0
                  • D da.phreak

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

                    T Offline
                    T Offline
                    TT-Tom
                    schrieb am zuletzt editiert von
                    #171

                    @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;
                       };
                    };
                    

                    Gruß Tom
                    https://github.com/tt-tom17
                    Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                    NSPanel Script Wiki
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    NSPanel Adapter Wiki
                    https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                    D 2 Antworten Letzte Antwort
                    0
                    • T TT-Tom

                      @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 Offline
                      D Offline
                      da.phreak
                      schrieb am zuletzt editiert von da.phreak
                      #172

                      Vielen Dank an alle, die meinen Referrer Code benutzt haben. Ich habe nun ein Keypad, das in der Version 5.8 auch unterstützt wird. Codes kann man hinzufügen, updaten und löschen.

                      1 Antwort Letzte Antwort
                      0
                      • T TT-Tom

                        @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 Offline
                        D Offline
                        da.phreak
                        schrieb am zuletzt editiert von
                        #173

                        @tt-tom Das Release 5.9 ist raus. Die letzten 5 Log-Einträge werden dort als json übertragen. Zudem werden für die "alten" Nodes authorizationId und authorizationName alle DoorSensor events ignoriert, ich denke das ist der Grund, warum der Name oft leer ist. Dort stand dann als event nicht das unlatch-event, sondern daß der Sensor gemerkt hat, daß die Tür wieder zu ist ... dem ganzen ist dann kein Name zugeordnet.

                        T 1 Antwort Letzte Antwort
                        0
                        • D da.phreak

                          @tt-tom Das Release 5.9 ist raus. Die letzten 5 Log-Einträge werden dort als json übertragen. Zudem werden für die "alten" Nodes authorizationId und authorizationName alle DoorSensor events ignoriert, ich denke das ist der Grund, warum der Name oft leer ist. Dort stand dann als event nicht das unlatch-event, sondern daß der Sensor gemerkt hat, daß die Tür wieder zu ist ... dem ganzen ist dann kein Name zugeordnet.

                          T Offline
                          T Offline
                          TT-Tom
                          schrieb am zuletzt editiert von TT-Tom
                          #174

                          @da-phreak

                          Danke für die Info, werde es testen und dann berichten.
                          Edit: einen DoorSensor habe ich nicht, ist dieser empfehlenswert ??

                          Gruß Tom
                          https://github.com/tt-tom17
                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                          NSPanel Script Wiki
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                          NSPanel Adapter Wiki
                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                          D 1 Antwort Letzte Antwort
                          0
                          • T TT-Tom

                            @da-phreak

                            Danke für die Info, werde es testen und dann berichten.
                            Edit: einen DoorSensor habe ich nicht, ist dieser empfehlenswert ??

                            D Offline
                            D Offline
                            da.phreak
                            schrieb am zuletzt editiert von
                            #175

                            @tt-tom Du solltest das log auswerten, nicht authId und authName, das ist nicht so zuverlässig.

                            Naja der Sensor ist nicht so super-wichtig. Wenn man die Tür zumacht wird das unlatch gleich beendet, und man muß nicht die eingestellte Zeit abwarten, das ist ganz praktisch. Ansonsten weiß man halt ob die Tür auf oder zu ist, damit kann man dann in iobroker machen was man will ... das könnte aber auch jeder andere Türsensor.

                            T 1 Antwort Letzte Antwort
                            0
                            • D da.phreak

                              @tt-tom Du solltest das log auswerten, nicht authId und authName, das ist nicht so zuverlässig.

                              Naja der Sensor ist nicht so super-wichtig. Wenn man die Tür zumacht wird das unlatch gleich beendet, und man muß nicht die eingestellte Zeit abwarten, das ist ganz praktisch. Ansonsten weiß man halt ob die Tür auf oder zu ist, damit kann man dann in iobroker machen was man will ... das könnte aber auch jeder andere Türsensor.

                              T Offline
                              T Offline
                              TT-Tom
                              schrieb am zuletzt editiert von TT-Tom
                              #176

                              @da-phreak
                              is klar, ich sehe mir das Log vom NukiHub an. Kann es sein das die Stunden UTC sind? Aktuell sind es 2 Stunden die fehlen.

                              Den DoorSensor werde ich mir holen, wenn wir umgezogen sind.

                              Gruß Tom
                              https://github.com/tt-tom17
                              Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                              NSPanel Script Wiki
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              NSPanel Adapter Wiki
                              https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                              D 1 Antwort Letzte Antwort
                              0
                              • T TT-Tom

                                @da-phreak
                                is klar, ich sehe mir das Log vom NukiHub an. Kann es sein das die Stunden UTC sind? Aktuell sind es 2 Stunden die fehlen.

                                Den DoorSensor werde ich mir holen, wenn wir umgezogen sind.

                                D Offline
                                D Offline
                                da.phreak
                                schrieb am zuletzt editiert von
                                #177

                                @tt-tom Ja das ist UTC, das kommt so vom NUKI.

                                T 1 Antwort Letzte Antwort
                                0
                                • D da.phreak

                                  @tt-tom Ja das ist UTC, das kommt so vom NUKI.

                                  T Offline
                                  T Offline
                                  TT-Tom
                                  schrieb am zuletzt editiert von
                                  #178

                                  @da-phreak sagte in NUKI Hub:

                                  @tt-tom Ja das ist UTC, das kommt so vom NUKI.

                                  Dann rechne ich es um, alles klar. Danke

                                  Gruß Tom
                                  https://github.com/tt-tom17
                                  Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                  NSPanel Script Wiki
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  NSPanel Adapter Wiki
                                  https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                  D 1 Antwort Letzte Antwort
                                  0
                                  • T TT-Tom

                                    @da-phreak sagte in NUKI Hub:

                                    @tt-tom Ja das ist UTC, das kommt so vom NUKI.

                                    Dann rechne ich es um, alles klar. Danke

                                    D Offline
                                    D Offline
                                    da.phreak
                                    schrieb am zuletzt editiert von
                                    #179

                                    Für alle, die einen NUKI Opener haben, ist das neueste Release interessant: Ein Klingeln an der Tür wird nun detektiert.

                                    PhantomkommanderP 1 Antwort Letzte Antwort
                                    0
                                    • D da.phreak

                                      Für alle, die einen NUKI Opener haben, ist das neueste Release interessant: Ein Klingeln an der Tür wird nun detektiert.

                                      PhantomkommanderP Offline
                                      PhantomkommanderP Offline
                                      Phantomkommander
                                      schrieb am zuletzt editiert von
                                      #180

                                      @da-phreak über welchen datenpunkt machst du das?
                                      mein alter datenpunkt nuki-extended.0.openers.haustür.state.ringStateUpdate wird mir nicht mehr angezeigt :(

                                      T D 2 Antworten Letzte Antwort
                                      0
                                      • PhantomkommanderP Phantomkommander

                                        @da-phreak über welchen datenpunkt machst du das?
                                        mein alter datenpunkt nuki-extended.0.openers.haustür.state.ringStateUpdate wird mir nicht mehr angezeigt :(

                                        T Offline
                                        T Offline
                                        TT-Tom
                                        schrieb am zuletzt editiert von
                                        #181

                                        @phantomkommander

                                        das ist der falsche Adapter hier für dich. Der Nuki-Hub ist ein ESP32 Projekt und arbeitet mit MQTT.

                                        Gruß Tom
                                        https://github.com/tt-tom17
                                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                        NSPanel Script Wiki
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                        NSPanel Adapter Wiki
                                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                        1 Antwort Letzte Antwort
                                        0
                                        • PhantomkommanderP Phantomkommander

                                          @da-phreak über welchen datenpunkt machst du das?
                                          mein alter datenpunkt nuki-extended.0.openers.haustür.state.ringStateUpdate wird mir nicht mehr angezeigt :(

                                          D Offline
                                          D Offline
                                          da.phreak
                                          schrieb am zuletzt editiert von
                                          #182

                                          @phantomkommander

                                          • Wie @TT-Tom schon gesagt hat, der alte NUKI Adapter kann weg.
                                          • Wenn noch nicht geschehen den MQTT Adapter installieren und als Broker konfigurieren
                                          • Den ESP mit NUKI Hub konfigurieren, dort die IP-Adresse vom MQTT Broker angeben
                                          • Für die ring detection den NUKI Opener aktivieren und anlernen
                                          • Der Datenpunkt "mqtt.0.nukiopener.lock.state" wird für 2 Sekunden auf "ring" gesetzt, wenn es klingelt (Der Pfad kann leicht anders lauten ... kannst Du auf dem ESP konfurieren)
                                          D 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          569

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe