Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. warn state "...has no existing object, ..."

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    warn state "...has no existing object, ..."

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

      warn state "...has no existing object, this might lead to an error in future versions"

      z.B.
      2020-12-21 15:40:51.194 - warn: fritzdect.0 (6608) State "fritzdect.0.Button_1234567890-1.id" has no existing object, this might lead to an error in future versions

      im travis Testlauf zeigt mir das log die obige Meldung an.
      Ich habe keine Ahnung wie ich das angebliche Problem lösen kann und welches die akzeptierten states und roles sind.

      Kann nicht erkennen, daß ich hier dagegen verstoße:
      https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md
      bzw.
      https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#channel
      wobei zwischen den beiden noch Unterschiede sind.

      irgend eine Idee für mich?
      gibt es eine Liste der verwendbaren roles?
      Was ist wenn etwas nicht dabei ist?

      Gruß
      Klaus

      PS id wird so angelegt

      	adapter.setObjectNotExists(typ + newId + '.id', {
      		type: 'state',
      		common: {
      			name: 'ID',
      			type: 'string',
      			read: true,
      			write: false,
      			role: 'info',
      			desc: 'ID'
      		},
      		native: {}
      	});
      UncleSam 2 Replies Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @foxthefox last edited by UncleSam

        . .

        1 Reply Last reply Reply Quote 0
        • UncleSam
          UncleSam Developer @foxthefox last edited by UncleSam

          @foxthefox So, jetzt noch eine korrekte Antwort:
          Im folgenden Code machst du die vier Funktionen sofort hinter einander:

          createDevices();
          	createGroups();
          	createTemplates();
          	pollFritzData();
          

          Aber createDevices() wird intern asynchron über ein Callback ausgeführt. Damit kann es sein, dass du Werte erhälst, für die du noch gar keine Datenpunkte erstellt hast. Ich denke, das ist das Problem.

          Ich würde versuchen auf async/await und Promises umzustellen oder halt überall sauber mit Callbacks zu arbeiten.

          F 1 Reply Last reply Reply Quote 0
          • F
            foxthefox Developer @UncleSam last edited by foxthefox

            @UncleSam sagte in warn state "...has no existing object, ...":

            @foxthefox So, jetzt noch eine korrekte Antwort:
            Im folgenden Code machst du die vier Funktionen sofort hinter einander:

            createDevices();
            	createGroups();
            	createTemplates();
            	pollFritzData();
            

            Aber createDevices() wird intern asynchron über ein Callback ausgeführt. Damit kann es sein, dass du Werte erhälst, für die du noch gar keine Datenpunkte erstellt hast. Ich denke, das ist das Problem.

            Ich würde versuchen auf async/await und Promises umzustellen oder halt überall sauber mit Callbacks zu arbeiten.

            Danke.
            Wobei ich das noch nicht ganz glauben mag. Die Funktionen sind ja von mir angelegt und deren scope setzt nicht aufeinander auf. D.h. jede Funktion kümmert sich um die eigenen Dinge. Außer das Polling fürs update macht danach wieder mit eigenen update Funktionen weiter.
            Kurioserweise betrifft es auch immer die gleichen Datenpunkte id,fwversion, manufacturer... und nicht jene die state oder cmd sind. Trotz Asynchronität scheint mir da zuviel gleichartig zu sein, deswegen eher meine Frage in Richtung der Role.

            wobei async/await schon eine Überlegung ist.

            Gruß
            Klaus

            UncleSam 1 Reply Last reply Reply Quote 0
            • UncleSam
              UncleSam Developer @foxthefox last edited by UncleSam

              @foxthefox sagte in warn state "...has no existing object, ...":

              deswegen eher meine Frage in Richtung der Role.

              Du kannst theoretisch irgend etwas in die role schreiben, nicht dass du das solltest, aber für den js-contoller hat das überhaupt keine Bedeutung. Die Fehlermeldung kommt wirklich nur daher, dass du ein setState vor einem createObject (oder ähnliches) machst.

              Rollen haben nur im Zusammenspiel mit anderen Adaptern eine Bedeutung.

              Wenn du es nicht glaubst: logge jeden setState und createObject und du wirst sehen, wie es passiert.

              F 1 Reply Last reply Reply Quote 0
              • F
                foxthefox Developer @UncleSam last edited by

                @UncleSam
                ich glaub ich habs jetzt.

                adapter.setObjectNotExists()
                wird gleich von
                adapter.setState()
                gefolgt und die sind dann wohl das asynchrone Problem.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                552
                Online

                31.9k
                Users

                80.3k
                Topics

                1.3m
                Posts

                object role travis warning
                2
                6
                2201
                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