Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Einschaltdauer errechnen und vernünftig Anzeigen

    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

    Einschaltdauer errechnen und vernünftig Anzeigen

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

      Hallo zusammen,
      seit mehreren Tagen versuche ich verzweifelt mit Uhrzeiten zu rechnen. Ich möchte einen Ping auswerten um mir einen Überblick zu schaffen, wie lange einzelne Geräte im Haus an sind. In meinem Beispiel:

      Fernseher geht an, Fernseher wird durch PING erkannt, dann schreibe ich in eine Variable "Startzeit" die aktuelle Uhrzeit (das klappt). Sobald der Fernseher aus geht, erkennt der PING-Adapter dies und ich schreibe in die Variable "Endzeit" die aktuelle Uhrzeit! Nun soll in der Variablen "Dauer", "Dauer" = "Endzeit" - "Startzeit" berechnete werden. Da kommt immer "NaN" heraus.

      Jetzt bin ich hingegangen und berechne alles in Sekunden, dass klappt auch, allerdings bekomme ich den Sekundenwert nicht mehr in ein vernünftiges Format angezeit hh:mm:ss!

      Habt ihr eine Idee wie man sowas berechnen oder Anzeigen kann! Ich wünsch mir doch nur Startzeit: 20:15 Endzeit: 22:10 Dauer = 01:55 h!

      Vielen Dank für Eure Unterstützung!

      Gruß Erich

      paul53 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @baeumerich last edited by paul53

        Zeitdifferenz: Berechnen (Forum-Suche).

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

          @baeumerich sagte:

          Startzeit: 20:15 Endzeit: 22:10 Dauer = 01:55 h!

          Als Javascript-Funktion:

          function timeDiff(start, ende) { // in "hh:mm"
              start = start.split(':');
              start = 60 * parseInt(start[0]) + parseInt(start[1]);
              ende = ende.split(':');
              ende = 60 * parseInt(ende[0]) + parseInt(ende[1]);
              let diff = ende - start;
              if(diff < 0) diff += 1440;
              let hour = Math.floor(diff / 60);
              let min  = diff - 60 * hour;
              if(hour < 10) hour = '0' + hour;
              if(min < 10) min = '0' + min;
              return hour + ':' + min;
          }
          
          B 1 Reply Last reply Reply Quote 0
          • B
            baeumerich @paul53 last edited by

            @paul53 Danke für die Antwort, allerdings kann ich das mit dem Java nicht! Ich erkenne zwar, dass du dort Funktionen definierst, allerdings weiss ich nicht, wie ich diese in Blockly rein bekomme oder sehen kann. Dafür bin ich zu sehr Anfänger! Evtl gibt es ja noch eine Blockly Lösung, diese verstehe ich dann evtl leichter.

            Danke

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

              @baeumerich sagte:

              Evtl gibt es ja noch eine Blockly Lösung

              Klicke mal oben auf den Link Forum-Suche.

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

              Support us

              ioBroker
              Community Adapters
              Donate

              827
              Online

              31.9k
              Users

              80.1k
              Topics

              1.3m
              Posts

              blockly monitoring
              2
              5
              569
              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