Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Ausführung letzten Tag im Monat um 23:59

    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

    Ausführung letzten Tag im Monat um 23:59

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

      Hallo,
      ich habe ein Problem mit einem Blockly-Script.
      Ich möchte jeden letzten Tag im Monat um 23:59 Uhr eine Aktion ausführen.
      Dies bekomme ich mit dem Wizard nicht hin.
      An jedem 1. im Monat kein Problem, aber da der Monat ja 28, 29 30 oder 31 Tage haben kann
      funktioniert es nicht.
      Ich speichere mir Monatswerte zur weiteren Berechnung aus meinen Zählern ab. Die Zähler geben nur
      die Monatswerte raus. Am 01. um 00:00 Uhr sind die Werte schon wieder 0.
      Es handelt sich bei den Zählern um TP-Link HS110.

      Jemand eine Idee?

      Gruß
      Gregor

      Homoran Asgothian 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @GregorS last edited by Homoran

        @gregors sagte in Ausführung letzten Tag im Monat um 23:59:

        aber da der Monat ja 28, 29 30 oder 31 Tage haben kann
        funktioniert es nicht.

        einfach kurz vor mitternacht auf das Datum ein paar Minuten draufrechnen und sehen ob dann der 01. ist

        Monatsletzter02.png

        Je nachdem wann du fragst muss der Wert größer als 20 Sekunden sein

        GregorS 1 Reply Last reply Reply Quote 0
        • Holger Etzel
          Holger Etzel last edited by

          3 cron´s anlegen
          einmal für alle monate mit 31 Tagen, einmal für alle Monate mit 30 Tagen und einen für den mit 28 tagen.

          Homoran 1 Reply Last reply Reply Quote 0
          • GregorS
            GregorS @Homoran last edited by

            @homoran
            Ich versuche es mal mit deinem Tipp.

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

              @gregors sagte in Ausführung letzten Tag im Monat um 23:59:

              Jemand eine Idee?

              Warum auf die Uhrzeit setzen.

              Voraussetzung: Deine Zähler zählen normalerweise in die gleiche Richtung (nach oben, nach unten)

              Für Zähler die die normalerweise nach oben Zählen:

              Trigger auf "wert ist kleiner als vorher"
              Darin: Abfrage ob neuer wert 0 ist. Wenn ja, dann vorherigen wert nehmen, entsprechend sichern.

              Für Zähler die normalerweise nach unten zählen:
              Trigger auf "wert ist grösser als vorher"
              Darin: Abfrage ob neuer wert 0 ist. Wenn ja, dann vorherigen wert nehmen, entsprechend sichern.

              Das ganze geht nur dann nicht wenn der Wert im Zähler beliebige Werte annehmen kann. Dann muss mit den bisher bereits angebotenen Zeitverfahren gearbeitet werden.

              A.

              Beispiel: Da wo ich das steuere eingebaut hat kann natürlich noch mehr stehen.

              Screen Shot 2021-03-01 at 19.04.03 .png

              GregorS 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Holger Etzel last edited by

                @holger-etzel sagte in Ausführung letzten Tag im Monat um 23:59:

                und einen für den mit 28 tagen.

                der alle 4 Jahre aber 29 Tage hat

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

                  @asgothian

                  Ganz interessanter Ansatz.
                  Werde ihn mal näher betrachten.
                  Ich könnte jede Nacht um 23:59 den Wert speichern, und dann 2 Sek. später auf 0 vergleichen.
                  Ist der Wert größer gleich dem letzten Wert schreibe ich ihn wieder zu 0, ist der neue Wert 0,
                  wird der Wert in dem Speicher abgelegt - Jahreswert.

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

                    @gregors sagte in Ausführung letzten Tag im Monat um 23:59:

                    Ich könnte jede Nacht um 23:59 den Wert speichern, und dann 2 Sek. später auf 0 vergleichen.
                    Ist der Wert größer gleich dem letzten Wert schreibe ich ihn wieder zu 0, ist der neue Wert 0,

                    Musst du gar nicht. Im Trigger hast du jeweils den aktuellen Wert und den vorherigen Wert direkt zur Verfügung. Dazu gibt es im Trigger Bereich diesen Baustein:

                    Screen Shot 2021-03-01 at 19.13.04 .png

                    Den (wo aktuell Objekt ID drin steht) kann man auf "wert", i.e. den aktuellen Wert des DP der den Trigger ausgelöst hat sowie "vorherigen wert", sprich den Wert den der DP hatte bevor der Trigger ausgelöst wurde.

                    A.

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

                      @asgothian
                      Ok. Werde ich versuchen.
                      Danke

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

                        @asgothian

                        Habe es mal mit Deinem Tipp probiert, aber ich komme damit nicht klar.
                        Ich habe die Variable TotalMonth (wird am 01. um 0:00 Uhr wieder auf 0 gesetzt).
                        Nun müsste ich den Wert vor 0:00 Uhr in die Variable Speicher_letzter_Monat speichern.

                        Die Objekt-ID ist Total Month und ausgeführt wird der Trigger bei kleiner als letztes.
                        Woher bekomme ich dann den letzten Wert?
                        Habe ich nicht verstanden.

                        Kannst Du mir mal etwas auf die Sprünge helfen?

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

                          Du musst im Trigger den Baustein nehmen an dem in dem Bild "Objekt ID" steht.

                          Screen Shot 2021-03-05 at 18.37.07 .png

                          Der lässt sich auf "vorherigen Wert" einstellen und beinhaltet den Wert bevor der Trigger ausgelöst hat.

                          Screen Shot 2021-03-05 at 18.38.28 .png

                          A.

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

                            @asgothian

                            Danke.
                            Jetzt habe ich es verstanden

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            712
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            blockly
                            4
                            12
                            269
                            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