Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Einschaltdauer errechnen und vernünftig Anzeigen

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    109

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    152

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    865

Einschaltdauer errechnen und vernünftig Anzeigen

Scheduled Pinned Locked Moved Skripten / Logik
blocklymonitoring
5 Posts 2 Posters 623 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    baeumerich
    wrote on last edited by
    #1

    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

    paul53P 2 Replies Last reply
    0
    • B baeumerich

      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

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      Zeitdifferenz: Berechnen (Forum-Suche).

      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 Reply Last reply
      0
      • B baeumerich

        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

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by paul53
        #3

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

        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

        B 1 Reply Last reply
        0
        • paul53P 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 Offline
          B Offline
          baeumerich
          wrote on last edited by
          #4

          @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

          paul53P 1 Reply Last reply
          0
          • B baeumerich

            @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

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #5

            @baeumerich sagte:

            Evtl gibt es ja noch eine Blockly Lösung

            Klicke mal oben auf den Link Forum-Suche.

            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 Reply Last reply
            0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            516

            Online

            32.8k

            Users

            82.7k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Home
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe