NEWS
Wunschliste Blockly-Elemente
-
@paul-honka hey, solche Mutationen (wie sie bei blockly so schön heißen) benötigen viel ausprobieren, da man auch nicht wirklich eine gescheite Fehlermeldung bekommt manchmal.
Ich hab bisher nur mit Mutationen rumgespielt, wenn ich das mal so richtig implementieren kann mache ich mich am den Baustein -
Für den bräuchte es eine 3 Zeilige Doku
Funktioniert aber, kenne nur nicht alle Möglichkeiten.
Und das ist mein absoluter Liebling:
Danke! -
@iomountain sagte in Wunschliste Blockly-Elemente:
Für den bräuchte es eine 3 Zeilige Doku
da stehen einige Infos, reicht Dir das ?
https://forum.iobroker.net/topic/20845/wunschliste-blockly-elemente/37
-
@iomountain mit objectID gibst du die ID des neuen Staates an, das unter Javascript.0 angelegt wird.
Mit initialvalaue kannst du gleich auch den Wert mit angeben den der state haben soll (erspart danach ein setstate()).
Und mit common kann man das commonobject angeben um zum Beispiel Buttons zu erstellen. -
@dslraser und @thewhobox Passt, Danke
-
Ich habe mich jetzt auch mal ganz mutig in die Tiefen von js (über Blockly) getraut.
Dabei scheint es mir, dass man mit einem Blockly zwar einen neuen State erzeugen kann, diesen dann aber nicht im gleichen Blockly befüllen kann, da man beim Erstellen des Blocklys nur setstate mit existierenden States auswählen kann.Habe ich da etwas verpasst oder war das (noch) nicht in der Wunschliste hier mit einer Variable zu arbeiten
-
@Homoran mit dem datenpunkt erzeugen Element kannst du den erstellten Datenpunkt einen Initialen Wert geben. Das erspart das Wert aktualisieren/Steuern.
Hier siehst ein Anwendungsbeispiel.
-
@siggi85 sagte in Wunschliste Blockly-Elemente:
@dslraser sagte in Wunschliste Blockly-Elemente:
siggi85
zeig mal bitte wie Du es anwendestKein Problem.
Hallo zusammen, grundlegende Frage zum Subscribe Mechanismus bei Object:
Die Battery subscription über die Falls Objekte im Block ruft die Funktion jedes Mal auf wenn ein Wert sich verändert... Also zB von 76% auf 75% springt. Erzeugt das nicht recht viel unnötige Ausführungen des Blocks?Vielleicht etwas spezielles für Batterien die sich nicht sprunghaft ändern... Hab das mit einer cronjob Prüfung einmal pro Tag gelöst.
Welche Lösung ist hier Javascript seitig Ressourcen schonender?
-
@madjack84 Hey, wie du bereits sagtest ist das für batteriezustände gehüpft wie gesprungen.
Da das Script ja auch nur wenige millisekunden ausgeführt wird.Im Regelfall kommt es halt eher darauf an, ob du mit einem Delay von max 24h leben kannst (da eben nur jeden tag zum beispiel um 3 geprüft wird) oder du es wirklich sofort wissen möchtest.
Von den Ressourcen her wird sich das denke ich nicht unterscheiden, insofern sich die Werte nicht alle Sekunde ändern. -
@thewhobox das kannte ich, aber...
Wenn dann im nächsten Durchlauf der Datenpunkt schon existiert, kann ich dann diesen Block auch zur weiteren Eingabe nutzen? -
@thewhobox sagte in Wunschliste Blockly-Elemente:
@madjack84 Hey, wie du bereits sagtest ist das für batteriezustände gehüpft wie gesprungen.
Da das Script ja auch nur wenige millisekunden ausgeführt wird.Im Regelfall kommt es halt eher darauf an, ob du mit einem Delay von max 24h leben kannst (da eben nur jeden tag zum beispiel um 3 geprüft wird) oder du es wirklich sofort wissen möchtest.
Von den Ressourcen her wird sich das denke ich nicht unterscheiden, insofern sich die Werte nicht alle Sekunde ändern.Danke für deine Einschätzung. Ob die Batterie nun bei 20% oder 19,8% gemeldet wird ist am Ende wohl egal.
Mir gings bei der Frage eher um den subscribe Mechanismus. Es gibt protokolle, die unterstützen sogar schon Vergleiche... Also trigger bei x_battery < 20.Kannst du noch die getParent Funktion posten?
Finde ich wirklich super. Hatte auch vorher nicht verstanden wozu das einzelne Objekt ID Teile warEdit: Export/Import gerade gefunden
Leider funktionierts für mich noch nicht 100%.Das sind versch. Bewegungsmelder in versch. Räumen von Xiaomi
@siggi85 Kannst du den Java Code posten? Würde den für mich gerne anpassen um den Level des Namens oder den Raum auszugeben.
grüße und Danke für den Wahnsinns Support in diesem Forum
-
@madjack84 Wieso nimmst du dafür nicht den Selector? Hier kurz berschrieben
Die Funktion für GetParentName hat paul53 hier zur verfügung gestellt -
@thewhobox
habe fertig: und würde die Neuerungen ungern wieder aufgeben.
Was ich noch brauchen könnte:
Eine Kommentar Klammer:
Wäre auch Hilfreich um einen komplette Blöcke zu kopieren. -
Was mir als suboptimal Aufgefallen ist:
Der Baustein Javascript-Funktion
lässt sich nicht mit dem Rest des Scriptes verbinden / einrasten sondern "fliegen" frei umher.
Wäre für mich übersichtlicher wenn ich die am Anfang als Block verbunden mit dem Rest hätte.
Mal sehen wie die anderen das sehen oder was der Grund ist das man die Objekte nicht einrasten / zusammenheften kann. -
@iomountain sagte in Wunschliste Blockly-Elemente:
@thewhobox
habe fertig: und würde die Neuerungen ungern wieder aufgeben.
Was ich noch brauchen könnte:
Eine Kommentar Klammer:
Wäre auch Hilfreich um einen komplette Blöcke zu kopieren.das wäre echt nice , ich versehe bei mir alles mit Kommentaren, da man ja bei vielen Scripten, sonst die Übersicht verliert und so auch nach Monaten noch nachvollziehen können soll was ein Script macht!
-
@iomountain Sieht gut aus.
Für mich noch kurz zum Verständnis: Der Kommentarblock hat eig gar keinen Einfluss sonder ist nur dafür dar um mehrere Blocky einem Kommentar zuzuordnen?
Kannst du mir dann den Code schicken, wenn du den schon fertig hast?^^Zu der Javascript Funktion: Ich denke einfach, da es eine Function ist, die unabhängig ist wo sie steht war das einfach nicht vorgesehen.
Ansonsten: Hat jemand schonmal den RegexBlock für die Trigger ausprobiert?
-
@thewhobox sagte in Wunschliste Blockly-Elemente:
Für mich noch kurz zum Verständnis: Der Kommentarblock hat eig gar keinen Einfluss sonder ist nur dafür dar um mehrere Blocky einem Kommentar zuzuordnen?
JA genau, vielleicht auch zusammenklappen?@thewhobox sagte in Wunschliste Blockly-Elemente:
Kannst du mir dann den Code schicken, wenn du den schon fertig hast?
Der war gut, ich kann ein bisschen Blockly und Paint
-
@iomountain achso. Dachte das "habe fertig" gehörte mit zum Baustein.
-
@iomountain
Da die Funktionen zu Programm-Start definiert werden sollen, sollen sie nicht im Flow eingeklinkt werden -
@Homoran
Verstehe, macht Sinn, Danke