Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Sommerzeit/Winterzeit in Script abfragen…

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Sommerzeit/Winterzeit in Script abfragen…

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
22 Beiträge 8 Kommentatoren 6.1k Aufrufe 6 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.
  • etvE Offline
    etvE Offline
    etv
    schrieb am zuletzt editiert von
    #1

    Liebe Leute,

    die CCU kennt ja, bzw. hat ja die Funktion DST true oder false…(über die Time Funktionen)

    ...gibt es das in ioBroker/javascript auch irgendwo?

    Im Prinzip kann man es ja auch über ein Programm machen, aber wie programmiere ich den letzten Sonntag im März und im Oktober?

    Grüße

    etv

    …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo,

      das ist eine schöne Aufgabe. Ich bin leider unterwegs und kriege das nicht sofort in Javascript hin.

      Ich würde so vorgehen:

      eine Variable sommerzeit mit setTime() anlegen und sie mit dem 31. März des aktuellen Jahres befüllen ( setMonth(2) und setDate(31) setFullYear(aktuellesJahr) ).

      In einer Schleife solange einen Tag abziehen, bis getDay() 0 ergibt (also Sonntag).

      Analog dazu eine Variable winterzeit für den 31. Oktober ( setMonth(9) und setDate(31) ) anlegen und bis zum Sonntag zurückgehen.

      Dann prüfen, ob das aktuelle Datum vor dem Datum winterzeit und nach dem Datum sommerzeit liegt.

      Wenn ja, dann ist Sommerzeit, wenn nicht ist Winterzeit.

      Ich glaube, das passt noch in meinen geplanten iobroker.dateinfo Adapter 😛

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        simpixo
        schrieb am zuletzt editiert von
        #3

        Du bist der Hammer PIX [emoji1360] immer da und geile Ideen

        Weiter so….

        Gesendet von meinem iPhone mit Tapatalk

        1 Antwort Letzte Antwort
        0
        • etvE Offline
          etvE Offline
          etv
          schrieb am zuletzt editiert von
          #4

          ….wow, das wäre der Hammer wenn ioBrocker die Funktion erhält!!

          Bei uns wechselt nämlich die Müllsammelzentrum Zeit im Sommer und im Winter, eben mit der Zeitumstellung und nachdem ich mir die Infos mit VIS anzeigen lasse, wäre es cool wenn ich das automatisch wechseln lassen könnte. Derzeit stell ich selbst eine Variable auf der CCU händisch um.

          Grüße

          etv

          …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @etv: Im Prinzip kann man es ja auch über ein Programm machen, aber wie programmiere ich den letzten Sonntag im März und im Oktober?

            Dafür gibt es ein https://www.npmjs.com/package/is-it-bst.

            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
            • etvE Offline
              etvE Offline
              etv
              schrieb am zuletzt editiert von
              #6

              @paul53:

              @etv:

              Im Prinzip kann man es ja auch über ein Programm machen, aber wie programmiere ich den letzten Sonntag im März und im Oktober? Dafür gibt es ein [https://www.npmjs.com/package/is-it-bst](https://www.npmjs.com/package/is-it-bst).
              …OK, danke! Wenn ich das installiere kann ich dann die Abfragen in ioBrocker genau so machen wie im Beispiel auf der Seite?

              Dann müsste das Script nur ein paar Tage pro Jahr laufen - eben genau in der Zeit in der die Umstellung zu erwarten ist und wenn sich der Status ändert, dann kann ich meine DST Variable umstellen.

              Grüße

              Tom

              …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @etv:

                Wenn ich das installiere kann ich dann die Abfragen in ioBrocker genau so machen wie im Beispiel auf der Seite? `
                Ja.
                @etv:

                Dann müsste das Script nur ein paar Tage pro Jahr laufen - eben genau in der Zeit in der die Umstellung zu erwarten ist und wenn sich der Status ändert, dann kann ich meine DST Variable umstellen. `
                Das simple Script zum Setzen des State eines Datenpunktes kann auch täglich einmal (z.B. um 4:00 Uhr) laufen.

                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
                • P Offline
                  P Offline
                  pix
                  schrieb am zuletzt editiert von
                  #8

                  Oder per schedule mit (0 4 24-31 3,10 7)

                  Um 4Uhr, jeden Sonntag zwischen 24. und 31. März/Oktober 🙂

                  Pix

                  Gesendet mit Tapatalk

                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @pix:

                    Um 4Uhr, jeden Sonntag zwischen 24. und 31. März/Oktober `
                    Ja, das Script kann dann so aussehen:

                    // Sommerzeit ermitteln
                    var dst = require('is-it-bst');
                    
                    setState("Sommerzeit", dst());  // Script start
                    
                    schedule("0 4 24-31 3,10 7", function() {
                        setState("Sommerzeit", dst());
                    });
                    
                    

                    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
                    • etvE Offline
                      etvE Offline
                      etv
                      schrieb am zuletzt editiert von
                      #10

                      perfekt,danke! Dann werd' ich das kommende Woche implementieren!

                      Danke und schöne Grüße

                      Tom

                      …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        klassisch
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

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

                        F 1 Antwort Letzte Antwort
                        0
                        • K klassisch

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

                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von
                          #12

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

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          K 1 Antwort Letzte Antwort
                          1
                          • F fastfoot

                            @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 Offline
                            K Offline
                            klassisch
                            Most Active
                            schrieb am zuletzt editiert von
                            #13

                            @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 Antwort Letzte Antwort
                            0
                            • K klassisch

                              @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 Offline
                              F Offline
                              fastfoot
                              schrieb am zuletzt editiert von
                              #14

                              @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

                              iobroker läuft unter Docker auf QNAP TS-451+
                              SkriptRecovery: https://forum.iobroker.net/post/930558

                              K 1 Antwort Letzte Antwort
                              1
                              • F fastfoot

                                @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 Offline
                                K Offline
                                klassisch
                                Most Active
                                schrieb am zuletzt editiert von klassisch
                                #15

                                @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 Antwort Letzte Antwort
                                0
                                • Basti97B Offline
                                  Basti97B Offline
                                  Basti97
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #16

                                  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

                                  Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Basti97B Basti97

                                    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

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

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

                                    schedule('1 3 * * 7', function() {
                                        setState(idSommer, new Date().getTimezoneOffset() == -120, true); // MESZ
                                    });
                                    

                                    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

                                    Basti97B 1 Antwort Letzte Antwort
                                    0
                                    • paul53P 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
                                      });
                                      
                                      Basti97B Offline
                                      Basti97B Offline
                                      Basti97
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #18

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

                                      Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • Basti97B Basti97

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

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

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

                                        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

                                        Basti97B A 2 Antworten Letzte Antwort
                                        0
                                        • paul53P 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
                                          });
                                          
                                          Basti97B Offline
                                          Basti97B Offline
                                          Basti97
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #20

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

                                          Iobroker läuft als VM auf Proxmoxserver x folgende Hersteller im Einsatz Sonoff, Gosund, Siemens x Aofo über Tasmota x Zigbee x das Smarthome wächst und wächst

                                          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

                                          760

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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