Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Sommerzeit/Winterzeit in Script abfragen…

    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

    Sommerzeit/Winterzeit in Script abfragen…

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      fastfoot @klassisch last edited by

      @klassisch sagte in Sommerzeit/Winterzeit in Script abfragen…:

      Der Thread ist schon einige Jahre alt. Ist dies noch immer die empfohlene Lösung, um herauszubekommen, ob Sommer- oder Winterzeit?

      Was empfohlen wird weiß ich nicht, aber für unsere Region sollte es das auch tun
      let DST = new Date().toString().indexOf('GMT+02') >= 0;

      K 1 Reply Last reply Reply Quote 1
      • K
        klassisch Most Active @fastfoot last edited by

        @fastfoot Vielen Dank! Funktioniert hier und sieht superelegant aus. Eine Zeile mit 2 Gleichheitszeichen. Was es alles gibt.

        Die Syntax habe ich nicht verstanden.

        Die Semantik zielt wohl darauf ab, wie weit wir von GMT bzw. UTC entfernt sind.
        So ein ähnlicher Ansatz wie mit "getTimeZoneOffset". Nur eben so elegant zusammengefaßt, daß gleich ein Bool rauskommt.

        F 1 Reply Last reply Reply Quote 0
        • F
          fastfoot @klassisch last edited by

          @klassisch sagte in Sommerzeit/Winterzeit in Script abfragen…:

          @fastfoot Vielen Dank! Funktioniert hier und sieht superelegant aus. Eine Zeile mit 2 Gleichheitszeichen. Was es alles gibt.

          Die Syntax habe ich nicht verstanden.

          Die Semantik zielt wohl darauf ab, wie weit wir von GMT bzw. UTC entfernt sind.
          So ein ähnlicher Ansatz wie mit "getTimeZoneOffset". Nur eben so elegant zusammengefaßt, daß gleich ein Bool rauskommt.

          Das erste = ist die Zuweisung zu DST, das >= ist ein Vergleich

          • new Date() liefert die jetzt Zeit als Sun Nov 01 2020 16:52:38 GMT+0100 (Mitteleuropäische Normalzeit), ist aber ein Objekt, weshalb es mit

          • toString() in einen String gewandelt wird, den man dann mit

          • indexOf(Suchwert) nach der Position des Offset(GMT+01) durchsuchen kann

          • >= 0 liefert true/false je nachdem ob der Wert gefunden wurde

          K 1 Reply Last reply Reply Quote 1
          • K
            klassisch Most Active @fastfoot last edited by klassisch

            @fastfoot super, vielen Dank für die strukturierte Erklärung. Also hat man das if() eingespart. Wußte gar nicht, daß das geht.

            Edit: es geht sogar in einer Abfrage

            if (new Date().toString().indexOf('GMT+02') >= 0) {}
            
            1 Reply Last reply Reply Quote 0
            • Basti97
              Basti97 Most Active last edited by

              Ich wollte auch nochmal Nachfragen gibt es ein fertiges Script egal ob Java oder Blockly. Wo ein Datenpunkt von false auf true sich ändert sobald Sommer oder Winterzeit ist.
              Danke

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

                @basti97 sagte: Datenpunkt von false auf true sich ändert sobald Sommerzeit

                schedule('1 3 * * 7', function() {
                    setState(idSommer, new Date().getTimezoneOffset() == -120, true); // MESZ
                });
                
                Basti97 1 Reply Last reply Reply Quote 0
                • Basti97
                  Basti97 Most Active @paul53 last edited by

                  @paul53 Ich komme nochmal auf das Script zurück. Kann ich auch den Name des Datenpunktes ändern?

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

                    @basti97 sagte: Kann ich auch den Name des Datenpunktes ändern?

                    Ja. Beispiel:

                    const idSommer = '0_userdata.0.Zeiten.Sommerzeit';
                    
                    schedule('1 3 * * 7', function() {
                        setState(idSommer, new Date().getTimezoneOffset() == -120, true); // MESZ
                    });
                    
                    Basti97 A 2 Replies Last reply Reply Quote 0
                    • Basti97
                      Basti97 Most Active @paul53 last edited by

                      @paul53 Ich habe das Script aktiviert. Und der wechselt so bald Sommerzeit ist auf true und bei Winterzeit wieder auf False.

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

                        @paul53 hallo, sorry falls ich ne dumme frage stellen sollte, aber skripte sind absolutes neuland für mich. habe eine variable unter 0_usredata.0.Zeiten angelegt, aber bei mir wird die variable leider nicht true. funktioniert die umschaltung nur im moment des sommer-/winterzeit-wechsels oder auch mitten drinn?

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

                          @autom sagte: funktioniert die umschaltung nur im moment des sommer-/winterzeit-wechsels oder auch mitten drinn?

                          Beim gezeigten Schedule nur sonntags um 3:01 Uhr.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          608
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          8
                          22
                          5584
                          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