Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Mit "new Date()" im Script arbeiten?

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Mit "new Date()" im Script arbeiten?

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

      Hi,

      ich bin noch ganz frisch in der ioBroker Szene.
      Jetzt habe ich ein Script geschrieben wo ich die den aktuellen Tag und Stunde verarbeitete, jetzt kommt es mir so vor das immer mit der Zeit beim Script start gearbeitet wird, und nicht die aktuelle....
      Kann das sein?

      var _timeout;
      var _linksLEDStripe;
      var _rechtsLEDStripe;
      var _isNightLight = IsNightLight();
      var _timeoutTime = _isNightLight ? 22000 /*Abends*/ : 120000 /*Tagsüber*/;
      
      on({ id: new RegExp('zigbee.0.00158d00029a98ab.occupancy' + '|' + 'zigbee.0.00158d00024de713.opened'), change: 'ne' }, function (obj) {
          _linksLEDStripe = getState('zigbee.0.84182600000c6dfd.state').val;
          _rechtsLEDStripe = getState('zigbee.0.84182600000c787d.state').val;
      
          if ((getState('zigbee.0.00158d00024de713.opened').val || getState('zigbee.0.00158d00029a98ab.occupancy').val) && parseInt(getState('zigbee.0.00158d00029a98ab.illuminance').val) <= 40) {
              if (_timeout) {
                  clearTimeout(_timeout);
                  _timeout = null;
              }
      
              if (!_linksLEDStripe && !_isNightLight) {
                  setState('zigbee.0.84182600000c6dfd.state', true);
              }
      
              if (!_rechtsLEDStripe) {
                  setState('zigbee.0.84182600000c787d.state', true);
              }
          }
          else {
              if (_linksLEDStripe || _rechtsLEDStripe) {
                  _timeout = setTimeout(function () {
                      setState('zigbee.0.84182600000c6dfd.state', false);
                      setState('zigbee.0.84182600000c787d.state', false);
                  }, _timeoutTime);
              }
          }
      });
      
      function IsNightLight() {
          var _currentDate = new Date();
          var _weekDay = _currentDate.getDay();
          var _hour = _currentDate.getHours();
      
          // Wochentags
          if (_weekDay != 6 && _weekDay != 0) {
             return (_hour < 7 || _hour >= 21);
          }
          // Wochenende
          else {
              return (_hour < 9 || _hour >= 22);
          }
      }
      
      IdleBit 1 Reply Last reply Reply Quote 0
      • IdleBit
        IdleBit @IdleBit last edited by

        Ach ich Depp 🙂

        habe es gefunden...
        Logisch wenn ich nur bei erstellen die Funktion aufrufe ....
        (Zeile 4)

        Dutchman 1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators @IdleBit last edited by Dutchman

          @IdleBit sagte in Mit "new Date()" im Script arbeiten?:

          Logisch wenn ich nur bei erstellen die Funktion aufrufe ....

          😊 manchmal hilft es Einfach mal laut nach zu denken 🙂

          Aber genau, du lädst die zeit in einer variable beim script starten, mja danach ist sie drin.
          Tip : var ist alte Schreibweise, besser const und let https://medium.com/@josephcardillo/the-difference-between-var-let-and-const-in-javascript-part-2-60fa568d0a0

          Dan harttest du beim deklarieren direct gemerkt, uhm ich mache ne const .... warte mal Zeiten ändern sich doch 😊

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

          Support us

          ioBroker
          Community Adapters
          Donate

          744
          Online

          31.6k
          Users

          79.5k
          Topics

          1.3m
          Posts

          2
          3
          484
          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