Navigation

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

    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

    Stoppuhr

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @Schlagschatten last edited by

      @Schlagschatten

      das ist ein funktion - verwendet man, wenn ein script etwas öfters macht und den vorgang somit öfters braucht. damit spart man sich jedesmal alles doppelt zu schreiben - stattdessen wird das aufgerufen. dieses zeitberechnen wird 2 mal im script gebraucht und nur einmal geschrieben.

      es gibt auch funktionen, denen übergibt man einen bestimmten wert und diesen verwendet dann die funktion um damit etwas zu machen - sie könne auch ein ergebnis zurückgeben, mit dem man dann weiterarbeitet - kommt in meinem beispiel nicht vor.

      habe es vorher als blackbox erklärt - die funktion arbeitet genauso innerhalb eines scripts

      das lila "zeitberechnen" wird zweimal im script benutzt aber nur einmal geschrieben

      das war eine gute frage

      1 Reply Last reply Reply Quote 0
      • S
        Schlagschatten last edited by

        Das ich das richtig verstehe,5.PNG

        Der Zeitplan führt alle 23sek die Funktion Zeitberechnung aus.
        6.PNG
        Bei Start
        7.PNG
        Bei stop
        8.PNG

        1 Reply Last reply Reply Quote 0
        • S
          Schlagschatten last edited by

          Die Timeouts sind grundsätzlich nur für die zeitversetzte Rechnung...?

          liv-in-sky 2 Replies Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Schlagschatten last edited by liv-in-sky

            @Schlagschatten ja genau wie du sagst - alle 23 (oder was man auch einstellt (ist egal - kannst auch eine stunde einstellen) - da bei stopp sowieso gerechnet wird - und alle datenpunkte geschrieben werden - man konnte auch das zeitinterval von 23 ausschalten - aber dann hätte man nichts für die vis ! start - stop - die datenpunkte werden geschrieben das wärs dann - aber nur wenn es eine reine stoppuhr sein soll - vielleicht, möchte man jede 5 minuten etwas anderes triggern - dann überwacht man den minutenwert.

            das mit den timeouts ist eine besonderheit - in kurz:
            normalerweise kennt man programme, die eins nach dem anderen abarbeiten - dadurch weiß man immer, was wann passiert. da iobroker aber auf schnelle abarbeitung ausgelegt ist, kannst du nicht genau sagen, was wann passiert - es wird alles gleichzeitig berechnet (asynchorne bzw. synchrone programmierung) btw. geschaltet - es gibt ohne blockly noch sowas wie einen callback - die richtigen profis nutzen das in javascript - habe sowas in blockly noch nicht gesehen

            die timeouts braucht man deshalb für verschiedene sachen

            • um sicherzustellen, dass eine brechnung erst passiert, wenn etwas anderes abgearbeitet ist.
            • oder für einen zeitversetzten schaltvorgang

            dein letztes k(leines) bild weißt darauf hin, dass die version älter ist - in der jetztigen version ist bei Zeitberechnung kein timeout mehr - macht manchmal einen unterschied

            in manchen fällen, braucht man dann auch das "stop timeout" blockly - wird etwas unterbrochen, das kurz vorher einen timeout gesetzt bekommen hatte z.b. vor einem schaltvorgang oder einer berechnung -und dieser schaltvorgang nicht mehr ausgeführt werden soll, stoppt man den timeout und es wird nicht mehr geschalten/berechnet

            1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky last edited by liv-in-sky

              @Schlagschatten sagte in Stoppuhr:

              Datum-Objekt wandelt das aktuell Datum in eine rechenbare Zahl um. Nach String schreibt den aktuellen Zeitwert, ohne das die Zeit weiterläuft. ??????

              Image 6.png

              ich bin nicht der profi auf diesem gebiet - dies ist mein zweites veröffentliche script - es gibt bedeutend bessere programmierer im forum, daher weiß ich nicht, ob ich wirklich alles perfekt programmiere (es gibt einen programmierer im forum, der nennt sich paul53 - der schreibt manchmal eine zeile als code, wofür ich eine seite benötige:-)

              zurück zu diesem beispiel:

              ich will am ende ein datum in der vis ausgeben (das war mein ziel)- - das geht nur über string! deshalb speichere ich "anfang" gleich mal als string
              "erststart" und anfang sollen den selben wert haben - also muss ich wieder zurückwandeln, da eine umwandlung in ein datum eine zahl braucht - könnte man sicher anders lösen - aber das script hat sich halt schnell entwickelt, weil es komplizierter geworden ist, als ich dachte - wenn du mal ein solches script entwirfst, wirst du bald feststellen, dass es momente des "braindead!" gibt und man froh um die richtige funktion ist, anstatt alles perfekt zu machen. es gibt nicht umsonst die versionsnummern 🙂

              hier noch etwas übersicht:

              Schema-script.png

              1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Schlagschatten last edited by

                @Schlagschatten
                habe es nochmnal überprüft - man bekommt eine jacascript meldung wenn man das aktuelle datum in eine zahl schreiben will - obwohl es eine zahl ist

                Image 9.png geht nicht ohne warnung wenn der string-kovert nicht dabei ist

                1 Reply Last reply Reply Quote 0
                • S
                  Schlagschatten last edited by

                  So langsam komme ich dahinter, die Entwicklung ist wirklich interessant.

                  Zur Aktualität deiner Scripte: Habe das Script aus dem 1 Beitrag deines Threads , gibt es noch irgenswelche Änderungen?

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Schlagschatten last edited by liv-in-sky

                    @Schlagschatten

                    habe gerade ein update in den ersten post geladen

                    gibt einen weiteren datenpunkt - Erststart - wird im anderen thread erklärt

                    das neuste script hat ganz oben einen kommentar mit version 1.1

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Schlagschatten @liv-in-sky last edited by

                      @liv-in-sky sagte in Stoppuhr:

                      @Schlagschatten

                      habe gerade ein update in den ersten post geladen

                      gibt einen weiteren datenpunkt - Erststart - wird im anderen thread erklärt

                      das neuste script hat ganz oben einen kommentar mit version 1.1

                      Welcher Datenpunkttyp hat Erststart?

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Schlagschatten last edited by

                        @Schlagschatten

                        string - da er ein datum anzeigen soll

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        502
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        4
                        130
                        10189
                        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