Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [vorerst gelöst] Suche anders geartete Zeitverzögerung

    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

    [vorerst gelöst] Suche anders geartete Zeitverzögerung

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

      gelöscht.

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

        Darf ich noch mal anfragen, wie ich das von dir vorgeschlagene Script nutzen kann? Ich habe solchen Code noch nie importiert.

        Asgothian 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @docadams last edited by

          @docadams
          Darst du.. du gehst auf den Eintag <> Script links, dan bekommst du die Liste der bei Dir laufenden Scripte.
          Dann erzeugst du mit + ein neues Script - wichtig, ein Script vom Typ JS

          Dann kopierst du den Text der oben Steht in das rechte Fenster und speicherst den.. Damit hast das ganze dann erstmal drin.

          Jetzt noch ein paar Warnhinweise:
          da wo ich 'triggerobjekt ...' im Script stehen habe musst du die ID des Datenpunktes eintragen, mit dem du trigger willst.
          da wo 'relaisobject' steht muss die ID es Datenpunktes den du schalten willst stehen

          Wenn du die Dauer des Timeout ueber einen Datenpunkt steuern willst , dann musst du an Stelle der 10000
          getState('id des Datenpunktes mit der Zahl') schreiben.

          A.

          1 Reply Last reply Reply Quote 1
          • docadams
            docadams last edited by docadams

            Vielen Dank.

            wenn ich das reinkopiere erscheint zwischen jeder Zeile eine Leerzeile, die ich dann manuell rauslösche. Ist das korrekt?
            Aber meine eigentliche Frage ist, wie binde ich das Skript nun ein? Ich mache den Rest in Blockly. Kann ich das Skript dann irgendwie als Befehl/Block in Blockly aufrufen?

            Dein letzter Hinweis greift eine künftige Frage voraus. Mein Ziel wird sein, eine variierende Zeit zwischen zwei zu steuernden Ereignissen zu programmieren. Mir ist es schon gelungen, mit Zufallszahl einen Datenpunkt "Zufall5-15" zu befüllen. Dann bräuchte ich dann nur noch statt der 1000

            getState('id des Datenpunktes Zufall5-15')

            anzusprechen. Das find ich gut.
            Allerdings muss diese Zufallszahl dann unbedingt in Milisekunden erscheinen, oder?

            Asgothian 1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer @docadams last edited by

              @docadams
              Das script läuft automatisch, und triggers darauf das die beiden trigger Datenpunkte auf true gehen.
              Du kannst auch im script rechnen, in dem du getState()*1000 machst

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                hier mal zum Verständnis das selbe in blockly, trigger löst timer aus worin ein object gesteuert wird.
                Wird der trigger nochmal aufgerufen startet der time neu (set time-out / reset-timeout)

                Schermafbeelding 2019-03-25 om 08.29.23.png

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

                  Das "Stopp Timeout" ist noch ein wichtiger Hinweis, danke.

                  Eigentlich prinzipiell gibt es doch keinen Unterschied zwischen dem Blockly und den JS-Code von Asgothian, oder?
                  Oder ist der Code flexibler?

                  Ich frage das deshalb, weil ich noch eine Lösung von folgendem Problem suche:

                  • mache etwas
                  • warte 5 ... 15 Minuten (zufällig jeden Tag anders)
                  • mache das Nächste

                  Geht das überhaupt und könnte man das auch in Blockly erzeugen, oder nur als JS?

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @docadams last edited by

                    @docadams sagte in Suche anders geartete Zeitverzögerung:

                    Geht das überhaupt und könnte man das auch in Blockly erzeugen, oder nur als JS?

                    Prinzipiell geht fast alles auch mit blockly. Wenn du das gleiche prinzipiell immer wieder mit unterschiedlichen Datenpunkte n machen willst ist js flexibler, kürzer, aber auch komplexer zu lesen.

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

                      Hallo,
                      endlich kann ich auch mal was Positives einbringen und nicht nur Fragen stellen 🙂
                      Auf die Lösung hat mich "Svens ioBroker Tutorials" gebracht, hier etwa ab Minute 16.

                      Ich möchte ja etwas zufällig schalten wollen. Hier im Beispiel eine Lampe für die Dauer von 11 bis 33 Sekunden lang leuchten lassen.
                      Die Idee ist, eine Variable erzeugen, die einmal täglich mit dem Inhalt der zufälligen Leuchtdauer in Millisekunden befüllt wird.
                      Und im Timeout-Modul wird an Stelle der Dauer in Ziffern der Name der Variablen eingetragen.
                      Zufall.PNG
                      Das wars.

                      rantanplan 1 Reply Last reply Reply Quote 0
                      • rantanplan
                        rantanplan @docadams last edited by

                        @docadams Hallo

                        Funktioniert nur mit "ms" und wird offiziell nicht unterstützt. Kann also irgendwann nicht mehr funktionieren.
                        So mein letzter Stand.

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

                          Naja, deshalb ja auch der Faktor 1000 oder wenn es um Minuten geht, halt Faktor 60000.
                          Wäre echt schade, wenn das mal wegver(schlimm)bessert werden sollte. Zumindest für mich "NichtJavaKenner" ist das eine elegante Lösung, die sogar ich verstehe ;-).
                          Mal sehen....

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          774
                          Online

                          31.9k
                          Users

                          80.3k
                          Topics

                          1.3m
                          Posts

                          blockly
                          5
                          16
                          698
                          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