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. Astrozeit spinnt - Lampen sind zu früh an

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    827

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Astrozeit spinnt - Lampen sind zu früh an

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
42 Beiträge 6 Kommentatoren 4.1k 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.
  • B Offline
    B Offline
    Bielefelder81
    schrieb am zuletzt editiert von
    #1

    Hi zusammen,

    seit einigen Monaten spinnt mein Skript. Geändert hatte ich eigentlich nichts.
    Um diese Uhrzeit und bei dem hellen Wetter geht das Licht im Flur bereits an.

    //Flur EG
    let lampe1 = 'alias.0.Flur.Licht.Flur1';
    let lampe2 = 'alias.0.Flur.Licht.Flur2';
    let bwm = 'alias.0.Flur.Sensor.Bewegungsmelder.presence';
    let licht_wohnzimmer = 'yeelight-2.0.Yeelight-Stehlampe.control.power';
    let overwrite = '0_userdata.0.Licht.Flur_overwrite';
    
    let von, bis, low_von = '20:30:00';
    
    let timeOut;
    
    von = getState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang').val;
    bis = getState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang').val;
    
    // function checkLightWohnzimmer(){
    //     if(getState(licht_wohnzimmer).val === false){
    //         return true;
    //     }else{
    //         return false;
    //     }
    // }
    
    function checkLightWohnzimmer(){
        if(getState(licht_wohnzimmer).val === false && getState(overwrite).val === false){
            return true;
        }else{
            return false;
        }
    }
    on({id: bwm},
        function(obj){
            if(timeOut){
                clearTimeout(timeOut);
            }
            if(obj.state.val === true && isTimeInRange(von, bis) === true && checkLightWohnzimmer() === true){
                 if(isTimeInRange(low_von, bis) === true){
                    setState(lampe1 + '.level', 5);
                    setState(lampe1 + '.ct', 6530);
                    setState(lampe2 + '.level', 5);
                    setState(lampe2 + '.ct', 6530);
                 }else{
                     setState(lampe1 + '.level', 32);
                     setState(lampe1 + '.ct', 6530);
                     setState(lampe2 + '.level', 32);
                     setState(lampe2 + '.ct', 6530);
                 }
    
                 setState(lampe1 + '.on', true)
                 setState(lampe2 + '.on', true)
                 timeOut = setTimeout(function(){
                    setState(lampe1 + '.on', false);
                    setState(lampe2 + '.on', false);
                    }, 150000)
             }else if(obj.state.val === false){
                setState(lampe1 + '.on', false);
                setState(lampe2 + '.on', false);
            }
        })
    

    mit dem Astrozeit Skript ...

    /* System Tageszeoten
    
    Skript meldet Tageszeiten
    
    Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
    Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
    oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
    
    https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
    
    erstellt: 01.06.2015 von Pix
    18.02.2018 Sonnenaufgang und Sonnenuntergang wird nur noch neu geschrieben
                wenn die bereits gesetzte Zeit sich von der neuen Unterscheidet
    11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
               Astrotag (isAstroDay) eingebaut
    */
    
    /*Variablen erstellen*/
    createState('0_userdata.0.Allgemein.Astro.Tageszeit', {
        name: 'Tageszeit'
    });
    createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang', {
        name: 'nächster Sonnenaufgang Uhrzeit',
        desc: 'sunrise (top edge of the sun appears on the horizon)'
    });
    createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang', {
        name: 'nächster Sonnenuntergang Uhrzeit',
        desc: 'sunset (sun disappears below the horizon, evening civil twilight starts)'
    });
    createState('0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag', false, {
        read: true,
        write: true,
        type: 'boolean',
        name: 'Astologischer Tag',
        desc: 'Zeit zwischen Sonnenauf- und untergang'
    });
    
    let idTageszeit = "0_userdata.0.Allgemein.Astro.Tageszeit",
        tageszeiten = ['Nacht',
                       'Morgendämmerung',
                       'Morgen',
                       'Vormittag',
                       'Mittag',
                       'Nachmittag',
                       'Abenddämmerung',
                       'Abend'],
        idAstrotag =        "0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag",
        idSonnenaufgang =   "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang",
        idSonnenuntergang = "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang";
    
    function zeiten_speichern () {
        let astrotag = getState(idAstrotag).val,
            sonnenaufgang,
            sonnenuntergang;
        let today = new Date();
        let tomorrow = today.setDate(today.getDate()+1);
        if (astrotag) { // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
            sonnenuntergang = getAstroDate('sunset', today),
            sonnenaufgang = getAstroDate('sunrise', tomorrow);
        } else { // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
            sonnenuntergang = getAstroDate('sunset', tomorrow);
            sonnenaufgang = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate('sunrise', tomorrow) :  getAstroDate('sunrise', today); // es ist vor Mitternacht (bzw. vor 23:XXUhr), dann morgen, sonst heute
        }
        if(getState(idSonnenaufgang).val != sonnenaufgang){
            setState(idSonnenaufgang, sonnenaufgang.toLocaleTimeString('de-DE', { hour12: false }));
        }
        
        if(getState(idSonnenuntergang).val != sonnenuntergang){
            setState(idSonnenuntergang, sonnenuntergang.toLocaleTimeString('de-DE', { hour12: false }));
        }
    }
    
    function neue_tageszeit(abschnitt) {
        setState(idTageszeit, tageszeiten[parseInt(abschnitt, 10)]);
        log('neue Tagezeit: ' + tageszeiten[parseInt(abschnitt, 10)], 'info');
        zeiten_speichern();
    }
    
    // Nacht
    schedule({astro: "night", shift: 120}, function () { neue_tageszeit(0) });
    
    // Morgengdämmerung
    schedule({astro: "nightEnd"}, function () { neue_tageszeit(1) });
    
    // Morgen
    schedule({astro: "sunrise"}, function () { neue_tageszeit(2) });
    
    // Vormittag (beginnt 120min vor Sonnenhöchststand)
    schedule({astro: "solarNoon", shift: -120}, function () { neue_tageszeit(3) });
    
    // Mittag
    schedule({astro: "solarNoon"}, function () { neue_tageszeit(4) });
    
    // Nachmittag
    schedule({astro: "solarNoon", shift: 60}, function () { neue_tageszeit(5) });
    
    // Abenddämmerung (nach Sonnenuntergang)
    schedule({astro: "dusk"}, function () { neue_tageszeit(6) });
    
    // Abend
    schedule({astro: "night"}, function () { neue_tageszeit(7) });
    
    // Astrotag checken
    schedule("*/1 * * * *", function () {
       if (isAstroDay) setState(idAstrotag, true);
       if (!isAstroDay) setState(idAstrotag, false);
       zeiten_speichern();
    });
    
    HomoranH 1 Antwort Letzte Antwort
    0
    • B Bielefelder81

      Hi zusammen,

      seit einigen Monaten spinnt mein Skript. Geändert hatte ich eigentlich nichts.
      Um diese Uhrzeit und bei dem hellen Wetter geht das Licht im Flur bereits an.

      //Flur EG
      let lampe1 = 'alias.0.Flur.Licht.Flur1';
      let lampe2 = 'alias.0.Flur.Licht.Flur2';
      let bwm = 'alias.0.Flur.Sensor.Bewegungsmelder.presence';
      let licht_wohnzimmer = 'yeelight-2.0.Yeelight-Stehlampe.control.power';
      let overwrite = '0_userdata.0.Licht.Flur_overwrite';
      
      let von, bis, low_von = '20:30:00';
      
      let timeOut;
      
      von = getState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang').val;
      bis = getState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang').val;
      
      // function checkLightWohnzimmer(){
      //     if(getState(licht_wohnzimmer).val === false){
      //         return true;
      //     }else{
      //         return false;
      //     }
      // }
      
      function checkLightWohnzimmer(){
          if(getState(licht_wohnzimmer).val === false && getState(overwrite).val === false){
              return true;
          }else{
              return false;
          }
      }
      on({id: bwm},
          function(obj){
              if(timeOut){
                  clearTimeout(timeOut);
              }
              if(obj.state.val === true && isTimeInRange(von, bis) === true && checkLightWohnzimmer() === true){
                   if(isTimeInRange(low_von, bis) === true){
                      setState(lampe1 + '.level', 5);
                      setState(lampe1 + '.ct', 6530);
                      setState(lampe2 + '.level', 5);
                      setState(lampe2 + '.ct', 6530);
                   }else{
                       setState(lampe1 + '.level', 32);
                       setState(lampe1 + '.ct', 6530);
                       setState(lampe2 + '.level', 32);
                       setState(lampe2 + '.ct', 6530);
                   }
      
                   setState(lampe1 + '.on', true)
                   setState(lampe2 + '.on', true)
                   timeOut = setTimeout(function(){
                      setState(lampe1 + '.on', false);
                      setState(lampe2 + '.on', false);
                      }, 150000)
               }else if(obj.state.val === false){
                  setState(lampe1 + '.on', false);
                  setState(lampe2 + '.on', false);
              }
          })
      

      mit dem Astrozeit Skript ...

      /* System Tageszeoten
      
      Skript meldet Tageszeiten
      
      Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
      Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
      oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
      
      https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
      
      erstellt: 01.06.2015 von Pix
      18.02.2018 Sonnenaufgang und Sonnenuntergang wird nur noch neu geschrieben
                  wenn die bereits gesetzte Zeit sich von der neuen Unterscheidet
      11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
                 Astrotag (isAstroDay) eingebaut
      */
      
      /*Variablen erstellen*/
      createState('0_userdata.0.Allgemein.Astro.Tageszeit', {
          name: 'Tageszeit'
      });
      createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang', {
          name: 'nächster Sonnenaufgang Uhrzeit',
          desc: 'sunrise (top edge of the sun appears on the horizon)'
      });
      createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang', {
          name: 'nächster Sonnenuntergang Uhrzeit',
          desc: 'sunset (sun disappears below the horizon, evening civil twilight starts)'
      });
      createState('0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag', false, {
          read: true,
          write: true,
          type: 'boolean',
          name: 'Astologischer Tag',
          desc: 'Zeit zwischen Sonnenauf- und untergang'
      });
      
      let idTageszeit = "0_userdata.0.Allgemein.Astro.Tageszeit",
          tageszeiten = ['Nacht',
                         'Morgendämmerung',
                         'Morgen',
                         'Vormittag',
                         'Mittag',
                         'Nachmittag',
                         'Abenddämmerung',
                         'Abend'],
          idAstrotag =        "0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag",
          idSonnenaufgang =   "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang",
          idSonnenuntergang = "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang";
      
      function zeiten_speichern () {
          let astrotag = getState(idAstrotag).val,
              sonnenaufgang,
              sonnenuntergang;
          let today = new Date();
          let tomorrow = today.setDate(today.getDate()+1);
          if (astrotag) { // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
              sonnenuntergang = getAstroDate('sunset', today),
              sonnenaufgang = getAstroDate('sunrise', tomorrow);
          } else { // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
              sonnenuntergang = getAstroDate('sunset', tomorrow);
              sonnenaufgang = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate('sunrise', tomorrow) :  getAstroDate('sunrise', today); // es ist vor Mitternacht (bzw. vor 23:XXUhr), dann morgen, sonst heute
          }
          if(getState(idSonnenaufgang).val != sonnenaufgang){
              setState(idSonnenaufgang, sonnenaufgang.toLocaleTimeString('de-DE', { hour12: false }));
          }
          
          if(getState(idSonnenuntergang).val != sonnenuntergang){
              setState(idSonnenuntergang, sonnenuntergang.toLocaleTimeString('de-DE', { hour12: false }));
          }
      }
      
      function neue_tageszeit(abschnitt) {
          setState(idTageszeit, tageszeiten[parseInt(abschnitt, 10)]);
          log('neue Tagezeit: ' + tageszeiten[parseInt(abschnitt, 10)], 'info');
          zeiten_speichern();
      }
      
      // Nacht
      schedule({astro: "night", shift: 120}, function () { neue_tageszeit(0) });
      
      // Morgengdämmerung
      schedule({astro: "nightEnd"}, function () { neue_tageszeit(1) });
      
      // Morgen
      schedule({astro: "sunrise"}, function () { neue_tageszeit(2) });
      
      // Vormittag (beginnt 120min vor Sonnenhöchststand)
      schedule({astro: "solarNoon", shift: -120}, function () { neue_tageszeit(3) });
      
      // Mittag
      schedule({astro: "solarNoon"}, function () { neue_tageszeit(4) });
      
      // Nachmittag
      schedule({astro: "solarNoon", shift: 60}, function () { neue_tageszeit(5) });
      
      // Abenddämmerung (nach Sonnenuntergang)
      schedule({astro: "dusk"}, function () { neue_tageszeit(6) });
      
      // Abend
      schedule({astro: "night"}, function () { neue_tageszeit(7) });
      
      // Astrotag checken
      schedule("*/1 * * * *", function () {
         if (isAstroDay) setState(idAstrotag, true);
         if (!isAstroDay) setState(idAstrotag, false);
         zeiten_speichern();
      });
      
      HomoranH Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @bielefelder81 was sagt die Systemzeit?

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      B 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @bielefelder81 was sagt die Systemzeit?

        B Offline
        B Offline
        Bielefelder81
        schrieb am zuletzt editiert von Bielefelder81
        #3

        @homoran Hi, der ioBroker zeigt unter "Info" folgendes an.
        0c4dff98-e79d-4106-885f-2d6c4329ec01-image.png

        HomoranH 1 Antwort Letzte Antwort
        0
        • B Bielefelder81

          @homoran Hi, der ioBroker zeigt unter "Info" folgendes an.
          0c4dff98-e79d-4106-885f-2d6c4329ec01-image.png

          HomoranH Offline
          HomoranH Offline
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

          @homoran Hi, der ioBroker zeigt unter "Info" folgendes an0c4dff98-e79d-4106-885f-2d6c4329ec01-image.png

          das ist nicht die Systemzeit des Servers, sondern die Zeit deines PCs

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          B 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

            @homoran Hi, der ioBroker zeigt unter "Info" folgendes an0c4dff98-e79d-4106-885f-2d6c4329ec01-image.png

            das ist nicht die Systemzeit des Servers, sondern die Zeit deines PCs

            B Offline
            B Offline
            Bielefelder81
            schrieb am zuletzt editiert von
            #5

            @homoran 1729762b-4c66-4ce0-a1bc-fb9c573f5041-image.png

            Thomas BraunT B 2 Antworten Letzte Antwort
            0
            • B Bielefelder81

              @homoran 1729762b-4c66-4ce0-a1bc-fb9c573f5041-image.png

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              schrieb am zuletzt editiert von
              #6

              @bielefelder81

              timedatectl
              

              Und das ganze nicht als root und Konsolentext nicht als Screenshot sondern als Text in CodeTags.

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              B 1 Antwort Letzte Antwort
              0
              • B Bielefelder81

                @homoran 1729762b-4c66-4ce0-a1bc-fb9c573f5041-image.png

                B Offline
                B Offline
                Bielefelder81
                schrieb am zuletzt editiert von
                #7

                Laut Datenpunkt in den Objekten steht Tageszeit "Nachmittag" und trotzdem ist das Licht schon an.
                Eigentlich müsste dort doch mindestens Abenddämmerung oder so etwas stehen.
                5b48ee66-7ac6-4c28-858d-4af25bd46f0f-image.png

                1 Antwort Letzte Antwort
                0
                • Thomas BraunT Thomas Braun

                  @bielefelder81

                  timedatectl
                  

                  Und das ganze nicht als root und Konsolentext nicht als Screenshot sondern als Text in CodeTags.

                  B Offline
                  B Offline
                  Bielefelder81
                  schrieb am zuletzt editiert von
                  #8

                  @thomas-braun

                                 Local time: Mon 2023-06-05 20:53:02 CEST
                             Universal time: Mon 2023-06-05 18:53:02 UTC 
                                   RTC time: n/a                         
                                  Time zone: Europe/Berlin (CEST, +0200) 
                  System clock synchronized: yes                         
                                NTP service: inactive                    
                            RTC in local TZ: no      
                  
                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • B Bielefelder81

                    @thomas-braun

                                   Local time: Mon 2023-06-05 20:53:02 CEST
                               Universal time: Mon 2023-06-05 18:53:02 UTC 
                                     RTC time: n/a                         
                                    Time zone: Europe/Berlin (CEST, +0200) 
                    System clock synchronized: yes                         
                                  NTP service: inactive                    
                              RTC in local TZ: no      
                    
                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von Thomas Braun
                    #9

                    @bielefelder81

                    Wo kommt der Inhalt von

                    0_userdata.0.Allgemein.Astro.Tageszeit.
                    

                    her?

                    Vergiss die Frage...
                    Hab geschnallt.

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • Thomas BraunT Thomas Braun

                      @bielefelder81

                      Wo kommt der Inhalt von

                      0_userdata.0.Allgemein.Astro.Tageszeit.
                      

                      her?

                      Vergiss die Frage...
                      Hab geschnallt.

                      HomoranH Offline
                      HomoranH Offline
                      Homoran
                      Global Moderator Administrators
                      schrieb am zuletzt editiert von
                      #10

                      @thomas-braun sagte in Astrozeit spinnt - Lampen sind zu früh an:

                      Wo kommt der Inhalt von

                      @Bielefelder81
                      und wieso steht im Ordner ein Wert?
                      ...weil der Ordner in Wirklichkeit ein State ist... zählt nicht als Antwort.

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      B 1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @thomas-braun sagte in Astrozeit spinnt - Lampen sind zu früh an:

                        Wo kommt der Inhalt von

                        @Bielefelder81
                        und wieso steht im Ordner ein Wert?
                        ...weil der Ordner in Wirklichkeit ein State ist... zählt nicht als Antwort.

                        B Offline
                        B Offline
                        Bielefelder81
                        schrieb am zuletzt editiert von Bielefelder81
                        #11

                        @homoran Sry, aber ich bin da nicht so firms. Mir hatte man mal die beiden Skripte vor x Jahren mal gegeben und bis vor einigen Wochen funktionierte auch alles.
                        Laut kleinem Info Fenster wurde heute um 14:25 Uhr der Wert zuletzt aktualisiert.

                        B 1 Antwort Letzte Antwort
                        0
                        • B Bielefelder81

                          @homoran Sry, aber ich bin da nicht so firms. Mir hatte man mal die beiden Skripte vor x Jahren mal gegeben und bis vor einigen Wochen funktionierte auch alles.
                          Laut kleinem Info Fenster wurde heute um 14:25 Uhr der Wert zuletzt aktualisiert.

                          B Offline
                          B Offline
                          Bielefelder81
                          schrieb am zuletzt editiert von
                          #12

                          Das Skript hatte ich oben ja gepostet. Es ist unter Skripte > common > Astrozeit
                          Dort zieht er sich ja anscheinend die Tageszeit und trägt sie dort in den Ordner ein. Vermute ich.

                          /* System Tageszeoten
                          
                          Skript meldet Tageszeiten
                          
                          Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
                          Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
                          oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
                          
                          https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
                          
                          erstellt: 01.06.2015 von Pix
                          18.02.2018 Sonnenaufgang und Sonnenuntergang wird nur noch neu geschrieben
                                      wenn die bereits gesetzte Zeit sich von der neuen Unterscheidet
                          11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
                                     Astrotag (isAstroDay) eingebaut
                          */
                          
                          /*Variablen erstellen*/
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit', {
                              name: 'Tageszeit'
                          });
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang', {
                              name: 'nächster Sonnenaufgang Uhrzeit',
                              desc: 'sunrise (top edge of the sun appears on the horizon)'
                          });
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang', {
                              name: 'nächster Sonnenuntergang Uhrzeit',
                              desc: 'sunset (sun disappears below the horizon, evening civil twilight starts)'
                          });
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag', false, {
                              read: true,
                              write: true,
                              type: 'boolean',
                              name: 'Astologischer Tag',
                              desc: 'Zeit zwischen Sonnenauf- und untergang'
                          });
                          
                          let idTageszeit = "0_userdata.0.Allgemein.Astro.Tageszeit",
                              tageszeiten = ['Nacht',
                                             'Morgendämmerung',
                                             'Morgen',
                                             'Vormittag',
                                             'Mittag',
                                             'Nachmittag',
                                             'Abenddämmerung',
                                             'Abend'],
                              idAstrotag =        "0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag",
                              idSonnenaufgang =   "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang",
                              idSonnenuntergang = "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang";
                          
                          
                          function zeiten_speichern () {
                              let astrotag = getState(idAstrotag).val,
                                  sonnenaufgang,
                                  sonnenuntergang;
                              let today = new Date();
                              let tomorrow = today.setDate(today.getDate()+1);
                              if (astrotag) { // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
                                  sonnenuntergang = getAstroDate('sunset', today),
                                  sonnenaufgang = getAstroDate('sunrise', tomorrow);
                              } else { // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                                  sonnenuntergang = getAstroDate('sunset', tomorrow);
                                  sonnenaufgang = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate('sunrise', tomorrow) :  getAstroDate('sunrise', today); // es ist vor Mitternacht (bzw. vor 23:XXUhr), dann morgen, sonst heute
                              }
                              if(getState(idSonnenaufgang).val != sonnenaufgang){
                                  setState(idSonnenaufgang, sonnenaufgang.toLocaleTimeString('de-DE', { hour12: false }));
                              }
                              
                              if(getState(idSonnenuntergang).val != sonnenuntergang){
                                  setState(idSonnenuntergang, sonnenuntergang.toLocaleTimeString('de-DE', { hour12: false }));
                              }
                          }
                          
                          
                          function neue_tageszeit(abschnitt) {
                              setState(idTageszeit, tageszeiten[parseInt(abschnitt, 10)]);
                              log('neue Tagezeit: ' + tageszeiten[parseInt(abschnitt, 10)], 'info');
                              zeiten_speichern();
                          }
                          
                          
                          // Nacht
                          schedule({astro: "night", shift: 120}, function () { neue_tageszeit(0) });
                          
                          // Morgengdämmerung
                          schedule({astro: "nightEnd"}, function () { neue_tageszeit(1) });
                          
                          // Morgen
                          schedule({astro: "sunrise"}, function () { neue_tageszeit(2) });
                          
                          // Vormittag (beginnt 120min vor Sonnenhöchststand)
                          schedule({astro: "solarNoon", shift: -120}, function () { neue_tageszeit(3) });
                          
                          // Mittag
                          schedule({astro: "solarNoon"}, function () { neue_tageszeit(4) });
                          
                          // Nachmittag
                          schedule({astro: "solarNoon", shift: 60}, function () { neue_tageszeit(5) });
                          
                          // Abenddämmerung (nach Sonnenuntergang)
                          schedule({astro: "dusk"}, function () { neue_tageszeit(6) });
                          
                          // Abend
                          schedule({astro: "night"}, function () { neue_tageszeit(7) });
                          
                          // Astrotag checken
                          schedule("*/1 * * * *", function () {
                             if (isAstroDay) setState(idAstrotag, true);
                             if (!isAstroDay) setState(idAstrotag, false);
                             zeiten_speichern();
                          });
                          
                          HomoranH bahnuhrB 2 Antworten Letzte Antwort
                          0
                          • B Bielefelder81

                            Das Skript hatte ich oben ja gepostet. Es ist unter Skripte > common > Astrozeit
                            Dort zieht er sich ja anscheinend die Tageszeit und trägt sie dort in den Ordner ein. Vermute ich.

                            /* System Tageszeoten
                            
                            Skript meldet Tageszeiten
                            
                            Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
                            Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
                            oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
                            
                            https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
                            
                            erstellt: 01.06.2015 von Pix
                            18.02.2018 Sonnenaufgang und Sonnenuntergang wird nur noch neu geschrieben
                                        wenn die bereits gesetzte Zeit sich von der neuen Unterscheidet
                            11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
                                       Astrotag (isAstroDay) eingebaut
                            */
                            
                            /*Variablen erstellen*/
                            createState('0_userdata.0.Allgemein.Astro.Tageszeit', {
                                name: 'Tageszeit'
                            });
                            createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang', {
                                name: 'nächster Sonnenaufgang Uhrzeit',
                                desc: 'sunrise (top edge of the sun appears on the horizon)'
                            });
                            createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang', {
                                name: 'nächster Sonnenuntergang Uhrzeit',
                                desc: 'sunset (sun disappears below the horizon, evening civil twilight starts)'
                            });
                            createState('0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag', false, {
                                read: true,
                                write: true,
                                type: 'boolean',
                                name: 'Astologischer Tag',
                                desc: 'Zeit zwischen Sonnenauf- und untergang'
                            });
                            
                            let idTageszeit = "0_userdata.0.Allgemein.Astro.Tageszeit",
                                tageszeiten = ['Nacht',
                                               'Morgendämmerung',
                                               'Morgen',
                                               'Vormittag',
                                               'Mittag',
                                               'Nachmittag',
                                               'Abenddämmerung',
                                               'Abend'],
                                idAstrotag =        "0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag",
                                idSonnenaufgang =   "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang",
                                idSonnenuntergang = "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang";
                            
                            
                            function zeiten_speichern () {
                                let astrotag = getState(idAstrotag).val,
                                    sonnenaufgang,
                                    sonnenuntergang;
                                let today = new Date();
                                let tomorrow = today.setDate(today.getDate()+1);
                                if (astrotag) { // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
                                    sonnenuntergang = getAstroDate('sunset', today),
                                    sonnenaufgang = getAstroDate('sunrise', tomorrow);
                                } else { // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                                    sonnenuntergang = getAstroDate('sunset', tomorrow);
                                    sonnenaufgang = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate('sunrise', tomorrow) :  getAstroDate('sunrise', today); // es ist vor Mitternacht (bzw. vor 23:XXUhr), dann morgen, sonst heute
                                }
                                if(getState(idSonnenaufgang).val != sonnenaufgang){
                                    setState(idSonnenaufgang, sonnenaufgang.toLocaleTimeString('de-DE', { hour12: false }));
                                }
                                
                                if(getState(idSonnenuntergang).val != sonnenuntergang){
                                    setState(idSonnenuntergang, sonnenuntergang.toLocaleTimeString('de-DE', { hour12: false }));
                                }
                            }
                            
                            
                            function neue_tageszeit(abschnitt) {
                                setState(idTageszeit, tageszeiten[parseInt(abschnitt, 10)]);
                                log('neue Tagezeit: ' + tageszeiten[parseInt(abschnitt, 10)], 'info');
                                zeiten_speichern();
                            }
                            
                            
                            // Nacht
                            schedule({astro: "night", shift: 120}, function () { neue_tageszeit(0) });
                            
                            // Morgengdämmerung
                            schedule({astro: "nightEnd"}, function () { neue_tageszeit(1) });
                            
                            // Morgen
                            schedule({astro: "sunrise"}, function () { neue_tageszeit(2) });
                            
                            // Vormittag (beginnt 120min vor Sonnenhöchststand)
                            schedule({astro: "solarNoon", shift: -120}, function () { neue_tageszeit(3) });
                            
                            // Mittag
                            schedule({astro: "solarNoon"}, function () { neue_tageszeit(4) });
                            
                            // Nachmittag
                            schedule({astro: "solarNoon", shift: 60}, function () { neue_tageszeit(5) });
                            
                            // Abenddämmerung (nach Sonnenuntergang)
                            schedule({astro: "dusk"}, function () { neue_tageszeit(6) });
                            
                            // Abend
                            schedule({astro: "night"}, function () { neue_tageszeit(7) });
                            
                            // Astrotag checken
                            schedule("*/1 * * * *", function () {
                               if (isAstroDay) setState(idAstrotag, true);
                               if (!isAstroDay) setState(idAstrotag, false);
                               zeiten_speichern();
                            });
                            
                            HomoranH Offline
                            HomoranH Offline
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #13

                            @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                            Vermute ich.

                            ich auch, ich kann aber kein js :-(

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            B 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                              Vermute ich.

                              ich auch, ich kann aber kein js :-(

                              B Offline
                              B Offline
                              Bielefelder81
                              schrieb am zuletzt editiert von
                              #14

                              @homoran Hast du eine andere Möglichkeit für mich? ;) Dann nehme ich die gern, damit die Lampe endlich nur im Dunkeln angeht ;)

                              Thomas BraunT HomoranH 2 Antworten Letzte Antwort
                              0
                              • B Bielefelder81

                                @homoran Hast du eine andere Möglichkeit für mich? ;) Dann nehme ich die gern, damit die Lampe endlich nur im Dunkeln angeht ;)

                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                schrieb am zuletzt editiert von
                                #15

                                @bielefelder81

                                Ich nutze dafür den 'followthesun'-Adapter.
                                Und einen user-Account, nicht den root.

                                Linux-Werkzeugkasten:
                                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                NodeJS Fixer Skript:
                                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                B 1 Antwort Letzte Antwort
                                0
                                • B Bielefelder81

                                  @homoran Hast du eine andere Möglichkeit für mich? ;) Dann nehme ich die gern, damit die Lampe endlich nur im Dunkeln angeht ;)

                                  HomoranH Offline
                                  HomoranH Offline
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von Homoran
                                  #16

                                  @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                  Hast du eine andere Möglichkeit für mich

                                  nee, Systemzeit ist die häufigste Ursache, aber die passt ja.

                                  @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                  heute um 14:25 Uhr der Wert zuletzt aktualisiert.

                                  auf nachmittag.
                                  das passt ja.

                                  @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                  astro: "solarNoon", shift: 60

                                  das nächste wäre

                                  @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                  Abenddämmerung (nach Sonnenuntergang)

                                  das kommt in Bielefeld ungefähr jetzt

                                  der Fehler mit dem Licht muss also woanders liegen

                                  edit: Sonnenuntergang in Bielefeld heute ca. 21:40

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  B 1 Antwort Letzte Antwort
                                  0
                                  • HomoranH Homoran

                                    @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                    Hast du eine andere Möglichkeit für mich

                                    nee, Systemzeit ist die häufigste Ursache, aber die passt ja.

                                    @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                    heute um 14:25 Uhr der Wert zuletzt aktualisiert.

                                    auf nachmittag.
                                    das passt ja.

                                    @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                    astro: "solarNoon", shift: 60

                                    das nächste wäre

                                    @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                    Abenddämmerung (nach Sonnenuntergang)

                                    das kommt in Bielefeld ungefähr jetzt

                                    der Fehler mit dem Licht muss also woanders liegen

                                    edit: Sonnenuntergang in Bielefeld heute ca. 21:40

                                    B Offline
                                    B Offline
                                    Bielefelder81
                                    schrieb am zuletzt editiert von
                                    #17

                                    @homoran Oh :-( Dann weiß ich nicht. Wann exakt die Lampen angehen weiß ich nicht. Glaube aber, dass es schon bereits vor 18 Uhr angeht, obwohl es deutlich zu hell für Licht im Flur ist. "Früher" funktionierte das.

                                    HomoranH 1 Antwort Letzte Antwort
                                    0
                                    • Thomas BraunT Thomas Braun

                                      @bielefelder81

                                      Ich nutze dafür den 'followthesun'-Adapter.
                                      Und einen user-Account, nicht den root.

                                      B Offline
                                      B Offline
                                      Bielefelder81
                                      schrieb am zuletzt editiert von
                                      #18

                                      @thomas-braun Den Root hatte ich eben nur in der Konsole auf Proxmox angemeldet, um nach der Uhrzeit zu schauen.

                                      1 Antwort Letzte Antwort
                                      0
                                      • B Bielefelder81

                                        @homoran Oh :-( Dann weiß ich nicht. Wann exakt die Lampen angehen weiß ich nicht. Glaube aber, dass es schon bereits vor 18 Uhr angeht, obwohl es deutlich zu hell für Licht im Flur ist. "Früher" funktionierte das.

                                        HomoranH Offline
                                        HomoranH Offline
                                        Homoran
                                        Global Moderator Administrators
                                        schrieb am zuletzt editiert von
                                        #19

                                        @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                        Wann exakt die Lampen angehen weiß ich nicht.

                                        laut Skript fix um

                                        @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                        let von, bis, low_von = '20:30:00';

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        B 1 Antwort Letzte Antwort
                                        0
                                        • HomoranH Homoran

                                          @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                          Wann exakt die Lampen angehen weiß ich nicht.

                                          laut Skript fix um

                                          @bielefelder81 sagte in Astrozeit spinnt - Lampen sind zu früh an:

                                          let von, bis, low_von = '20:30:00';

                                          B Offline
                                          B Offline
                                          Bielefelder81
                                          schrieb am zuletzt editiert von Bielefelder81
                                          #20

                                          @homoran Nee ab 20:30 Uhr soll es "dunkler" beleuchtet sein... Denn das Licht im Flur sieht man im Kinderzimmer. Vor 20:30 Uhr kann das Flurlicht ruhig auf 100% sein. So war es eigentlich geplant.
                                          Das Skript checkt: Licht im Wohnzimmer an, ja nein? Wenn ja, dann kein Licht an. Wenn nein, dann geht das Flurlicht an (Wenn nach 20:30 Uhr dann nur 30% oder so)

                                          HomoranH 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

                                          416

                                          Online

                                          32.6k

                                          Benutzer

                                          81.9k

                                          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