NEWS
UNSOLVED Object ... yet exists - Objekte werden nicht angezeigt
-
Hallo zusammen.
Hab's kaputt gemacht... oder war's schon?
Wollte mir für meine ZigBee-Plugs ein "allocation" Objekt erzeugen um ran zu schreiben, wo die Dinger gerade im Einsatz sind. Nun zeigt er mir die States aber bis auf einen (Unterschied erkläre ich unten) alle nicht an. Kein reboot, kein refresh, kein Expertenmodus hilft. In JSON-Exporten sind sie aber drin! Will ich sie neu anlegen sagt er "object xyz yet exists!" - er hat sie, aber zeigt sie nicht, und benutzen kann ich sie auch nicht.Was hab' ich gemacht?
- Zunächst mal unter "0_userdata.0." mittels GUI ein "Gerät" namens "zigbee" erzeugt. Ging.
- Dann unter dem "zigbee" eine nächste Ebene für den ersten Plug erzeugt, bspw. "Plug2". Ging auch.
- Dann überlegt: "so viele werden es nicht, mache ich mir nicht die Mühe für jeden Plug eine Gruppe (ein "Gerät") zu erzeugen, sondern alle in zigbee".
- Also "Plug2" wieder gelöscht.
- FEHLER: Jetzt sieht man das Gerät "zigbee" unter "0_userdata.0." nicht mehr. Kein "Kind" mehr drin, also "Mutter" weg?
- Hä? Also nochmal "zigbee" anlegen => geht nicht! Jetzt kommt immer der Fehler "Object ... yet exists!".
Das soll so nicht sein, oder?
- Der Fehler hier hat sicher nichts mit dem ZigBee-Adapter (shepherd) selbst zu tun, denn bis hier her war das ja ioBroker "standard", und der Name "ZigBee" ist ja hier genauso ein "dummer String" wie "DonaldDuck" es wäre.
- Um auf Nummer sicher zu gehen, das ganze nochmal mit einem kurzen "zb" als Name nachgestellt => selber Fehler!
Also noch was anders versucht:
- diesmal unter dem ZigBee Adapter selbst "zigbee.0.{deviceID-von-Plug2}" den Datenpunkt "allocation" händisch angelegt und dabei alles richtig gemacht. Der erscheint dann auch.
- Dann diesen Datenpunkt in NodeRed verwendet. Funktioniert alles.
- Dann in NodeRed für den nächsten ZigBee Plug (Plug3) im entsprechenden "ioBroker out" Objekt die Option "Auto Create" auf "Create States if not exist" gesetzt und dort nach gleichem Namensschema wie oben ".allocation" angehängt - man ist ja faul und denkt sich: Lass die Kiste den State doch selbst anlegen, dafür gibt's ja wohl die Option.
- DAS funktioniert auch - aber nur halb! Er scheint den State zu erzeugen, ich kann mit diesen States aber nicht arbeiten, weil ich auch diese nicht in der Objekte-Liste zu sehen bekomme!
--- [EDIT]: Gerade zufällig gesehen: Er erzeugt die States nicht unter
_____ ... Objekte > Zigbee.0
_____ sondern unter
_____ ... Objekte > node-red.0.zigbee.0.[ID-des-Zigbee-Devices].[Name-des-fehlenden-States]
_____ Ziemlich unerwartet !!! Ich wähle in Node Red einen Zigbee-State, und bekomme einen Node-Red-State?
--- [/EDIT] - Ich sehe dort NUR den State, den ich dort einmal händisch angelegt habe (für Plug2, s.o.). Auch NodeRed-Aktionen für diese "auto-created" States tun "nichts" mit ihnen.
- Okay, dann eben auch für Plug3 den state von Hand anlegen ... ratet mal ... "Object ... yet exists!".
- Mache ich einen JSON-Download steht der "allocation"-Datenpunkt da drin.
- ER hat ihn gefressen, aber er spuckt ihn nicht mehr aus, der blöde Hund!
Und nun?
Wie bekomme ich die kaputten "Geräte" und "Datenpunkte" zu sehen, um sie zu reparieren oder zu löschen?Wo liegt mein Fehler, dass er die nicht anzeigt? Bug(s)?
Gruß zum Sonntag
FiddleSystemdata Bitte Ausfüllen Hardwaresystem: CubieTruck Arbeitsspeicher: 2GB Festplattenart: SSD Betriebssystem: Armbian Node-Version: 10.16.3 Nodejs-Version: 10.16.3 NPM-Version: 6.9.0 Installationsart: lange her... Image genutzt: öööhhhh? Ort/Name der Imagedatei: Link -
Work-Around um erstmal "aufzuräumen" und weiter basteln zu können:
Zuerst habe ich mir das Device (Plug2) mit dem funktionierenden "allocation"-State in der Objekte-Ansicht selektiert und nochmal einen JSON-Download gemacht.
Danach habe ich nacheinander für jedes "zerschossene" Device in der "Objekte"-Ansicht Folgendes gemacht:
- "zerschossenes" Device (bspw. "zigbee.0.{IDvonPlug1}") auswählen
- JSON-Download davon machen
- mit einem Editor den Abschnitt des "allocation"-Eintrags aus der JSON von Plug2 in die JSON vom "zerschossenen" Device kopiert und dort natürlich die jeweilige ZigBee-ID für diesen Abschnitt angepasst
- in der Objekte-Ansicht das komplette Device gelöscht.
- dann das editierte JSON des zerschossenen Devices inkl. meiner "allocation"-Sektion wieder importiert.
Das hat hingehauen.
Das gleiche Schema dann noch auf "0_userdata.0" angewendet:
- JSON download.
- in der JSON die "kaputten, versteckten" Abschnitte ausputzen
- Dann den Eintrag via GUI löschen (wobei man hier erstmal die Eigenschaften editieren muss: Stift ganz rechts, dann auf der Karte "allgemein" das "dont_delete" ausschalten und speichern - erst dann gibt's auch den "Mülleimer" und man kann den ganzen Eintrag löschen).
- Dann das bereinigte JSON wieder importieren.
Aber die Bugs (Mütter ohne Töchter verschwinden & AutoCreate erzeugt kaputte states) sind trotzdem Bugs... würde ich behaupten.
Wem kann ich die wie melden, wenn nicht hier?
... Notfalls auch auf EnglischGruß
Fiddle