Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Timeout in IDs vom Selektor

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Timeout in IDs vom Selektor

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      guitardoc @Codierknecht last edited by

      @codierknecht Na klar funktionieren die Leerzeichen. Schon seit Ewigkeiten. Und so weiß ich auch in drei Jahren noch was ich da gemacht hab. Aber das war eigentlich nicht das Problem?

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Codierknecht last edited by

        @codierknecht sagte: Soll das 'ne Variable sein? Mit Leerzeichen?

        Blockly ersetzt Leerzeichen durch Unterstriche.

        1 Reply Last reply Reply Quote 1
        • paul53
          paul53 @guitardoc last edited by

          @guitardoc sagte: Versteht das Blockly das und führt die mehreren Timeouts mit den richtigen unterschiedlichen Werten aus oder geht das so gar nicht?

          Das geht so nicht. Jeder DP benötigt seinen eigenen Timeout.

          1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @guitardoc last edited by

            @guitardoc sagte in Timeout in IDs vom Selektor:

            Versteht das Blockly das und führt die mehreren Timeouts mit den richtigen unterschiedlichen Werten aus oder geht das so gar nicht?

            Das geht so, nur wird jedes Mal ein Timeout gestartet - auch, wenn bereits für die gleiche ID einer läuft. Der vorige für die ID kann nicht gestoppt werden, weil Dir dafür dann die Referenz fehlt.

            Mit JavaScript wäre das lösbar.

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @haus-automatisierung last edited by

              @haus-automatisierung sagte: Der vorige für die ID kann nicht gestoppt werden, weil Dir dafür dann die Referenz fehlt.

              Das meinte ich mit meiner Aussage. Eine halbe Stunde ist eine lange Zeit.

              G 1 Reply Last reply Reply Quote 0
              • G
                guitardoc @paul53 last edited by

                Hmm, da werde ich für jeden Datenpunkt lieber einen separaten Timeout starten. Man muss es ja nicht unnötig verkomplizieren.
                Aber interessehalber - wie würde man das in Javascript lösen bzw. was wäre da anders?

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @guitardoc last edited by

                  @guitardoc sagte: wie würde man das in Javascript lösen bzw. was wäre da anders?

                  In Javascript kann man z.B. ein "Array of timers" verwenden.

                  1 Reply Last reply Reply Quote 0
                  • G
                    guitardoc last edited by

                    @paul53 Das mit den Arrays (und Array of Array) ist auch ein Punkt der mir in den Blocklys fehlt, ebenso wie Unterprogramme mit mehreren Rückgabewerten. Ist zwar hier Off-Topic, aber ist da geplant dies irgendwann zu implementieren?

                    paul53 haus-automatisierung 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @guitardoc last edited by paul53

                      @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.

                      G 1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @guitardoc last edited by

                        @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.

                        1 Reply Last reply Reply Quote 0
                        • G
                          guitardoc @paul53 last edited by

                          @paul53 said in Timeout in IDs vom Selektor:

                          dass Objekte / Arrays per Referenz (Zeiger) übergeben werden

                          Wie macht man das konkret?

                          haus-automatisierung 1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @guitardoc last edited by haus-automatisierung

                            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.

                            Screenshot 2024-05-25 at 11.11.16.png

                            G 2 Replies Last reply Reply Quote 0
                            • G
                              guitardoc @haus-automatisierung last edited by

                              @haus-automatisierung Das stimmt - so würde es gehen. Hmm, vielleicht wäre es ein Vorschlag an die Entwickler von Blockly?

                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @guitardoc last edited by

                                @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.

                                1 Reply Last reply Reply Quote 0
                                • G
                                  guitardoc @haus-automatisierung last edited by

                                  @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.

                                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                                  • haus-automatisierung
                                    haus-automatisierung Developer Most Active @guitardoc last edited by

                                    @guitardoc Und dann denke ich mir oft: Wer das in Blockly hinbekommt, der versteht auch JavaScript und schafft es die paar Zeilen zu programmieren.

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      guitardoc @haus-automatisierung last edited by

                                      @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.

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        guitardoc last edited by

                                        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.

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        474
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        20
                                        393
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo