NEWS
Aufzählungen mittels Blockly editieren
-
-
@paul53 hatte ich mich auch gefragt - ist so in der beschreibung https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#setobject
kann man wohl löschen, wenn du das nicht kennst
-
@liv-in-sky
Alternative Funktion setMembers(idEnum, members):extendObject(idEnum, {common: {members: members}});
-
ist das besser und bevorzuziehen ?
das script macht das, was es soll mit beiden befehlen
weißt du, warum das in der beschreibung ist: "myObj.native.settings = 1;" ich hatte das nur reingetan, als ich die warnung erhielt - die hatte aber eine andere ursache gahabt
-
@liv-in-sky sagte: warum das in der beschreibung ist: "myObj.native.settings = 1;"
Das ist nur ein zufälliges Beispiel.
-
@paul53 danke - habe es oben rausgenommen
-
@homoran said in Aufzählungen mittels Blockly editieren:
.., aber wenn es so sein soll, ..Ich hätte es nunmal gerne möglichst variabel.
-
@legro sagte in Aufzählungen mittels Blockly editieren:
Ich hätte es nunmal gerne möglichst variabel.
das ist aber nicht Sinn der Aufzählungen und außerdem:
um es variabel zu halten müsstest du ja per Script eh alle Rollläden verwalten und dann diese je nach Bedarf dieser einen Aufzählung zuordnen.
Dann kannst du es auch direkt per Blockly über Variablen zuordnen ohne die Aufzählungen zu vergewaltigen
-
was du noch testen mußt - kann sein, dass dies kein problem ist aber checken solltest du:
evtl ist das problem, dass trigger auf die enums nicht funktionieren, weil zwar das object erneuert wurde aber der trigger selbst auf den cache zugreift - das also die änderung des objects erst durch einen neustart des scriptes richtig reagiert - habe das nicht getestet
kann sein - muss nicht - hatte solche themen schon bei anderen abfragen der objecte
-
Oh je, da habe ich aber etwas losgetreten.
Vielen Dank für eure Unterstützung. Bitte vergesst nicht: Ich bin in JavaScript noch blutiger Anfänger. Da Aufzählungen im Prinzip als ARRAY daherkommen, wollte ich sie verwenden, kann ich auf diese Weise auch über die Admin-Oberfläche deren Mitglieder verwalten.
Hier meine naive Ideen ..
- Jede Gruppe erfasse ich mit einem ARRAY, dessen Element ich mit der Methode splice verwalten kann. Meine Idee: Warum nicht gleich eine Aufzählung als ARRAY in mein Skript einbinden.
- Im Endausbau erweitere ich die Gruppen zu Objects und weise ihnen Methoden zu, die es erlauben, Zeitsteuerungen, Sonnenstand, Öffnungsgrade, .. zu verwalten.
Wenn ich eure Diskussion so lese, habe ich den Eindruck, dass ich mir zum Einstieg in die Programmierung wohl besser eine einfachere Aufgabe suchen sollte.
-
@liv-in-sky sagte: trigger auf die enums nicht funktionieren,
Triggern kann man ohnehin nur auf Datenpunkte, da nur Datenpunkte Zustände haben, auf deren Aktualisierung getriggert werden kann.
-
ich dachte an sowas:
da wird doch die functions abgefragt? und ich dachte, evtl ist das noch im cache veraltet
oder liege ich völlig falsch ?
-
Bevor die Diskussion völlig an mir vorbeigeht ..
Fürs Erste wäre mir schon geholfen, wenn ich wüsste, wie man eine Referenz einer Aufzählung in eine Variable (z.B. GruppeAbends) speichern kann, um dann diese als ARRAY zu behandeln. Hier sollten wohl die Funktionen GetObject eine Rolle spielen.
-
@legro hab ich doch gepostet
-
@liv-in-sky sagte: da wird doch die functions abgefragt? und ich dachte, evtl ist das noch im cache veraltet
Nicht, wenn es per Javascript verändert wird, denn dann läuft es über den Puffer der Javascript-Instanz. Allerdings wird das Trigger-Array nur bei Skriptstart aus dem Selektor gebildet und verändert sich bei laufendem Skript nicht mehr.
-
@liv-in-sky said in Aufzählungen mittels Blockly editieren:
@legro hab ich doch gepostet
Ja, stimmt. Leider konnte ich zunächst nichts damit anfangen, weil ich es ohne weitere Hilfe nicht anzuwenden wusste. Nachdem ich dank deines Beitrages wusste, wonach ich suchen musste, wurde ich hier fündig.
Hier fand ich in Beispielen aufgezeigt, wie ich mit getObject und setObject mein Vorhaben umsetzen kann. Ich hoffe, dass ich das Ganze jetzt verstanden habe.
-
Vielen Dank für eure Hilfestellungen.
Ich bin, nachdem ich hier alles nochmals durchgelesen habe, guter Hoffnung, dass mit euren Hinweisen ich mein Vorhaben realisieren kann.