Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Im setObjectNotExists Callback kann getState nicht ausgeführt werden?

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Im setObjectNotExists Callback kann getState nicht ausgeführt werden?

    This topic has been deleted. Only users with topic management privileges can see it.
    • dkleber89
      dkleber89 last edited by dkleber89

      Hallo Zusammen,

      ich habe schon einige Varianten ausprobiert aber leider komme ich nicht auf ein vernünftiges Ergebnis:

       adapter.setObjectNotExists(
                      statename,
                      {
                         ...
                      },
                      (err, id) => {
                         ...
      
                          // Initial Sync
                          adapter.getState(`adapter.${adapter.instance}.${statename}`, (err, state) => {
                              if (err) {
                                  adapter.log.error(`Read States for Initial Sync occurred an Error: ${err}`);
      
                                  return;
                              }
      
                              ...
      
                              if (state.ack === false) {
                                  ...
                              } else {
                                  ...
                              }
      

      Ich hoffe ich stehe nicht einfach auf der Leitung oder sowas. Wenn ich in diesen Beispielcode das getState ausführe wird der Callback aufgerufen aber err und state sind jeweils null. Dies ist immer so wenn der State noch nicht existiert hat.

      Müsste da nicht wenigstens im err was drinnen stehen? Und müsste das nicht funktionieren es wird ja der Callback vom Erstellen des Objectes ausgeführt

      Kann mit da bitte mal jemand auf die Sprünge helfen?

      Danke

      Stuebi foxriver76 2 Replies Last reply Reply Quote 0
      • Stuebi
        Stuebi @dkleber89 last edited by

        @dkleber89 , hast du es einmal mit adapter.setForeignState versucht ? Oder bei setState nur den state ohne Instanz mitgeben.
        Bsp.: adapter.setForeignState("huhu.0.mystatus", true) oder adapter.setState("mystatus", true)

        1 Reply Last reply Reply Quote 0
        • foxriver76
          foxriver76 Developer @dkleber89 last edited by foxriver76

          @dkleber89 das Problem ist dass getState automatisch auf deine Adapter States zu greift, und du nicht vorher den namespace angeben musst. Sonst wie schon erwähnt getForeignState, ist jedoch nicht nötig wenn es sich um deine eigenen States handelt

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          715
          Online

          31.6k
          Users

          79.4k
          Topics

          1.3m
          Posts

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