Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  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.8k

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

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

NUKI Hub

Scheduled Pinned Locked Moved Hardware
259 Posts 23 Posters 45.7k Views 25 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ? A Former User

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

    B Offline
    B Offline
    bob der 1.
    wrote on last edited by bob der 1.
    #154

    @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

    ? D 2 Replies Last reply
    0
    • B 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

      ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #155

      @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
      0
      • B 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

        D Offline
        D Offline
        da.phreak
        wrote on last edited by
        #156

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

          @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 Offline
          B Offline
          bob der 1.
          wrote on last edited by
          #157

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

            @ilovegym Da bekommt man auf jeden Fall mit ob der sich überhaupt neu startet.

            @TT-Tom Läuft es denn nun? Wenn es mal wieder einen Aussetzter gibt, hast Du die Möglichkeit logs mitlaufen zu lassen?

            T Offline
            T Offline
            TT-Tom
            wrote on last edited by
            #158

            @da-phreak

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

            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 Reply Last reply
            0
            • T Offline
              T Offline
              TT-Tom
              wrote on last edited by TT-Tom
              #159

              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?

              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 Reply Last reply
              0
              • Great SUNG Offline
                Great SUNG Offline
                Great SUN
                wrote on last edited by
                #160

                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
                0
                • Great SUNG Great SUN

                  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 Offline
                  D Offline
                  da.phreak
                  wrote on last edited by
                  #161

                  @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
                  0
                  • T Offline
                    T Offline
                    TT-Tom
                    wrote on last edited by
                    #162

                    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.

                    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 Reply Last reply
                    0
                    • 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
                      A Former User
                      wrote on last edited by
                      #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 Reply Last reply
                      0
                      • ? A Former User

                        @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
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by
                          #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 Replies Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            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
                              wrote on last edited by
                              #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 Reply Last reply
                              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
                                wrote on last edited by
                                #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 Reply Last reply
                                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
                                  wrote on last edited by 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 Reply Last reply
                                  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
                                    wrote on last edited by
                                    #170

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

                                    T 1 Reply Last reply
                                    0
                                    • D da.phreak

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

                                      T Offline
                                      T Offline
                                      TT-Tom
                                      wrote on last edited by
                                      #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 Replies Last reply
                                      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
                                        wrote on last edited by 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 Reply Last reply
                                        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
                                          wrote on last edited by
                                          #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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          851

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe