NEWS
Aufzählungen nicht als Objekt verfügbar, warum?
-
Hoi zäme,
ich wunder mich gerade auch, warum ich in Blockly keine Aufzähluhngen, Enumerations abfragen kann.
Dank
iobroker: Alle Geräte einer Aufzählung auf einmal steuern – machs-smart.de und
@ofbeqnpolkkl6mby5e13 said in [Gelöst] Mal wieder IDs vom Selektor:lockly-Baustein "IDs vom Selektor"
weiss ich zwar nun, wie an diese herankomme aber sehr prozesssicher ist dass nicht, wenn ich dass richtig sehe.
Wenn zum Beispiel eine Aufzählung später unbeannt wird, sind die Aufrufe desssn im jeglichem Skript kaputt oder?danke
stefan -
@packelend sagte: eine Aufzählung später unbeannt wird, sind die Aufrufe desssn im jeglichem Skript kaputt oder?
Eine Objekt-ID kann nicht umbenannt werden, sondern nur der Name. Im Selektor muss man den hinteren Teil der ID angeben.
-
@packelend sagte in Aufzählungen nicht als Objekt verfügbar, warum?:
Wenn zum Beispiel eine Aufzählung später unbeannt wird, sind die Aufrufe desssn im jeglichem Skript kaputt oder?
Wie so oft gilt auch hier: Die Intelligenz sitzt vor dem Gerät
Wer eine Aufzählung im Nachhinein umbenennt - warum auch immer - sollte schon wissen, dass die möglicherweise irgendwo verwendet wird.
Kann man in den Scripten ja auch leicht nachschauen:
-
@paul53 said in Aufzählungen nicht als Objekt verfügbar, warum?:
Eine Objekt-ID kann nicht umbenannt
stimmt
und kann ich über alle Skripte hinweg die Object-ID anpassen, wenn ich eine alte Auflistung durch eine neue Auflistung ersetzte?
-
@paul53 sagte in Aufzählungen nicht als Objekt verfügbar, warum?:
Eine Objekt-ID kann nicht umbenannt werden
Die ID eines einzelnen Objektes nicht (außer über Umwege - von hinten durch die Brust ins Auge).
Aufzählungen kann ich aber sehr wohl umbenennen.
-
@packelend sagte in Aufzählungen nicht als Objekt verfügbar, warum?:
und kann ich über alle Skripte hinweg die Object-ID anpassen, wenn ich eine alte Auflistung durch eine neue Auflistung ersetzte?
Wenn Du damit tatsächlich die "Aufzählungen" meinst:
Du kannst danach suchen. Ersetzen musst Du das in den Scripten schon selbst.Wenn es aber darum geht, dass einzelne Geräte mal ausgetauscht werden: Dafür gibt es Aliase.
-
@codierknecht said in Aufzählungen nicht als Objekt verfügbar, warum?:
Ersetzen musst Du das in den Scripten schon selbst.
hatte ich schon befürchtet
-
aber ist bekannt, warum Aufzähungen nicht als Objekt verfügbar sind?
-
@packelend sagte: warum Aufzähungen nicht als Objekt verfügbar sind?
Das sind Objekte vom Typ "enum".
-
@paul53 aber die sind z. B. hier nicht gelistet
aber hier mit hier mit aktiven Expertenmodus
-
@packelend
Die Select-ID-Funktion des Admin ermöglicht aus gutem Grund nur die Auswahl von Datenpunkten (Objekttyp "state").
Unter "enum" dürfen nur Objekte vom Typ "enum" existieren. Die zugehörigen Objekt-IDs befinden sich im Objekt unter common.members. -
@paul53 said in Aufzählungen nicht als Objekt verfügbar, warum?:
Select-ID-Funktion des Admin ermöglicht aus gutem Grund nur die Auswahl von Datenpunkten (Objekttyp "state").
warum ist das so?
@paul53 said in Aufzählungen nicht als Objekt verfügbar, warum?:
Objekt-IDs befinden sich im Objekt unter common.members.
wo finde ich diese, sehe dies niergends ?
-
@packelend
Für das Erstellen von "enums" gibt es den Tab "Aufzählungen". Dort kann man anschließend auch Objekte zuweisen, was aber auch im Tab "Objekte" möglich ist.Im Ordner "enums" sollte man besser nicht herum fuhrwerken - es sei denn, man weiß genau, was man macht.
-
@paul53 said in Aufzählungen nicht als Objekt verfügbar, warum?:
Für das Erstellen von "enums" gibt es den Tab "Aufzählungen". Dort kann man anschließend auch Objekte zuweisen, was aber auch im Tab "Objekte" möglich ist.
jo habe ich gemacht, da steht aber nichts von
common.member
, daher die Frage. -
@packelend sagte: da steht aber nichts von common.member
Das ist eine Objekteigenschaft von z.B. "enum.functions.heating":
{ "type": "enum", "common": { "name": { "en": "Heating", "ru": "Отопление", "de": "Heizung", "fr": "Chauffe-Eau", "it": "Riscaldatore", "nl": "Verwarmer", "pl": "Podgrzewacz", "pt": "Aquecedor", "es": "Calentador", "zh-cn": "加热器" }, "enabled": true, "color": false, "desc": "", "members": [ "0_userdata.0.Blockly.Aussen-Temperatur", "0_userdata.0.Blockly.Soll_Temperatur", "0_userdata.0.Blockly.VLT-Sollwert" ], "icon": "data:image/svg+xml;base64,..." },
-
@paul53
was hierüber erreichbar ist, jetzt ist es klar@packelend said in Aufzählungen nicht als Objekt verfügbar, warum?:
@paul53 said in Aufzählungen nicht als Objekt verfügbar, warum?:
Select-ID-Funktion des Admin ermöglicht aus gutem Grund nur die Auswahl von Datenpunkten (Objekttyp "state").
warum ist das so?
fehlt noch die Antwort hierauf
-
@packelend sagte: fehlt noch die Antwort hierauf
Über 90 % aller Zugriffe in Skripten und erst recht in Visualisierungen finden auf Datenpunkte statt, deren Werte sich auch ändern lassen. Schreibende Zugriffe auf Objekte können gefährlich sein, weshalb sie über die Auswahl erst gar nicht angeboten werden. Dass man lesend in Blockly auf Objekte zugreifen kann, ist relativ neu.
-
@paul53 said in Aufzählungen nicht als Objekt verfügbar, warum?:
Zugriffe in Skripten und erst recht in Visualisierungen finden auf Datenpunkte statt ... Schreibende Zugriffe auf Objekte können gefährlich sein
hier verlierst du mich. Ich verstehe Objekttypen und meine bisherige wenige Erfahrung mit iobroker so, dass deine Objekte physische oder virtuelle Geräte repräsentieren, welche wiederum Datenpunkte haben, welche Eigenschaften oder Befehle, Funktionen repräsentieren.
Jetzt bin ich etwas verwirrt -
@packelend sagte: Datenpunkte
Die speziellen Eigenschaften von Datenpunkten sind auch dokumentiert.
Mit anderen Objekten als Datenpunkten hat man in der Logik nur selten zu tun. -
@paul53 said in Aufzählungen nicht als Objekt verfügbar, warum?:
Mit anderen Objekten als Datenpunkten hat man in der Logik nur selten zu tun.
so ist es einleuchtender