NEWS
js-controller 2 jetzt für alle im Stable
-
-
@paul53 sagte in js-controller 2 jetzt für alle im Stable:
@Shepherd sagte:
ne Info Site zum lesen für mich?
Hi,
also die Anleitung ist ja toll, wenn man weiß, wie es geht, aber ich mach auch schon die ganze Zeit rum, es steht nirgends, wie ich denn ein Objekt anlege und wie zur Hölle ich eine Zuweisung mache..?Man wird ja nicht im Raw rumdoctorn müssen, oder?
-
@paul53
Das gilt nicht für eigene (virtuelle) Datenpunkte, denn die gehören in Zukunft nach 0_userdata.0 oder javascript.0. Alias-Datenpunkte erstellt man zu Datenpunkten von Adaptern, um unabhängig von der ID-Struktur der Adapter zu sein.Ich dachte an eine Kombination.
Anlegen/verschieben der Datenpunkte in "0_userdata.0"
Anlegen von Aliase mit Bezug auf diese eigenen Datenpunkte
Anpassen der Scripte auf AliaseMehraufwand -> Anlegen der Aliaase
Minderaufwand > bei erneuter Notwendigkeit von Scriptanpassungen -
-
-
@paul53 sagte in js-controller 2 jetzt für alle im Stable:
Wozu der Aufwand ?
Mit deiner Frage stellst Du die komplette Idee des Alias in Frage ...
-
@BBTown sagte:
Mit deiner Frage stellst Du die komplette Idee des Alias in Frage ...
Nein, ich finde die Idee des Alias sehr nützlich: Bei Adapter-Datenpunkten, deren ID-Struktur nicht einheitlich ist bzw. sich beim Geräteaustausch verändern kann. Eigenen Datenpunkten verpasst man gleich ein sinnvolle ID-Struktur, die optimalerweise so aussieht wie die unter alias.0.
-
@paul53 JETZT habe ich deinen Ansatz verstanden ... wieso sollte sich ein eigener Datenpunkt verändern?! .... ja, war ne ziemlich blöde Idee von mir
-
@paul53 ich blick da langsam nimmer durch. was hat es dann mit dieser Option auf sich?
Durch die enormen Veränderungen, die mehr oder weniger alle auf einmal kamen, wie- Adapter devices.0
- alias.0
- 0_userdata.0
komm ich da leider nicht mehr ganz mit,
wie, was angelegt wird, warum und weshalb.
Ich seh dadurch eher noch mehr Chaos bei mir im System, als das es vereinfacht werden würde
ich glaub, ich mach nen neuen thread dazu auf.
Denke, ich bin nicht der einzige der das nicht ganz versteht.
-
@crunchip sagte:
ich glaub, ich mach nen neuen thread dazu auf.
Das macht Sinn.
@crunchip sagte in js-controller 2 jetzt für alle im Stable:
Adapter devices.0
Der Adapter soll die Erstellung von Geräten und Datenpunkten unter alias.0 ermöglichen, ist allerdings noch in einem frühen Entwicklungsstadium. Ich komme (noch) nicht damit zurecht.
-
@apollon77 Danke für die Rückmeldung. Nach einem weiteren Update läuft 2.1.1 jetzt ohne Probleme. Im ioBroker-Log zum Zeitpunkt der ersten Installation kann ich keinerlei Fehler oder Warnmeldungen finden, es wirkt so als wäre das System normal gelaufen - nur waren die Webseiten gar nicht und die SSH-Shell nur mit langer Wartezeit erreichbar.
Vor dem Upgrade hatte ich natürlich iobroker stop eingegeben und dabei keine Fehlermeldung bekommen.
Wenn es nur bei mir passierte, ist das Thema erledigt. Es mag sich um ein Problem im Betriebssystem gehandelt haben. Der Raspi 3B kommt ja schnell an Grenzen.
-
Was gab es bei dem neuen Javascript Adapter und den Userdatenpunkten nochmal für eine Einschränkung ?
Man kann die nicht anlegen, oder nicht beschreiben ?Versuche mit Javascript einen DP zu ändern, ( also zu füllen ) haut aber nicht hin ....
-
@skokarl createState geht nicht. setState geht in jedem Fall
-
@apollon77 sagte in js-controller 2 jetzt für alle im Stable:
@skokarl createState geht nicht. setState geht in jedem Fall
createState geht im javascript Ordner nicht mehr ?
Wie lege ich dann manuell Datenpunkte in dem javascript Ordner an ?
Bitte kurze Rückinfo.
-
@bahnuhr createState geht in 0_userdata.0 nicht!!! Im JavaScript Ordner geht alles wie immer!!
-
@apollon77 sagte in js-controller 2 jetzt für alle im Stable:
0_userdata.0
Danke für die Info.
Wenn ich das bisher richtig gelesen habe, soll aber doch der ..user.. der Bereich sein in dem man eigene Variablen ablegt.
Wie lege ich da denn per Script Objekte an ?
-
@bahnuhr sagte:
Wie lege ich da denn per Script Objekte an ?
So.
// Datenpunkt unter 0_userdata.0 erstellen const idUser = 'Muell.gelbeTonne.Abholdatum'; const commonUser = { // nicht benötigte Attribute auskommentieren type: 'string', read: true, write: true, name: 'Abholung gelbe Tonne', // desc: 'Laufzeit Rollo', def: '22.11.2019', // min: 0, // nur bei Zahlen // max: 30, // nur bei Zahlen // unit: 'Tage', // nur bei Zahlen // states: { // nur bei Zahlen, Logikwerten // 0: 'Aus', // 1: 'Auto', // 2: 'Ein' // }, role: 'text' }; function createDp(id, common) { if(getObject(id)) log('Datenpunkt ' + id + ' existiert bereits !', 'warn'); else { var obj = {}; obj.type = 'state'; obj.common = common; setObject(id, obj, function (err) { if (err) log('Cannot write object: ' + err) else { var init = null; if(common.def === undefined) { if(common.type === 'number') init = 0; if(common.type === 'boolean') init = false; if(common.type === 'string') init = ''; } else init = common.def; setState(id, init, true); } }); } } createDp('0_userdata.0.' + idUser, commonUser);
-
Danke für die Info.
Ich habe ca. 700 selbst erstellte Objekte die in meinem Javascript Ordner sind.
Wenn ich das System neu aufsetze, dann lassen ich ein Script laufen, das per createState alle Objekte einmalig anlegt.
sieht dann so aus:
Dieses Script geht bis zur Zeile 693 !!
Wenn ich nun deinen Link nehme ist das ganze nicht mehr praktikabel.
Frage:
Wer und warum kommt auf diese sinnvolle Idee, dass create State nicht mehr geht.
Ist für mich derzeit nicht nachvollziehbar.Dies spricht für mich (und auch die Einschränkung beim fs schreiben in ein Verzeichnis) absolut gegen das Update auf js2.0.
Kann natürlich auch sein, dass ich wieder einmal den Sinn dahinter nicht verstehe.
mfg
-
@bahnuhr sagte:
dass create State nicht mehr geht.
Wie kommst Du darauf ? Eigene Datenpunkte können weiterhin unter javascript.0 erstellt werden. 0_userdata.0 ist nur eine zusätzliche Option für eigene Datenpunkte.
-
@paul53 sagte in js-controller 2 jetzt für alle im Stable:
@bahnuhr sagte:
dass create State nicht mehr geht.
Wie kommst Du darauf ? Eigene Datenpunkte können weiterhin unter javascript.0 erstellt werden. 0_userdata.0 für eigene Datenpunkte ist nur eine zusätzliche Option.
Ok, aber stand nicht irgendwo, dass ..user.. der Ordner zukünftig sein soll, der man für eigene Objekte nehmen soll.