Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Script nur kurz / einmal ausführen?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script nur kurz / einmal ausführen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      exmerci last edited by

      Hallo,

      ich baue mir gerade ein Blockly Script, was im heatingControl meine Temperatur Profile setzen soll.
      Nun ist es aber ja so, das dieses Script nicht immer laufen muss, sondern nur einmal kurz und wenn es durch ist sollte es wieder stoppen.
      Wie macht man so was?

      BBTown Thomas Braun 2 Replies Last reply Reply Quote 0
      • BBTown
        BBTown @exmerci last edited by BBTown

        @exmerci
        vielleicht kannst Du kurz witere Details erklären, wieso, weshalb warum?
        Wenn Du bspw. einen Trigger hast auf den ein Script reagiert, dann wird das Script sowieso nur bei "Bedarf" ausgelöst. So ein Trigger kann zum Beispiel eine bestimmte Uhrzeit sein, die dann nur 1 x am Tag zutrifft

        1 Reply Last reply Reply Quote 0
        • Thomas Braun
          Thomas Braun Most Active @exmerci last edited by

          @exmerci
          Skripte laufen immer und werden 'getriggert'.

          1 Reply Last reply Reply Quote 0
          • E
            exmerci last edited by

            Gestartet werden soll das Script durch einen Button.
            Ich drücke auf demn Button, Script wird abgearbeitet, dann aber nicht mehr benötigt.
            Also ich drücke den Button Profil1 und das Script zu Profil1 wird gestartet.
            Jetzt habe ich noch ein Profil2. Ich drücke den Button Profil2 und das Script zu Profil 2 wird gestartet.
            Aber das Script von Profil1 läuft ja dann noch. Würden die beiden Scripte dann nicht dauern gegeneinander laufen?
            Ich verstehe die Vorgehensweise noch nicht ganz.
            Ich kenne das nur von Phyton oder aus der Bash. Man hat in Script. Das startet man und durch den Exit Code am Ende ist es fertig und wird beendet. Wenn man es wieder braucht startet man es wieder.
            Aber hier laufen die Scripte ja die ganze Zeit.

            BBTown 1 Reply Last reply Reply Quote 0
            • BBTown
              BBTown @exmerci last edited by

              @exmerci
              und was genau führt das Script aus, dass es nicht unmittelbar nach dem Start fertig durchlaufen ist Sondern ununterbrochen weiter aktionen ausführt?

              1 Reply Last reply Reply Quote 0
              • E
                exmerci last edited by

                Ich glaube ich bin vielleicht auf dem Holzweg.
                Wenn ich ein Script baue, das ich über einen Button starten will, läuft das auch, wenn es im Scripe Bereich, wo man es erstellt, auf Pause steht?

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @exmerci last edited by Homoran

                  @exmerci
                  Bitte zum Grundverständnis:
                  Laufen ist nicht Laufen 😉

                  Die mehrfach gestellte Frage, was du genau machen willst, bzw. das Skriopt nach abarbeiten NICHT mehr machen soll bitte beantworten, denn:

                  Das Skript ist bei js immer aktiv
                  Ein Trigger löst es aus (in deinem Fall der Button)
                  Das Skript wird abgearbeitet und wartet in einer ruhigen dunklen Ecke auf en nächsten Knopfdruck.

                  Da muss nichts gestoppt werden, außer du hast eine unsaubere Schleife programmiert

                  1 Reply Last reply Reply Quote 0
                  • E
                    exmerci last edited by

                    @Homoran sagte in Script nur kurz / einmal ausführen?:

                    Die mehrfach gestellte Frage, was du genau machen willst, bzw. das Skriopt nach abarbeiten NICHT mehr machen soll bitte beantworten, denn

                    Wieso. Ich habe doch oben geschrieben was es machen soll.

                    ich baue mir gerade ein Blockly Script, was im heatingControl meine Temperatur Profile setzen soll.

                    Und was es nicht machen soll, ist wenn ich das Script für Profil2 sozusagen starte, die Werte von Script 2 wieder überschreiben, weil es ja noch läuft (nach meinem Vertändniss).
                    Ist wohl so, das ich das mit dem triggern nicht verstehe, da ich keine JS Erfahrung habe.
                    Wie triggere ich den das Script. Indem ich einfach einen Button in VIS baue und das Script dort eintrage?

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @exmerci last edited by

                      @exmerci sagte in Script nur kurz / einmal ausführen?:

                      Ist wohl so, das ich das mit dem triggern nicht verstehe, da ich keine JS Erfahrung habe.

                      Wahrscheinlich.

                      Der Trigger (eigene Gruppe von Blöcken) "startet" (korrekt= löst aus) das Skript.
                      Danach schläft es und macht nichts mehr, bis es wieder getriggert wird.
                      (Außer es läuft eine falsche Endlosschleife)

                      @exmerci sagte in Script nur kurz / einmal ausführen?:

                      Wie triggere ich den das Script.

                      Das ist unterschiedlich. In deinem Fall wohl über einen selbst angelegten Datenpunkt.
                      Je nach Wunsch wäre das ein boolscher Zustand, der durch das Button-Widget kurz auf true gesetzt wird oder ein Dantenpunkt vom Typ number in das du "1" oder "2" für das gewünschte Programm einträgst und darauf wird dann getriggert

                      1 Reply Last reply Reply Quote 0
                      • harrym
                        harrym last edited by

                        Eventuell auch ne Möglichkeit ? Den DP javascript.0.scriptEnabled vom Script auf true und verzögert wieder auf false setzen via toggle Button ?

                        Nur so ne Idee von mir ....

                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @harrym last edited by

                          @harrym sagte in Script nur kurz / einmal ausführen?:

                          Nur so ne Idee von mir ....

                          soll man aber nicht machen 😉

                          harrym 1 Reply Last reply Reply Quote 0
                          • harrym
                            harrym @Homoran last edited by

                            @Homoran OK. Dann war's ne blöde Idee 😊

                            1 Reply Last reply Reply Quote 0
                            • E
                              exmerci last edited by

                              Ich hatte jetzt mal so etwas gebaut. Aber irgendwie geht das nicht.

                              1a411c3d-258c-4ce4-b705-76235f249f0a-image.png

                              Zugehörige Objekte:

                              525c096f-b634-478a-b690-3a5dce1bcacd-image.png

                              Homoran BBTown 2 Replies Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @exmerci last edited by

                                @exmerci sagte in Script nur kurz / einmal ausführen?:

                                Aber irgendwie geht das nicht.

                                Die Zahlen bitte als Mathematik-Block nehmen.
                                unwahr = falsch bitte las Logikblock
                                steuere durch aktualisiere-Block ersetzen

                                1 Reply Last reply Reply Quote 0
                                • BBTown
                                  BBTown @exmerci last edited by BBTown

                                  @exmerci
                                  mache aus "normal" mal einen "button" (ausser der kann auch "false" sein)
                                  Du darfst "string" (Textbausteine) auch nur für "string" Inhalte verwenden und nicht für Zahlen oder "true/false" Werte

                                  1 Reply Last reply Reply Quote 0
                                  • E
                                    exmerci last edited by

                                    Ok. Ich versuche es. Muss jetzt erst noch mal ein bisschen arbeiten.
                                    Melde mich wieder ob ich es hinbekommen habe oder nicht.

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      exmerci last edited by

                                      @Homoran sagte in Script nur kurz / einmal ausführen?:

                                      Die Zahlen bitte als Mathematik-Block nehmen.

                                      Wenn ich das mache, kann ich keine Zahlen wie 12:00 eingeben für die Uhrzeit.

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

                                        @exmerci sagte:

                                        keine Zahlen wie 12:00 eingeben für die Uhrzeit.

                                        12:00 ist keine Zahl, sondern ein String. Die target temperature sollte eine Zahl sein.

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          exmerci last edited by

                                          Obwohl es zu funktionieren scheint, wird folgender Fehler angezeigt.

                                          7d926f71-3f38-4d96-ba9b-98642fed1463-image.png

                                          Was habe ich noch falsch gemacht?

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

                                            @exmerci sagte in Script nur kurz / einmal ausführen?:

                                            Was habe ich noch falsch gemacht?

                                            Was steht in Zeile 11 des erzeugten Javascript-Codes (Button blockly/JS rechts oben) ?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            843
                                            Online

                                            31.9k
                                            Users

                                            80.3k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            7
                                            38
                                            3024
                                            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