NEWS
DeleteDevice im Adapter will nicht
-
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:

Wenn ich den obigen Code ausführe, wird irgendwie absolut nichts gelöscht.
Wo habe ich hier den Denkfehler???
-
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 ...
-
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, alsoadapter.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.
-
Hallo zusammen,
danke für den Tip.
Habe mir jetzt ne kleine Routine mit .getObjects geschrieben.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden