NEWS
Wunschliste Blockly-Elemente
-
Hey,
sorry, dass ich mich lange nicht mehr gemeldet habe. Arbeite gerade an einem anderen Adapter.
@darkiop Deine Vorschläge würden leider tiefgreifende Änderungen im Blockly Code benötigen. Diese wären bei jedem Update von Blockly wieder weg.
Deswegen leider ein Nein dazu. -
Sooo, und gleich gibt es mal ein kleines Update:
Ich habe mein Repo nun auf 4.1.12 geupdated.
Hinzugekommen ist ein RegExp Baustein. Damit kann man im Trigger nun Regex angeben anstatt alle IDs einzeln anzugeben.
Nachdem ein paar es getestet haben werde ich ein Pull Request erstellen, damit mal die jetzigen Bausteine in die offizielle Version kommen. -
@thewhobox Alles klar - Verstanden - das macht Sinn. D.h. mann müsste Vorschlag an Google schicken
Aber dir schonmal ein dickes Dankeschön für die Arbeit hier! Imho finde ich Blockly im SmartHome sehr nützlich - denn wenn man mal nach einer längeren Zeit wieder ein Skript aufruft, kommt man über Blockly schneller wieder rein (meine subjektive Meinung :)).
-
Hab von Github über die Katze installiert: https://github.com/thewhobox/ioBroker.javascript und dann im Expertenmodus noch einen Upload bei dem Adapter gemacht. iobroker neu gestartet und Cache im Browser geleert.
Die unter System sind sehr dicht gedrängt und lassen sich kaum greifen.
Die anderen unter Aktionen, Sendto usw. sehen gut aus. -
@iomountain Jap, da ist mir ein kleiner Fehler unterlaufen. Sollte jetzt auf Github gefixt sein.
Btw: ein Neustart und Cache leeren ist eig nicht nötig. Falls es doch mal nötig sein sollte reicht eig auch ein STRG + F5 -
jetzt sieht es gut aus, teste weiter
-
Hallo, was macht das Mehrfach UND sowie das Mehrfach ODER?
Beste Grüsse paul -
@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.