Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Schedule im ms Bereich

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Schedule im ms Bereich

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
38 Beiträge 5 Kommentatoren 862 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AsgothianA Asgothian

    @ben1983 Skript anhalten sollte reichen

    Ben1983B Offline
    Ben1983B Offline
    Ben1983
    schrieb am zuletzt editiert von Ben1983
    #10

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

    AsgothianA 1 Antwort Letzte Antwort
    0
    • Ben1983B 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.

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #11

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

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      AsgothianA Ben1983B 2 Antworten Letzte Antwort
      0
      • AsgothianA Asgothian

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

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        schrieb am zuletzt editiert von
        #12

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

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        1 Antwort Letzte Antwort
        0
        • AsgothianA Asgothian

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

          Ben1983B Offline
          Ben1983B Offline
          Ben1983
          schrieb am zuletzt editiert von
          #13

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

          AsgothianA paul53P 2 Antworten Letzte Antwort
          0
          • Ben1983B Ben1983

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

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von
            #14

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

            A.

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            AsgothianA 1 Antwort Letzte Antwort
            0
            • AsgothianA Asgothian

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

              A.

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #15

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

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              paul53P 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @ben1983 Skript anhalten sollte reichen

                Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #16

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

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                AsgothianA Ben1983B 2 Antworten Letzte Antwort
                0
                • Ben1983B Ben1983

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

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #17

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

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • AsgothianA Asgothian

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

                    A.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #18

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

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    AsgothianA 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

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

                      AsgothianA Offline
                      AsgothianA Offline
                      Asgothian
                      Developer
                      schrieb am zuletzt editiert von
                      #19

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

                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                      1 Antwort Letzte Antwort
                      0
                      • Ben1983B Offline
                        Ben1983B Offline
                        Ben1983
                        schrieb am zuletzt editiert von
                        #20

                        @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);

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • Jey CeeJ Jey Cee

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

                          AsgothianA Offline
                          AsgothianA Offline
                          Asgothian
                          Developer
                          schrieb am zuletzt editiert von
                          #21

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

                          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • Ben1983B Ben1983

                            @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);

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #22

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

                            Verwende Variablen anstelle von getState(id).val.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            Ben1983B 1 Antwort Letzte Antwort
                            0
                            • Jey CeeJ Jey Cee

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

                              Ben1983B Offline
                              Ben1983B Offline
                              Ben1983
                              schrieb am zuletzt editiert von
                              #23

                              @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 Antwort Letzte Antwort
                              0
                              • AsgothianA Asgothian

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

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #24

                                @asgothian sagte: bei meinen Skripten muss ich die nicht löschen wenn ich das Skript anhalte.

                                Mit Skript anhalten werden alle Timer des Skriptes gestoppt (gelöscht).

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                Jey CeeJ 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

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

                                  Verwende Variablen anstelle von getState(id).val.

                                  Ben1983B Offline
                                  Ben1983B Offline
                                  Ben1983
                                  schrieb am zuletzt editiert von
                                  #25

                                  @paul53 und wann sollen die beschrieben werden?
                                  Der Verwendete Wert ist nun mal global, wie soll ich den sonst bekommen, außer mit getState?

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Ben1983B Ben1983

                                    @paul53 und wann sollen die beschrieben werden?
                                    Der Verwendete Wert ist nun mal global, wie soll ich den sonst bekommen, außer mit getState?

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von paul53
                                    #26

                                    @ben1983 sagte: wie soll ich den sonst bekommen, außer mit getState?

                                    Bei Skriptstart den Wert mit getState(id).val in die Variable einlesen und dann mit der Variablen weiter arbeiten. Den Datenpunkt dann laufend mit setState(id, variable, true) aktualiseren.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    Ben1983B 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @ben1983 sagte: wie soll ich den sonst bekommen, außer mit getState?

                                      Bei Skriptstart den Wert mit getState(id).val in die Variable einlesen und dann mit der Variablen weiter arbeiten. Den Datenpunkt dann laufend mit setState(id, variable, true) aktualiseren.

                                      Ben1983B Offline
                                      Ben1983B Offline
                                      Ben1983
                                      schrieb am zuletzt editiert von Ben1983
                                      #27

                                      @paul53 würde funktionieren,
                                      aber das was ich mit setstate beschreibe ist ja auch die zu lesende Variable.
                                      ok, könnte man auch auf die Variable schreiben und direkt nach dem schreiben darauf dann mit setstate zuweisen. also quasi so:

                                      let myVar = getState(Idxy).val;
                                      let myTime = getState(IdTime).val;
                                      

                                      im intervall dann:

                                      myVar = getLowpass(myVar,myTime,200);
                                      setState(Idxy,myVar);
                                      

                                      sollte das besser funktionieren?

                                      Bedeutet also, dass man in einem intervall besser kein getState verwenden sollte?
                                      dann müsste ich nur den aktualwert über ein .on event der variable zuweisen.

                                      ein .n event einer variable gibts nicht, oder?

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • Ben1983B Ben1983

                                        @paul53 würde funktionieren,
                                        aber das was ich mit setstate beschreibe ist ja auch die zu lesende Variable.
                                        ok, könnte man auch auf die Variable schreiben und direkt nach dem schreiben darauf dann mit setstate zuweisen. also quasi so:

                                        let myVar = getState(Idxy).val;
                                        let myTime = getState(IdTime).val;
                                        

                                        im intervall dann:

                                        myVar = getLowpass(myVar,myTime,200);
                                        setState(Idxy,myVar);
                                        

                                        sollte das besser funktionieren?

                                        Bedeutet also, dass man in einem intervall besser kein getState verwenden sollte?
                                        dann müsste ich nur den aktualwert über ein .on event der variable zuweisen.

                                        ein .n event einer variable gibts nicht, oder?

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #28

                                        @ben1983 sagte: sollte das besser funktionieren?

                                        Ja.

                                        Wenn myTime variabel sein soll, kann man sie per on(IdTime, callback) aktualisieren.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        Ben1983B 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @asgothian sagte: bei meinen Skripten muss ich die nicht löschen wenn ich das Skript anhalte.

                                          Mit Skript anhalten werden alle Timer des Skriptes gestoppt (gelöscht).

                                          Jey CeeJ Online
                                          Jey CeeJ Online
                                          Jey Cee
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #29

                                          @paul53 sagte in Schedule im ms Bereich:

                                          Mit Skript anhalten werden alle Timer des Skriptes gestoppt (gelöscht).

                                          Sollten sie ja. Ich hatte früher seltsamme Effekte in Skripten. Seit dem lösche ich beim beenden vom Skript alles was potentiell weiter laufen könnte.

                                          Persönlicher Support
                                          Spenden -> paypal.me/J3YC33

                                          Ben1983B 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          587

                                          Online

                                          32.7k

                                          Benutzer

                                          82.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe