Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Java: Problem beim Verwalten von Fenster Status

    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

    Java: Problem beim Verwalten von Fenster Status

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

      Hallo zusammen

      habe ein Problem mit Java.
      Folgender Stand:

      1. Skript zur Erstellung der States:
      //Fenster Farbe
      createState('javascript.0.fenster.buero_strasse_farbe', {type: 'string',name: 'Buero_Strasse_Farbe'});
      .... usw
      //Fenster Last Aktion
      createState('javascript.0.fenster.buero_strasse_last', {type: 'string',name: 'Buero_Strasse_Last'});
      ..... usw
      //Fenster geöffnet
      createState('javascript.0.fenster.buero_strasse_offen', {type: 'string',name: 'Buero_Strasse_Offen'});
      .... usw 
      

      für weitere Fenster

      2: Skript mit den Statusabfragen der Fenster

      on({id: 'bshb.0.hdm:HomeMaticIP:3014F711A000009A185904C8.ShutterContact.value'}, function () {
           Window_Open("bshb.0.hdm:HomeMaticIP:3014F711A000009A185904C8.ShutterContact.value",
      		 "javascript.0.fenster.buero_strasse_farbe",
      		 "javascript.0.fenster.buero_strasse_last",
      		 "javascript.0.fenster.buero_strasse_offen");
      });
      ....... usw
      
      function Window_Open(objekt_status, farbe, last, offen) {
          if (getState(objekt_status).val === "OPEN") {
              setState(farbe,"#de3117",true);
              setState(last,formatDate(new Date(), "TT.MM.JJ SS:mm:ss").toString(),true);
          } else {
              setState(farbe,"#2f2d2d",true);
              var startDate = new Date(getState(last).val);
              var endDate = new Date(formatDate(new Date(), "TT.MM.JJ SS:mm:ss"));
              var differenz = Sekundenumwandeln(endDate.getTime() - startDate.getTime());
              setState(offen,differenz,true);
          };
      };
      
      function fuehrendeNull(wert) {
        if (wert < 10) return "0" + parseInt(wert);
        else return parseInt(wert);
      }
      
      function Sekundenumwandeln(Sekundenzahl) {
        Sekundenzahl = Math.abs(Sekundenzahl)
        return fuehrendeNull((Sekundenzahl/60/60)%24) + ":" +
               fuehrendeNull((Sekundenzahl/60)%60) + ":" + fuehrendeNull(Sekundenzahl%60);
      }
      

      Wird ein Fenster geöffnet wird in "last" folgendes Eingetragen: 29.01.21 16:40:06
      Beim Schließen des Fensters wird in "offen" folgendes Eingetragen: NaN:NaN:NaN sollte aber zB: 00:06:12 sein.

      Wo liegt mein Fehler?

      MfG
      Wastl

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

        @langer sagte: habe ein Problem mit Java.

        Nein, mit Javascript.

        @langer sagte: Wo liegt mein Fehler?

        Zeile 15: new Date(datum) kann mit dem Datumsformat "TT.MM.JJ" nichts anfangen. Mit dem Format "YYYY-MM-DD hh:mm:ss" (Zeile 12) sollte es funktionieren. .getTime() liefert keine s, sondern ms.

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

          @paul53

          Herzlichen Dank!!!! Funktioniert.

          MfG
          Wastl

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

            @langer
            Zeilen 16 und 17 und die Funktionen unten sollten sich ersetzen lassen durch:

                    var differenz = formatDate(Date.now() - startDate.getTime(), 'hh:mm:ss');
            

            , wenn das Fenster nicht länger als 24 h offen sein kann.

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

              @paul53

              nochmals Herzlichen Dank, habe es so umgesetzt wie vorgeschlagen!

              MfG
              Wastl

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

              Support us

              ioBroker
              Community Adapters
              Donate

              942
              Online

              31.8k
              Users

              80.0k
              Topics

              1.3m
              Posts

              javascript
              2
              5
              235
              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