Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. DeleteDevice im Adapter will nicht

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    DeleteDevice im Adapter will nicht

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

      Hallo zusammen,

      ich rufe in meinem Adapter in einer Initialisierungs-Routine (hinzufügen neuer Geräte) folgenden Code auf:

      adapter.getDevices(function (err, devices) {
      	for(var d = 0; d < devices.length; d++) {
      		adapter.log.debug("Device ID to delete: " + devices[d]._id);
      		adapter.deleteDevice(devices[d]._id);
      	}
      });
      
      

      Damit will ich quasi alle Geräte meines Adapters auf einmal löschen.

      Meine Objekte sehen so aus:

      294_unbenannt.png

      Wenn ich den obigen Code ausführe, wird irgendwie absolut nichts gelöscht.

      Wo habe ich hier den Denkfehler???

      1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 last edited by

        Ich glaube in deinem Fall kannst Du "delete Device" nicht nutzen.

        Die Struktur geht davon aus das "Unterhalb" eines Devices zuerst "Channel" existieren und erst dort drunter die States.

        Daher geht deleteDevices hin und sucht die Devices, wenn gefunden sucht es die Channel darunter und löscht diese. Channel findet er aber bei Dir nicht … hm ...

        Jetzt kann man "streiten" ob das so "ok" ist oder "blöd weil zu starr" ...

        Du kannst für den js-controller mal dazu ein Github ssue anlegen wenn Du die Funktionalität brauchst ...

        1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer last edited by

          @apollon77:

          Ich glaube in deinem Fall kannst Du "delete Device" nicht nutzen.

          Die Struktur geht davon aus das "Unterhalb" eines Devices zuerst "Channel" existieren und erst dort drunter die States. `
          Jup, im speziellen geht er außerdem davon aus, dass die Devices direkt unter dem Adapter-Ordner hängen, also

          adapter.0.device.channel.state

          Du könntest mit adapter.getObjects die Objekte und ihre IDs ermitteln und dann für die betroffenen Objekte (d.h. devices und untergeordnete States) deleteObject aufrufen.

          1 Reply Last reply Reply Quote 0
          • S
            SchuetzeSchulz last edited by

            Hallo zusammen,

            danke für den Tip.

            Habe mir jetzt ne kleine Routine mit .getObjects geschrieben.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            552
            Online

            31.7k
            Users

            79.8k
            Topics

            1.3m
            Posts

            3
            4
            729
            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