NEWS
Admin5: Ich kann keine Objekte mehr manuell anlegen
-
@mickym sagte: Auch im Expertenmodus kann ich zum Beispiel in meinem mqtt- Baum keine eigenen Datenpunkte - sondern nur ein Verzeichnis - erstellen.
Anleitung:
- mqtt.1 selektieren und Objekt vom Typ "folder" mit dem existierenden Namen "tasmota" erstellen
- mqtt.1.tasmota selektieren und Objekt vom Typ "device" mit dem existierenden Namen "szSchrankbeleuchtung" erstellen
- mqtt.1.tasmota.szSchrankbeleuchtung selektieren und Objekt vom Typ "channel" mit dem existierenden Namen "cmnd" erstellen
- mqtt.1.tasmota.szSchrankbeleuchtung.cmnd selektieren und neuen Datenpunkt erstellen
-
@apollon77 OK - ich habs mal wieder auf die neue Oberfläche umgestellt, aber für das nächste Update wünsche ich mir wirklich - wenn schon nicht am Design, dass ich die Spaltenbreiten wieder direkt mit der Maus einstellen kann. Diese Angaben in Pixeln - da komm ich gar nicht zurecht.

Es scheint dann auch von rechts gerechnet zu werden - also wirklich zurecht komme ich damit nicht. Das wäre also so mein 1. Wunsch.
- Vielleicht hält sich der Aufwand ja in Grenzen. 
1. Problem:
Auch im Expertenmodus kann ich zum Beispiel in meinem mqtt- Baum keine eigenen Datenpunkte - sondern nur ein Verzeichnis - erstellen.
Es ist aber gerade im Kommandoast erforderlich, dass ich selber Datenpunkte erstellen kann, da diese ja nicht von den Geräten selbst erstellt werden:

Ist es wirklich beabsichtigt, dass über die Adminoberfläche keine Datenpunkte mehr erstellen kann, sondern nur über die Logikmaschinen? - Das kann ich nicht glauben.

2. Problem
Also das Prinzip - welche Objekttypen man erstellen kann, erschließt sich mir nicht:

Auch unter 0_userdata.0 habe ich Probleme:
Unter Bewässerung kann ich wieder nur ein Verzeichnis erstellen, obwohl schon Datenpunkte existieren. Und auch nach der neuen Regel sollte ja Ordner => Zustand möglich sein.

Unter Tage kann ich wiederum nur Datenpunkte erstellen, aber kein weiteres Verzeichnis
3. Problem:
admin.0 2021-08-07 01:57:27.812 error Invalid read function for undefined: val === 'on' ? true : false => TypeError: Cannot read property 'type' of null admin.0 2021-08-07 01:57:27.783 error Invalid read function for undefined: val === 'on' ? true : false => TypeError: Cannot read property 'type' of nullDeutet für mich daraufhin - dass es irgendwelche Probleme mit Alias gibt
-
@dr-bakterius sagte in Admin v5 jetzt im STABLE!:
@mickym sagte in Admin v5 jetzt im STABLE!:
Auch im Expertenmodus kann ich zum Beispiel in meinem mqtt- Baum keine eigenen Datenpunkte - sondern nur ein Verzeichnis - erstellen.
Es ist aber gerade im Kommandoast erforderlich, dass ich selber Datenpunkte erstellen kannDann deklariere 'cmnd' als 'folder'. @apollon77 hat das in seinem anderen Thread eh schon beschrieben...
Ich kann da gar nichts machen ....

außer den ganzen Ast löschen und neu anlegen - das kann aber nicht im Ernst so sein, da ich ja ein Objektstruktur auch durch den Adapter oder die Logikmaschine erstellen lasse.
Ich hoffe mal, dass jeder Adapter wie bisher seine Strukturen erstellen kann - einfach über die ID und die Hierarchien erstellen kann.Auch unter userdata (wie auch in den anderen Ästen) bekomme ich bei keinem Ordner was einzustellen ob so etwas nachträglich zu ändern - hier kann man ja nicht mal mehr die "raw" Daten zu sehen.
Und selbst bei Kanälen und Geräten kann ich da nachträglich gar nichts ändern.
Ich finde es auch generell etwas schwierig - das so über das ganze System einzuschränken. Das fand ich auch bei Adaptern schwierig, die mir bei einer Funktion - die Zustände vorschreiben wollten (weiß nicht mehr welcher das war - aber der flog gleich wieder runter).
-
Ein weiteres Problem tritt seit HEUTE beim Lesen der Repostiories auf:
Ohne den Wert zu verändern und bei Bestätigung des Default-Buttons - landet man in einer Endlosschleife:

Die Schaltfläche auf 1 Minute - ändert den Wert zwar auf 60 s - aber der Dialog kann nur mit Abbrechen verlassen werden.
EDIT 13:33
Nach Neustart des Browsers - kommt diese Meldung zumindest erst mal nicht mehr. -
@paul53 Warum will man in den Objekten die Adaptern gehören rumpfuschen? Das ist ein "not supported" case ... User sollten sich ausschliesslich in javascript.X (weil halt früher so war) oder alias.0 oder 0_userdata.0 aufhalten mit eigenen Objekten!
@apollon77 sagte: User sollten sich ausschliesslich in javascript.X (weil halt früher so war) oder alias.0 oder 0_userdata.0 aufhalten mit eigenen Objekten!
Bin voll Deiner Meinung.
-
@marty56 said in js-controller 3.3 jetzt im STABLE!:
@paul53 und @Fabian
Das stimmt leider, ich habe es auch 4 mal mehrere Tage mit der neuen Oberfläche versucht, aber sie hat nicht aufgehört zu nerven. Die alte Benutzeroberfläche war viel übersichtlicher.Ich hab es jetzt wieder 2 Tage mit der neuen Oberfläche probiert und hab gerade wieder frustriert zurück geswitched. Ist der Sinn einer neuen Version nicht eigentlich MEHR Möglichkeiten zu haben und nicht weniger? Und das ist nicht böse gemeint sondern eher frustriert.
Ich hab mir über Jahre mit über 100 Skripten und selbst programmierten Geräten mein System genau so aufgebaut wie ich es haben wollte und es lief alles Perfekt. Jetzt ist es einfach unübersichtlich und fühlt sich beschnitten an. Warum darf ich z.B. nicht mehr bestimmen, wo ich welche Datenpunkte und Objekte anlegen möchte. Wenn ich das tue, wird das bestimmt seine Gründe haben.@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
Warum darf ich z.B. nicht mehr bestimmen, wo ich welche Datenpunkte und Objekte anlegen möchte. Wenn ich das tue, wird das bestimmt seine Gründe haben.
Auch wenn das hier komplett in den Admin Thread gehört kurz ein paar Worte. Weitere Diskussion aber bitte im anderen Thread!
Hm ... also in den Bereichen wo es Sinn macht das User eigene States anlegen (javascipt/alias/0_userdata.0) ist alles noch erlaubt. Das einzige was jetzt gefordert ist das die Objektpfade bitte sauber ausformuliert sind - bedeutet das zwischendrin Bitte "Verzeichnis" Objekte existieren. Mehr ist an der Stelle nicht limitiert!
Warum das sinn macht ist ganz einfach: Viele User fordern immer mehr das Visualisierungen und ggf Smart-Assistenten doch bitte alles was so da ist ganz automatisch korrekt gefunden und ermittelt/erraten wird. Das geht, aber nur wenn auch bestimmte Regeln existieren.Falls Du in der Vergangenheit in den Objekten die Adapter angelegt haben "rumgepfuscht" (ja absichtline Wortwahl) hast, so hast Du etwas getan was noch NIE sinnvoll war und ggf zu mehr Problemen und Support-Fällen geführt hat wie andere Dinge. Daher ist dies jetzt ebenso eingeschänkt.
Wenn Du gute Gründe hast für etwas und es beschreiben kannst und wir es nachvollziehen können lass gern in einem Admin-Issue diskutieren ob bestimmte Dinge wieder zu lockern sein können.
-
@htrecksler said in js-controller 3.3 jetzt im STABLE!:
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
eine unübersichtlichere UI zu haben als vorher
Ich finde, man sollte dem Ganzen eine Chance geben sich zu entwickeln. Das ist jetzt erst seit ein paar Tage im "Stable" und somit für die Masse verfügbar. Ich bin mir sicher, das im Laufe der Zeit Dinge verändert werden die vielleicht noch nicht ganz optimal sind.
Na klar! Dafür bin ich 100%ig und ich schreibe schon fleißig Github issues! Ich bin gerade halt wirklich nur etwas frustriert, da ich mir mein System jahrelang so aufgebaut habe, wie es jetzt ist und immer wenn ich gerade was mit der neuen Version gelöst hab, kommt das nächste Problem, was vorher keins war. Aber ich bin mir sicher, das wird! Ich geb ja hier nur meine Meinung Preis, weil ich ja möchte dass es besser wird.

@fabian1 ALao wenn ich das lese kann ich deinen Frust ein bissl nachvollziehen ... ich habe aber auch ein "ABER"
Du schreibst Du hast es so aufgebaut ... Und ja ioBroker hat in der Vergangenheit sehr viel zugelassen was nie so gewollt und geplant war. DU willst nicht wissen wieviel Code existiert der sich nur um Edge-Cases von "Da hat ein User wieder mal die Grenzen des machbaren ausgetestet" zu behandeln. Am Ende ist die Realität die das 99,9999% der User damit nie ein Problem haben werden ... die anderen müssen vllt mal über Ihre Strukturen nachdenken.Und ohne jetzt hier die große "wie kann ich das umgehen" Diskussion aufzumachen: Keiner hält dich davon ab deine "Sonderstates im fremden Gefilden" mittels einem JavaScript-Skript anzulegen, weil nur DAS macht dir gerade Probleme.
-
@jan1 said in js-controller 3.3 jetzt im STABLE!:
@fabian1
Ok, falsch verstanden. Wobei ich das dann wiederum nicht verstehe.Wenn ich ein eigenes Gerät programmiere, und mich damit dann bei einem Topic subscribe, dann muss es ja möglich sein, dass ich in diesem Topic alle Datenpunkte so anlegen kann wie ich das möchte. Dafür ist der Mqtt Adapter ja gedacht.
@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.
-
@jan1 mal eine Frage von einem Laien, der gerade mal so seine Migration von Pimatic nach ioBroker hinter sich hat und froh ist verstanden zu haben, wie man grundsätzlich mit Blockly arbeitet ...
Wo sollten eigene Datenpunkte/Variablen den liegen? Ich habe mir im javascript Verzeichnis eigene Unterordner angelegt und sie dort, je nach Verwendung sortiert. Bekomme ich da nun Probleme?

@pedder007 javascript.0 ist "legacy" weil 0_userdata.0 der "seit js-controller 3.0 neue beste Platz" ist ... aber die Realität das es noch sehr viele User so haben wie Du (ich bin ehrlich, ich auch weitestgehend) existiert und daher ist das erlaubt
-
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…
-
@fabian1 sagte in js-controller 3.3 jetzt im STABLE!:
@pedder007 Nein bekommst du nicht, das sieht gut aus!!

Eben nicht, denn da ist genau das was dann zu Problemen führen kann.
Eigene sollen nicht in vorhandene Strukturen rein, da sie dort je nachdem auch mal bei nem Update gelöscht werden und dann wunderst Dich, wenn nix mehr geht.@jan1 sagte in js-controller 3.3 jetzt im STABLE!:
Eigene sollen nicht in vorhandene Strukturen rein, da sie dort je nachdem auch mal bei nem Update gelöscht werden und dann wunderst Dich, wenn nix mehr geht.
Das ist einer der hauptgründe warum eigene States nichts in den Namespaces der Adapter verloren haben. Jeder Adapterhat dort die Hoheit und kann mit den Objekten machen was er will. Das der mqtt-Adapter "zusätzliche States" aktuell ignoriert ist Glück ... Alexa2 als Beispiel mistet gnadenlos aus bei jedem Start.
-
@apollon77 said in js-controller 3.3 jetzt im STABLE!:
@pedder007 Es ist KEIN Adapter bekannt der mit dem neuen js.controller nicht tut oder kaputt geht. Das einzige was bei einigen Adaptern passiert ist, das pot "info-Logmeldungen" generiert werden - das kann ggf zu etwas mehr Last führen und ist im zweifelsfall unterdrückbar indem der Loglevel der Instanz auf "Warn" hochgesetzt wird.
Also damit ich das richtig verstehe, bevor ich jetzt dann am späten Nachmittag mit der Updateprozedur starte. Das einzige was mir als normaler User passieren kann ist, dass von Adaptern Fehler ins Log geschrieben werden und dass ich eigene Datenpunkte korrigieren muss, falls diese damals falsch angelegt wurden?
@markus-frankl Korrekt. Und - falls Du Skripte hast die aus States mit array/object lesen oder schreiben das hier ggf JavaScript und Admin vorher geupdatet sein sollten.
-
@pedder007
Du hast Deine DPs in den den Objekten des JS Adapter rein gepackt und das sollst nicht machen, weil die unter userdata sollen.
Wenn der Adapter ein Update erhält, kann es sein, dass Deine DPs weg sind! -
@jan1 Ahh verstehe!
Muss ich mal drüber nachdenken, so mit 0-Java-KnowHow. Wenn da was schiefgeht finde ich den Fehler nie ...
Ich habe gerade den Entschluss gefasst aktuell noch keine Updates zu machen.
Ich werde erstmal noch meine neuen ZigBee-Devices (gestern geliefert) einbauen, dann mit der DP-Migration nach userdata anfangen und parallel auf das deconz Update warten.
Wenn das dann alles erledigt ist, fange ich mit JS-Controller und Admin an. Ich glaube das ist der sichere Weg, zumal ich aktuell auch noch kein ioBroker Testsystem habe. Muss ich nach der Migration erst wieder hochziehen ...Ich danke Dir auf jeden Fall für die Tipps!

@pedder007 As said in anderenANtworten: Das mit javascript.X vs 0_userdata.0 ist kein Issue für das Update, hak es ab, schreib es auf die "langer Winterabed"-Liste

-
@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 said in js-controller 3.3 jetzt im STABLE!:
@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.
Ich gebe dir wie immer bei allem Recht fast du sagst! Ich verstehe die Entscheidung auch, natürlich ist es nicht sinnvoll sich unter Alexa2 oder Hue irgendwelche eigenen Datenpunkte anzulegen, das ist sogar ganz schön bescheuert. ABER der MQTT Adapter ist da wirklich ein sonderfall, den man berücksichtigen sollte.
Wenn ich meine eigenen Geräte programmiere, mit einer eigenen Datenstruktur, dann muss es mir auch erlaubt sein diese anlegen zu können.Als kleines Beispiel, mein LED Uhr. Auf einem ESP8266 selbst programmiert und läuft komplett über MQTT. Will ich jetzt eine neue Funktion einbauen, dann lege ich mir "bis jetzt" immer zuerst den Datenpunkt im IOBroker an. Unter MQTT.0.LED_Uhr z.b. Hintergrundfarbe, dort mach ich dann sämtliche Definitionen des Datenpunktes.
Mein ESP8266 ist auf LED_Uhr subscribed und kriegt jetzt den neuen Datenpunkt. Dann verarbeite ich ihn im Code dort weiter.
Das funktioniert spitze und es ist echt etwas frustrierend, warum das in Zukunft nicht mehr gehen soll.
Vielleicht kann man für den MQTT Adapter eine ausnahme machen.
-
@paul53 sagte in js-controller 3.3 jetzt im STABLE!:
Nein. Das Verzeichnis "0_userdata.0" ist für künftige eigene Datenpunkte vorgesehen, insbesondere für neue Nutzer, die nicht schon die eigenen Datenpunkte unter "javascript.0" erstellt haben.
Was mich zu der Frage bringt: macht es Sinn bestehende Strukturen jetzt oder in absehbarer Zukunft aus 'javascript.0' nach '0_userdata.0' umzusiedeln? Wenn ja, gibt es dafür ein Skript? Die eigenen Skripte zu überarbeiten und die Datenbank anzupassen würden schon genug Arbeit machen, da möchte ich nicht die gesamte Struktur per Hand neu anlegen müssen.
@dr-bakterius
Wäre auch besser ein eigener Thread ;-))Naja ein Skript gibt es nicht weil hier ja jeder anders arbeitet.
bei mirr legen zB die Skripte die Datenpunkte an , das mache ich nicht manuell im Admin

Wenn Du aber konvertieren willst dann exportiere via admin den javascript.0 Baum, mach "search&Replace" in nem texteditor und reimportiere an der anderen stelle.
Die Skripte könnte man auch einfach machen in dem man die Mirroring Funktion des Javascript adapter nutzt (also ausser man nutzt blockly, dann blöd). Dann hat man alles als Dateien, dort auch "seatc&replace" und speichern ...Aber das ist natürlich jetzt seeehr simplifiziert
Muss jeder für sich schauen -
@dr-bakterius ja, alle per Hand, aber nicht alle an einem Tag. Immer mal wieder welche...
und wie gesagt, dabei dann auch gleich aufgeräumt und teilweise neu organisiert.@htrecksler sagte in js-controller 3.3 jetzt im STABLE!:
und wie gesagt, dabei dann auch gleich aufgeräumt und teilweise neu organisiert.
Das ist ne gute IDee. "Nutze die Chance und verbessere deine Struktur" :-))
Vllt sogar gleich noch mit dem Einsatz von Aliases um die genutzten geräte wegzuabstrahieren ...wenn man die Skripte eh anfasst
Könntest auch alles als alias definieren was heute auf javascript.0 zeigt ... und dann nach und nach mit den Skripten die aliasse ändern.
Hachja... sooooo viele Möglichkeiten

-
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.
