NEWS
Admin5: Ich kann keine Objekte mehr manuell anlegen
-
Als ich angefangen habe mit iobroker gab es userdata noch nicht, da es mir unter javascript unlogisch erschien habe ich mir einen eigenen Ort „Systemvariablen“ ausgedacht.
Ist das jetzt wirklich kritisch? Sollte ich alle Objekte unter Systemvariablen nach Userdata (vermutlich mehr als 200) umziehen? Wenn ich Update kann ich dann dort nichts mehr erstellen?
Eigentlich eine Schande das man früher als User das einfach machen konnte wenn es doch so böse ist…
@cash sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Ist das jetzt wirklich kritisch?
nein, nicht unbedingt!
Auch ich habe zwei solche Verzeichnisse aus der Steinzeit: Messwerte.0 und Systemvariablen.0Nur dann wenn es mal einen Adapter geben sollte, der genau diesen Namespace nutzen wird, kommt es zu einem Problem
-
Guten Morgen, gibt es eine Möglichkeit falsch erstellte Objekt zu korrigieren ? Siehe Bild...

Viele Grüße M.
-
Irgendwie ist da noch der Wurm drinnen, hab schon ein Github issue angelegt. Bei mir scheint es völlig beliebig zu sein, was ich wo, wie anlegen kann und stimmt überhaupt nicht mit dem Tooltip überein.
Hier ein Beispiel, dritte Ebene und ich kann nur ein Verzeichnis anlegen! Dabei ist es beim MQTT Adapter zwingend erforderlich, dass man dort auch eigene Datenpunkte anlegen kann.
Bei anderen Objekten, funktioniert es übrigens, obwohl die Struktur komplett gleich aussieht.

-
Als ich angefangen habe mit iobroker gab es userdata noch nicht, da es mir unter javascript unlogisch erschien habe ich mir einen eigenen Ort „Systemvariablen“ ausgedacht.
Ist das jetzt wirklich kritisch? Sollte ich alle Objekte unter Systemvariablen nach Userdata (vermutlich mehr als 200) umziehen? Wenn ich Update kann ich dann dort nichts mehr erstellen?
Eigentlich eine Schande das man früher als User das einfach machen konnte wenn es doch so böse ist…
@cash Naja solche eigene Plätze waren noch nie wirklich supportet. Sobald wir mal einen Adapter namens "Systemvariablen" bekommen hätten, hätte es bei dir direkt geknallt.
Aber ja es wurde halt noch nie geprüft. Jetzt haben wir den "Sonderlocken-Salat"
Solche Randfälle den solltest Du schauen bald mal umzustellen.
-
@cash Naja solche eigene Plätze waren noch nie wirklich supportet. Sobald wir mal einen Adapter namens "Systemvariablen" bekommen hätten, hätte es bei dir direkt geknallt.
Aber ja es wurde halt noch nie geprüft. Jetzt haben wir den "Sonderlocken-Salat"
Solche Randfälle den solltest Du schauen bald mal umzustellen.
@apollon77 Wie kann ich denn mit dem alten js-controller „Ordner anlegen?“

Oder sehe ich das richtig, dass wenn ich mir jetzt die Mühe mache nach dem Update dann alles auf „Ordner“ umbauen muss?
Es wird auf jeden Fall einige Zeit dauern bis ich updaten kann. Erstmal alle meine Datenpunkte umziehen und alle Scripte anpassen dann Admi und Adapter updaten (wegen Scripte) und dann js-controller… Puh
Könnte ich im Raw den Datenpunkt nicht einfach ändern von „device“ auf „Ordner“

-
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
Dafür ist der Mqtt Adapter ja gedacht.
Jain. der namespace mqtt.0 ist für die Datenpunktde die per mqtt "rein kommen" ... eigener kram war an sich nie sinnvoll dort anzulegen sondern sollte in javascriot.X (weil früher, oder heute) 0_userdata.0 bzw alias.0 sein und dann in der Konfig angegeben werden das es von dort subscribed wird.
@apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
Dafür ist der Mqtt Adapter ja gedacht.
Jain. der namespace mqtt.0 ist für die Datenpunktde die per mqtt "rein kommen" ... eigener kram war an sich nie sinnvoll dort anzulegen sondern sollte in javascriot.X (weil früher, oder heute) 0_userdata.0 bzw alias.0 sein und dann in der Konfig angegeben werden das es von dort subscribed wird.
Na das bestreite ich mal. Mein mqtt Adapter bildet das FrontEnd für einen mosquitto Broker. Das heißt wenn ich eigene Punkte über mqtt publishe, ist das in meinen Augen sehr wohl sinnvoll. Auch hier die ganzen Datenpunkte im cmnd Ast von Tasmota müssen selbst und auf Bedarf angelegt werden. Also "nie sinnvoll" - kann ich ganz und gar nicht unterschreiben. Wenn ich schon in der Adaptervorgabe mqtt.0.* publishe, dann hat das schon seinen Sinn. Aber egal.
Ich hab ja noch ein Beispiel gebracht - aber es hilft ja nichts - ihr habt entschieden, also brauchen wir nicht über Sinn oder Unsinn diskutieren.
-
@apollon77 Wie kann ich denn mit dem alten js-controller „Ordner anlegen?“

Oder sehe ich das richtig, dass wenn ich mir jetzt die Mühe mache nach dem Update dann alles auf „Ordner“ umbauen muss?
Es wird auf jeden Fall einige Zeit dauern bis ich updaten kann. Erstmal alle meine Datenpunkte umziehen und alle Scripte anpassen dann Admi und Adapter updaten (wegen Scripte) und dann js-controller… Puh
Könnte ich im Raw den Datenpunkt nicht einfach ändern von „device“ auf „Ordner“

@cash sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Könnte ich im Raw den Datenpunkt nicht einfach ändern von „device“ auf „Ordner“

Ich hab das gemacht und das ging. Problematisch ist erst mal nur, wenn Du gar keinen Stift hast um das Objekt zu editieren, dann musst das Objekt wirklich quasi nochmal anlegen.
-
Hi,
Admin5 prüft bei der Anlage von eigenen Objekten etwas strikter was erlaubt ist und was nicht. Das führt dazu das nun auch die "Verzeichnisobjekte" (also die zwischen den Punkten) wichtig sind und als "Verzeichnis" bzw einem passenden Objekttyp angelegt sein müssen.
Unter "Objekte" im Admin zeigt ein Tooltip was erlaubt ist:

Zu den Typen:
- Gerät ist normalerweise einem echten Gerät zugeordnet
- Kanal ist eine Gruppierung von "thematisch" zusammengehörenden States unterhalb eines Geräts
- Verzeichnis ist einfach nur ein freies Strukturelement
- Zustand ist das State und damit der eigentliche Datenpunkt
Das ganze System (Gerät, Kanal, Zustand) stammt von den Homematic Konzepten - dort kann man auch am ehesten Beispiele finden. Bei einem Thermostat können z.B. die Sensoren in einem Kabel sein und die Steuerelemente in einem zweiten Kanal.
Hierbei noch ein Hinweis: Ordner gehen immer als Verzeichnisse, also auch 5 Ordner nacheinander in der Struktur und danach States ist vollkommen ok. Also wenn Ihr nicht wissen wann was das beste ist dann einfach "Verzeichnis" nehmen.
Wenn man neue Strukturen anlegt ist das einfach.
Wie jedoch schon existierende Strukturen korrigieren?
Das geht manuell in dem man von oben nach unten arbeitet, wie das hier gezeigt wird:

@fastfoot hat unter https://forum.iobroker.net/post/660631 ein Skript zum korrigieren der Folder gepostet.
@paul53 hat ein zweites angepasstes Skript gepostet https://forum.iobroker.net/post/660672
Fragen? Fragen!
Ingo
@apollon77 Und zum Anlegen - fände ich es schon gut, wenn automatisch bei untergeordneten Strukturen selbst das Attribut Verzeichnis vergeben wird.
Heißt das auch ich kann zum Beispiel nicht die ganze ID als Topic in meine iobroker out Node eingeben usw.
Wäre alles jammerschade. -
@apollon77 Wie kann ich denn mit dem alten js-controller „Ordner anlegen?“

Oder sehe ich das richtig, dass wenn ich mir jetzt die Mühe mache nach dem Update dann alles auf „Ordner“ umbauen muss?
Es wird auf jeden Fall einige Zeit dauern bis ich updaten kann. Erstmal alle meine Datenpunkte umziehen und alle Scripte anpassen dann Admi und Adapter updaten (wegen Scripte) und dann js-controller… Puh
Könnte ich im Raw den Datenpunkt nicht einfach ändern von „device“ auf „Ordner“

@cash jetzt mal eins nach dem anderen.
Aktuell ist die einzige Limitierung die das, wenn du NEUE states in einer Struktur anlegen willst das diese auch Ihre "Eltern" Objekte angelegt haben müssen.
Wie oben beschrieben sind Onbjekte als "Gerät"/Device oder "Kanal"/Channel vollkommen korrekt und ok!! "Verzeichnis" gibt es für Fälle wo die beiden nicht sinnvoll sind.
Es funktioniert auch alles sost komplett Problemlos ohne die Objekte - einzig Admin enforced ein bissl das die Strukturen sauber sind.
-
@apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
Dafür ist der Mqtt Adapter ja gedacht.
Jain. der namespace mqtt.0 ist für die Datenpunktde die per mqtt "rein kommen" ... eigener kram war an sich nie sinnvoll dort anzulegen sondern sollte in javascriot.X (weil früher, oder heute) 0_userdata.0 bzw alias.0 sein und dann in der Konfig angegeben werden das es von dort subscribed wird.
Na das bestreite ich mal. Mein mqtt Adapter bildet das FrontEnd für einen mosquitto Broker. Das heißt wenn ich eigene Punkte über mqtt publishe, ist das in meinen Augen sehr wohl sinnvoll. Auch hier die ganzen Datenpunkte im cmnd Ast von Tasmota müssen selbst und auf Bedarf angelegt werden. Also "nie sinnvoll" - kann ich ganz und gar nicht unterschreiben. Wenn ich schon in der Adaptervorgabe mqtt.0.* publishe, dann hat das schon seinen Sinn. Aber egal.
Ich hab ja noch ein Beispiel gebracht - aber es hilft ja nichts - ihr habt entschieden, also brauchen wir nicht über Sinn oder Unsinn diskutieren.
-
@cash sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Könnte ich im Raw den Datenpunkt nicht einfach ändern von „device“ auf „Ordner“

Ich hab das gemacht und das ging. Problematisch ist erst mal nur, wenn Du gar keinen Stift hast um das Objekt zu editieren, dann musst das Objekt wirklich quasi nochmal anlegen.
@mickym sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Ich hab das gemacht und das ging. Problematisch ist erst mal nur, wenn Du gar keinen Stift hast um das Objekt zu editieren, dann musst das Objekt wirklich quasi nochmal anlegen.
Wenn Du keinen stift hast dann existiert das Objekt nicht ... daher musst du es "initial" anlegen
(sorry ... ) -
@apollon77 Und zum Anlegen - fände ich es schon gut, wenn automatisch bei untergeordneten Strukturen selbst das Attribut Verzeichnis vergeben wird.
Heißt das auch ich kann zum Beispiel nicht die ganze ID als Topic in meine iobroker out Node eingeben usw.
Wäre alles jammerschade. -
@mickym sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Ich hab das gemacht und das ging. Problematisch ist erst mal nur, wenn Du gar keinen Stift hast um das Objekt zu editieren, dann musst das Objekt wirklich quasi nochmal anlegen.
Wenn Du keinen stift hast dann existiert das Objekt nicht ... daher musst du es "initial" anlegen
(sorry ... )@apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
@mickym sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Ich hab das gemacht und das ging. Problematisch ist erst mal nur, wenn Du gar keinen Stift hast um das Objekt zu editieren, dann musst das Objekt wirklich quasi nochmal anlegen.
Wenn Du keinen stift hast dann existiert das Objekt nicht ... daher musst du es "initial" anlegen
(sorry ... )Dann habe ich aber viele Objekte die nicht existieren:

-
@cash sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Könnte ich im Raw den Datenpunkt nicht einfach ändern von „device“ auf „Ordner“

Ich hab das gemacht und das ging. Problematisch ist erst mal nur, wenn Du gar keinen Stift hast um das Objekt zu editieren, dann musst das Objekt wirklich quasi nochmal anlegen.
-
@mickym Hää?? Kapiere ich nicht? Oder meinst Du das node-red "fehlende Strukturobjekte automatisch erkennen und als "Verzeichnis" anlegen sollte?
@apollon77 Ich meine dass der iobroker - sobald er erkennt das ein Objekt Children hat - automatisch den type Folder vergeben sollte.
Wenn ich sowas in Zukunft machen (hoffe das geht dann noch)

bekomme ich nun lt. Deiner Aussagen lauter nicht existierenden Objekte

-
@apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
@mickym sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Ich hab das gemacht und das ging. Problematisch ist erst mal nur, wenn Du gar keinen Stift hast um das Objekt zu editieren, dann musst das Objekt wirklich quasi nochmal anlegen.
Wenn Du keinen stift hast dann existiert das Objekt nicht ... daher musst du es "initial" anlegen
(sorry ... )Dann habe ich aber viele Objekte die nicht existieren:

-
@cash sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
@mickym wie lautet der Typ denn? „Ordner“, „Folder“, „folder“, „FOLDER“ ?
folder:

-
@apollon77 Ich meine dass der iobroker - sobald er erkennt das ein Objekt Children hat - automatisch den type Folder vergeben sollte.
Wenn ich sowas in Zukunft machen (hoffe das geht dann noch)

bekomme ich nun lt. Deiner Aussagen lauter nicht existierenden Objekte

@mickym sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
Ich meine dass der iobroker - sobald er erkennt das ein Objekt Children hat - automatisch den type Folder vergeben sollte.
Ich glaube du verstehst da noch etwas falsch. Ein Objekt existiert oder es existiert nicht. Wenn objekte in den Zwischenebene fehlen wird das aktuell generell ignoriert - nur Admin beachtet das jetzt in der UI. Ein nicht existentes Objekt kann man nicht einfach als Folder anzeigen weil es existiert ja nicht.
Mir ist schon klar das dies noch ein bisl eine Crux ist - vor allem wenn irgendwelche Logiken die tiefste Objektebene anlegt aber oben drüber nicht...
-
@mickym Scheint so. Wenn die alle über node-red kamen dann ist das auch "normal" weil dort halt keine Elternstrukturen angelegt werden. Oder selbst angelegt? Dann halt auch nie mit Elternobjekten weil es halt bisher nie "enforced" wurde
@apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
@mickym Scheint so. Wenn die alle über node-red kamen dann ist das auch "normal" weil dort halt keine Elternstrukturen angelegt werden. Oder selbst angelegt? Dann halt auch nie mit Elternobjekten weil es halt bisher nie "enforced" wurde
Das war ja das praktische - im Prinzip hat das System (keine Ahnung ob das die iobroker out Node oder irgendeine andere Engine) angelegt hat. Es wäre nur jammerschade, wenn man so über ein msg.topic ein Struktur so nicht mehr anlegen könnte.
Und im Moment kommen halt lauter Objekte raus, die ich dann manuell alle nochmal anlegen müsste - das kann doch nicht ernsthaft als Lösung vorgeschlagen werden. -
@apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:
@mickym Scheint so. Wenn die alle über node-red kamen dann ist das auch "normal" weil dort halt keine Elternstrukturen angelegt werden. Oder selbst angelegt? Dann halt auch nie mit Elternobjekten weil es halt bisher nie "enforced" wurde
Das war ja das praktische - im Prinzip hat das System (keine Ahnung ob das die iobroker out Node oder irgendeine andere Engine) angelegt hat. Es wäre nur jammerschade, wenn man so über ein msg.topic ein Struktur so nicht mehr anlegen könnte.
Und im Moment kommen halt lauter Objekte raus, die ich dann manuell alle nochmal anlegen müsste - das kann doch nicht ernsthaft als Lösung vorgeschlagen werden.@mickym Auch hier , siehe mein letzter Post: Mal langsam!
Wenn Du alle Objekte per node-red anlegst dann stören dich doch vorerst die Admin-Checks nicht ... Das ganze kommt nur zum Tragen wenn Du manuell noch was tun willst.
Und bedenkt bitte immer noch die Info im Ersten Post:
Weiterhin arbeitet @Dutchman an einem kleinen JavaScript welches das Automatisch korrigieren kann.