Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Aktion innerhalb eines Zeitraumes nur 1x ausführen [gelöst]

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Aktion innerhalb eines Zeitraumes nur 1x ausführen [gelöst]

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

      @codierknecht said in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

      Sicher?
      Datenpunkte werden vom jeweiligen Adapter gerne mal zyklisch "aktualisiert". Unabhängig davon, ob sich nun der Wert geändert hat oder nicht. Dein Trigger würde dann feuern.

      Das war mir bisher nicht bekannt. - Das wäre jedoch auch ein wenig zuverlässiger Trigger?

      Kurze Ergänzung zum Post von @DJMarc75 : Zeiträume über den Tageswechsel zu prüfen, führt gerne mal zu Problemen. Die gezeigte Variante umgeht das.

      Guter Hinweis - werde ich berücksichtigen. Dank an @DJMarc75

      @devdracon sagte in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

      "kleiner als letztes": da ist mir nicht (genau) klar wann dieser Trigger ausgelöst wird...

      Der feuert, wenn sich der Wert ändert und - wie der Name es sagt - der Wert kleiner als der zuletzt übermittelte Wert ist.
      Boolean werden intern als 0 (false) oder 1 (true) dargestellt ***. Der Trigger feuert in dem Fall also nur dann, wenn der Wert von true auf false wechselt.

      *** Per Definition ist false = 0 und true ist alles was nicht 0 ist - aber das lassen wir hier mal unter den Tisch fallen.

      Danke für die Erläuterung.

      @nordischerjung said in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

      Oder soll die Steckdose nur dann ausgeschaltet werden wenn Druck ausgeschaltet wurde, es ist zwischen x und y Uhrzeit und die Temperatur ist <23

      Ja, so soll das ein. (Hintergrund: ein laufender Druck endet später am Abend, dann kann nach Abkühlen die Steckdose ausgeschaltet werden)

      Was ist wenn die Temperatur zB 1 Minute nach dem ausschalten <23 wird?

      Dann ist die Bedingung <23 doch immer noch wahr?

      N 1 Reply Last reply Reply Quote 0
      • N
        Nordischerjung @devdracon last edited by Nordischerjung

        @devdracon sagte in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

        Dann ist die Bedingung <23 doch immer noch wahr?

        Ja aber der Trigger hat dann ausgelöst und geprüft ob die Zeit stimmt und ob die Temperatur <23 ist. Wenn die Temperatur dann zB 23,5°C ist, wird die Steckdose nicht ausgeschaltet.
        Wenn die Temperatur <23 wird, schaltet die Steckdose nicht aus, da der Trigger nicht kommt, weil der Druck schon aus ist.

        In deinem Fall schaltet die Steckdose nur in dem Moment aus, wenn Druck wurde beendet UND Temperatur ist <23 UND Zeit ist zwichen x und y.
        Ist eins davon nicht erfüllt, bleibt die Steckdose an.

        Codierknecht devdracon 2 Replies Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Nordischerjung last edited by

          @nordischerjung
          Guter Einwand!

          @devdracon
          Du bräuchtest also einen zweiten Trigger, der die (sinkende) Temperatur überwacht und die Steckdose ausschaltet wenn die Temp. unter 23°C sinkt und der Druck beendet ist.

          DJMarc75 1 Reply Last reply Reply Quote 0
          • DJMarc75
            DJMarc75 @Codierknecht last edited by

            @codierknecht sagte in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

            Du bräuchtest also einen zweiten Trigger, der die (sinkende) Temperatur überwacht und die Steckdose ausschaltet wenn die Temp. unter 23°C sinkt und der Druck beendet ist.

            So würde ich das auch machen:

            Screenshot 2022-12-20 095023.png

            1 Reply Last reply Reply Quote 0
            • devdracon
              devdracon @Nordischerjung last edited by

              @nordischerjung said in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

              Ja aber der Trigger hat dann ausgelöst und geprüft ob die Zeit stimmt und ob die Temperatur <23 ist. Wenn die Temperatur dann zB 23,5°C ist, wird die Steckdose nicht ausgeschaltet.
              Wenn die Temperatur <23 wird, schaltet die Steckdose nicht aus, da der Trigger nicht kommt, weil der Druck schon aus ist.

              In deinem Fall schaltet die Steckdose nur in dem Moment aus, wenn Druck wurde beendet UND Temperatur ist <23 UND Zeit ist zwichen x und y.
              Ist eins davon nicht erfüllt, bleibt die Steckdose an.

              Danke für den Hinweis!

              @djmarc75 said in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

              @codierknecht sagte in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

              Du bräuchtest also einen zweiten Trigger, der die (sinkende) Temperatur überwacht und die Steckdose ausschaltet wenn die Temp. unter 23°C sinkt und der Druck beendet ist.

              So würde ich das auch machen:

              Screenshot 2022-12-20 095023.png

              Der Ansatz ist gut, Danke dafür!

              ...ich merke, das ein -bei mir- wiederkehrendes Problem ist, das ich versuche zuviele Aktionen mit einem Trigger zu "erschlagen".

              Ich implementiere das o.g. Blockly auf meine Anforderungen hin und berichte dann hier das Ergebnis!

              N 1 Reply Last reply Reply Quote 0
              • N
                Nordischerjung @devdracon last edited by

                @devdracon Und evtl noch ein CRON um 20 Uhr UND nicht Druck UND Steckdose ist noch an 😀

                devdracon 1 Reply Last reply Reply Quote 0
                • devdracon
                  devdracon @Nordischerjung last edited by

                  @nordischerjung said in Aktion innerhalb eines Zeitraumes nur 1x ausführen:

                  @devdracon Und evtl noch ein CRON um 20 Uhr UND nicht Druck UND Steckdose ist noch an 😀

                  ...warum? Der Cron dann als separater Trigger? Würde der dann -gemäß deiner Definition- nicht den Parameter Temp außen vor lassen? 😕

                  Codierknecht DJMarc75 2 Replies Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @devdracon last edited by

                    @devdracon
                    Das hat ja nix mit dem Trigger zu tun. Zusätzliche Bedingungen wären innerhalb des Trigger natürlich zu prüfen.

                    Wenn ich das richtig interpretiere, willst Du zwischen 20:00 und 05:00 Uhr die Dose für den Drucker komplett ausschalten. Tagsüber soll sie einfach an bleiben.

                    Du bräuchtest 3 Trigger ... naja - eigentlich nur 2, da der Fall "Druck wird beendet und Temperatur ist in diesem Moment bereits < 23°C wohl kaum eintreten wird.

                    • Einen Trigger auf die sinkende Temperatur. Sinkt sie unter 23°C und es ist Nacht, wird die Dose ausgeschaltet.
                    • Einen Trigger auf 20:00 Uhr. Ist die Temperatur um diese Zeit bereits < 23°C, wird ebenfalls die Dose ausgeschaltet.
                      Du musst ja den Fall prüfen, dass der Druck vor 20:00 Uhr beendet wurde und die Temperatur dann unter 23°C sinkt.
                      In diesem Fall wäre ja die Dose an geblieben und soll dann um 20:00 Uhr für die Nacht ausgeschaltet werden.
                    1 Reply Last reply Reply Quote 1
                    • DJMarc75
                      DJMarc75 @devdracon last edited by

                      @devdracon um die Worte von @Codierknecht zu bebildern:

                      Screenshot 2022-12-20 132043.png

                      Der Zeitplan prüft um 20 Uhr ob noch gedruckt wird und wie es mit der Temp aussieht.
                      Wird nicht gedruckt und ist die Temp schon unter 23 Grad dann Dose aus.

                      devdracon 1 Reply Last reply Reply Quote 1
                      • devdracon
                        devdracon @DJMarc75 last edited by

                        @djmarc75 & @Codierknecht Danke für eure Erklärung & Unterstützung!

                        devdracon 1 Reply Last reply Reply Quote 0
                        • devdracon
                          devdracon @devdracon last edited by

                          Das Beispiel von @DJMarc75 liefert das gewünschte Ergebnis; vielen Dank an alle die sich beteiligt haben!

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

                            @devdracon sagte: Das Beispiel von @DJMarc75 liefert das gewünschte Ergebnis

                            Packt man den gemeinsamen Teil in eine Funktion, wird es noch übersichtlicher.

                            Bild_2022-12-21_142826877.png

                            devdracon 1 Reply Last reply Reply Quote 2
                            • devdracon
                              devdracon @paul53 last edited by

                              @paul53 müsste hier nicht auch bei der Zeit auf "nicht zwischen" geprüft um den Tageswechsel zu vermeiden?

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

                                @devdracon sagte: "nicht zwischen" geprüft um den Tageswechsel zu vermeiden?

                                Nein, das betrifft nur Astro-Zeiten.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                756
                                Online

                                32.0k
                                Users

                                80.5k
                                Topics

                                1.3m
                                Posts

                                6
                                21
                                565
                                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