Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Schedule im ms Bereich

    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

    Schedule im ms Bereich

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

      @asgothian welche Aktionen sollen sich überschneiden?

      Asgothian 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Ben1983 last edited by

        @ben1983 sagte in Schedule im ms Bereich:

        @asgothian danke.
        Probiere ich mal aus.
        Kannte bis dato nur die schedule Funktion.

        https://www.w3schools.com/js/js_asynchronous.asp

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

          @ben1983 wenn du versuchst alle 200 ms eine Aktion durchzuführen die 400 ms dauert dann hast du das System in ca. 3 bis 5 Minuten tot.

          A.

          Ben1983 2 Replies Last reply Reply Quote 0
          • Ben1983
            Ben1983 @Asgothian last edited by

            @asgothian habe gerade wohl ein komma falsxh gesetzt jetzt geht nochts mehr.
            komme nicht mal mehr ins script um es zu stoppen.

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

              @asgothian wenn ich das setinterval im skript entferne und das skript speichere, dann istves doch weg, oder muss es aktiv wieder deaktiviert werden?

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

                @ben1983 Skript anhalten sollte reichen

                Ben1983 Jey Cee 2 Replies Last reply Reply Quote 0
                • Ben1983
                  Ben1983 @Asgothian last edited by Ben1983

                  @asgothian habe es hin bekommen,
                  aber leichter gesagt als getan. ich kam nicht mal auf den reiter instanzen.
                  irgebdwann klappte es mal und dann au h beim 50. mal stoppen hat er auch gestoppt.
                  glaube ein getstate oder setstate hat mir das genick gebrochen.

                  macht dann nicht wirklich sinn, wenn man nichts beschreiben kann.

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

                    @ben1983 in dem fall ist der trick ein setstateasync zu nutzen und jeweils nach dem erfolg es set state ein settimeout mit 200 ms zu nutzen

                    A.

                    Asgothian Ben1983 2 Replies Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @Asgothian last edited by

                      @asgothian aus Neugier.. was genau willst du tun ?

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

                        @asgothian ich wollte ein regelallgorythmus für einen lowpass zyklisch aufrufen.
                        dazu ist halt ein timeout nicht so gut, da man dann natürlich nicht auf seinen wiederkehreneden zyklus kommt.
                        warum benötigt denn das setstate mehr als 200ms, ist das so unperformant?
                        habe es jetzt wieder mit schedule und im 2s takt laufen.
                        ist dann halt reglungstechnisch etwas grob.

                        Asgothian paul53 2 Replies Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @Ben1983 last edited by

                          @ben1983 Zeig doch mal das Skript.. die Kombination setState / getState auf den gleichen State ist nicht besonders gut.

                          A.

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

                            @asgothian Auch.. wenn du so schnell regelst solltest du darüber nachdenken die statesdb auf redis umzustellen.

                            A.

                            paul53 1 Reply Last reply Reply Quote 0
                            • Jey Cee
                              Jey Cee Developer @Asgothian last edited by

                              @asgothian sagte in Schedule im ms Bereich:

                              @ben1983 Skript anhalten sollte reichen

                              Nein setIntervall verhält sich wie setTiemout, das muss beim beenden des Skripts gelöscht werden.
                              Sonst läuft das einfach fröhlich weiter.

                              Asgothian Ben1983 2 Replies Last reply Reply Quote 0
                              • paul53
                                paul53 @Ben1983 last edited by paul53

                                @ben1983 sagte: setstate mehr als 200ms, ist das so unperformant?

                                200 ms benötigt setState() normalerweise nicht. Ein 200 ms Intervall sollte keine Probleme machen, wenn nur Standard-Befehle wie setState() verwendet werden.

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

                                  @asgothian sagte: wenn du so schnell regelst solltest du darüber nachdenken die statesdb auf redis umzustellen.

                                  Die Art der DB hat so gut wie keinen Einfluss, da alles im RAM abläuft.

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

                                    @paul53 sagte in Schedule im ms Bereich:

                                    @asgothian sagte: wenn du so schnell regelst solltest du darüber nachdenken die statesdb auf redis umzustellen.

                                    Die Art der DB hat so gut wie keinen Einfluss, da alles im RAM abläuft.

                                    Wenn die statesdb auf File steht dann wird es immer wieder zu Situationen kommen in denen die Kombination setstate/getstate zeit dauert da die states auf den Massenspeicher geschrieben werden. Ich konnte einen deutlichen Performancegewinn bei den States durch die Nutzung von redis feststellen.

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

                                      @asgothian sagte in Schedule im ms Bereich:

                                      redis

                                      habe das script schon wieder umgestellt.
                                      grundlegend ist es eine solche funktion:

                                      setState(IdLowpass,getLowpass(getSTate(IdLowpass).val,getState(IdFilerTime).val,200);

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • Asgothian
                                        Asgothian Developer @Jey Cee last edited by

                                        @jey-cee sagte in Schedule im ms Bereich:

                                        @asgothian sagte in Schedule im ms Bereich:

                                        @ben1983 Skript anhalten sollte reichen

                                        Nein setIntervall verhält sich wie setTiemout, das muss beim beenden des Skripts gelöscht werden.
                                        Sonst läuft das einfach fröhlich weiter.

                                        bist du sicher ? bei meinen Skripten muss ich die nicht löschen wenn ich das Skript anhalte.

                                        A.

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

                                          @ben1983 sagte: setState(IdLowpass,getLowpass(getSTate(IdLowpass).val,getState(IdFilerTime).val,200);

                                          Verwende Variablen anstelle von getState(id).val.

                                          Ben1983 1 Reply Last reply Reply Quote 0
                                          • Ben1983
                                            Ben1983 @Jey Cee last edited by

                                            @jey-cee hatte jetzt das setintervall aus dem script gelöscht und das script gespeichert, dann läuft es ja neu an und sollte weg sein, oder?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            799
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            38
                                            752
                                            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