NEWS
Timeout in IDs vom Selektor
-
@guitardoc sagte: Unterprogramme mit mehreren Rückgabewerten.
Das gibt es nicht. Man kann ein Objekt oder ein Array zurück geben, was auch in Blockly möglich ist. Dabei aber beachten, dass Objekte / Arrays per Referenz (Zeiger) übergeben werden.
-
@guitardoc Eigentlich geht schon alles. Was nur fehlt, ist eine Möglichkeit einen Timer zu stoppen indem man eine Variable übergibt. Der Rest würde funktionieren.
-
@paul53 said in Timeout in IDs vom Selektor:
dass Objekte / Arrays per Referenz (Zeiger) übergeben werden
Wie macht man das konkret?
-
Wenn es die Blöcke gäbe, könnte man die Objekt-ID als Eigenschaft eines Objektes nehmen und dort den Timeout drauf speichern. Das Problem dabei ist, dass die meisten solche Konstrukte wohl nicht verstehen werden. Daher habe ich die "Objekt"-Blöcke so einfach wie möglich gestaltet.
-
@haus-automatisierung Das stimmt - so würde es gehen. Hmm, vielleicht wäre es ein Vorschlag an die Entwickler von Blockly?
-
@guitardoc sagte in Timeout in IDs vom Selektor:
Hmm, vielleicht wäre es ein Vorschlag an die Entwickler von Blockly?
Wie gesagt, könnte ich alles einbauen. Aber werden dann immer mehr Bausteine und viele sind ja jetzt schon mit einfachen Konstrukten überfordert.
-
@haus-automatisierung said in Timeout in IDs vom Selektor:
Das Problem dabei ist, dass die meisten solche Konstrukte wohl nicht verstehen werden.
Das ist allerdings tatsächlich ein Problem. Man muss schon ganz schöne Gehirnakrobatik betreiben, um zu verstehen, was da passiert.
-
@guitardoc Und dann denke ich mir oft: Wer das in Blockly hinbekommt, der versteht auch JavaScript und schafft es die paar Zeilen zu programmieren.
-
@haus-automatisierung Naja, ich persönlich tu mich schwer mit Javascript. Habe jahrelang objektorientiert programmiert. Ja, mit Typescript geht das zwar auch, aber mir fehlt die Möglichkeit, den Code sinnvoll mit wenig Aufwand während der Laufzeit zu debuggen. Aber vielleicht hab ich mich auch nur noch nicht ausführlich genug damit beschäftigt.
-
Ich hab es jetzt mit einem Cron gelöst - der schaut jede Minute ob bei verschiedenen States die 30 Minuten schon erreicht sind und schaltet dann. Ist zwar nicht besonders elegant, scheint aber zu funktionieren.