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. JavaScript
  5. [gelöst] Online Zeit per TR-064 berechnen und anzeigen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.4k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[gelöst] Online Zeit per TR-064 berechnen und anzeigen

Geplant Angeheftet Gesperrt Verschoben JavaScript
blockly
23 Beiträge 4 Kommentatoren 4.0k Aufrufe 9 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.
  • paul53P paul53

    @Kuddel sagte:

    Zeitstempel der letzte Änderung der Online IP in eine Dauer umrechrechnen

    const idIP = '...'; // Datenpunkt-ID eintragen
    const idDauer = '...'; 
    
    schedule('* * * * *', function() { // jede Minute
       var diff = Date.now() - getState(idIP).lc; // Onlinezeit in ms
       var tage = Math.floor(diff / (1000*60*60*24));
       diff = diff % (1000*60*60*24);
       var std = Math.floor(diff / (1000*60*60));
       diff = diff % (1000*60*60);
       var min = Math.round(diff / (1000*60));
       if(std < 10) std = '0' + std;
       if(min < 10) min = '0' + min;
       setState(idDauer, tage + ' ' + std + ':' + min, true);
    });
    
    K Offline
    K Offline
    Kuddel
    schrieb am zuletzt editiert von
    #7

    @paul53 die Onlinezeit in MS habe ich nicht.

    Zumindest wwüsste ich nicht, wie ich sie aus dem TR-Adapter auslesen kann

    paul53P 1 Antwort Letzte Antwort
    0
    • K Kuddel

      @paul53 die Onlinezeit in MS habe ich nicht.

      Zumindest wwüsste ich nicht, wie ich sie aus dem TR-Adapter auslesen kann

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #8

      @Kuddel sagte:

      die Onlinezeit in MS habe ich nicht.

      Die wird in Zeile 5 als Differenz zwischen aktueller Zeit und dem Zeitpunkt der letzten Änderung der IP-Adresse berechnet.

      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

      K 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @Kuddel sagte:

        die Onlinezeit in MS habe ich nicht.

        Die wird in Zeile 5 als Differenz zwischen aktueller Zeit und dem Zeitpunkt der letzten Änderung der IP-Adresse berechnet.

        K Offline
        K Offline
        Kuddel
        schrieb am zuletzt editiert von
        #9

        @paul53 vielen Dank.

        Ich habe zwar nicht die große Ahnung von Java, aber es funtkioniert :-)

        sigi234S 1 Antwort Letzte Antwort
        0
        • K Kuddel

          @paul53 vielen Dank.

          Ich habe zwar nicht die große Ahnung von Java, aber es funtkioniert :-)

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #10

          @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

          @paul53 vielen Dank.

          Ich habe zwar nicht die große Ahnung von Java, aber es funtkioniert :-)

          Welche DP hast du da eingetragen?

          const idIP = '...'; Datenpunkt-ID eintragen
          const idDauer = '...'; 
          

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          K 1 Antwort Letzte Antwort
          0
          • sigi234S sigi234

            @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

            @paul53 vielen Dank.

            Ich habe zwar nicht die große Ahnung von Java, aber es funtkioniert :-)

            Welche DP hast du da eingetragen?

            const idIP = '...'; Datenpunkt-ID eintragen
            const idDauer = '...'; 
            
            K Offline
            K Offline
            Kuddel
            schrieb am zuletzt editiert von
            #11

            @sigi234

            const idIP = 'tr-064.0.states.externalIP'; 
            const idDauer = 'javascript.0.uptime.online-dorfstrasse'; 
            
            sigi234S 1 Antwort Letzte Antwort
            0
            • K Kuddel

              @sigi234

              const idIP = 'tr-064.0.states.externalIP'; 
              const idDauer = 'javascript.0.uptime.online-dorfstrasse'; 
              
              sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #12

              @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

              javascript.0.uptime.online-dorfstrasse

              Aha............. hast den DP javascript.0.uptime.online-dorfstrasse selbst erstellt.

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              K 1 Antwort Letzte Antwort
              0
              • sigi234S sigi234

                @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                javascript.0.uptime.online-dorfstrasse

                Aha............. hast den DP javascript.0.uptime.online-dorfstrasse selbst erstellt.

                K Offline
                K Offline
                Kuddel
                schrieb am zuletzt editiert von
                #13

                @sigi234 ja den DP habe ich selber erstellt und in meine VIS eingebaut

                667e98f2-38c2-489b-a1b5-06ee87e22bda-grafik.png

                sigi234S 2 Antworten Letzte Antwort
                0
                • K Kuddel

                  @sigi234 ja den DP habe ich selber erstellt und in meine VIS eingebaut

                  667e98f2-38c2-489b-a1b5-06ee87e22bda-grafik.png

                  sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #14

                  @Kuddel

                  Geht bei mir nicht.........

                  Screenshot (3330).png

                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Immer Daten sichern!

                  K 1 Antwort Letzte Antwort
                  0
                  • sigi234S sigi234

                    @Kuddel

                    Geht bei mir nicht.........

                    Screenshot (3330).png

                    K Offline
                    K Offline
                    Kuddel
                    schrieb am zuletzt editiert von
                    #15

                    @sigi234 du musst den Kommentar in zeile 1 hinter dem semikolon entfernen

                    sigi234S 1 Antwort Letzte Antwort
                    1
                    • K Kuddel

                      @sigi234 du musst den Kommentar in zeile 1 hinter dem semikolon entfernen

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #16

                      @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                      @sigi234 du musst den Kommentar in zeile 1 hinter dem semikolon entfernen

                      Oh man.........ich Koffer............

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      1 Antwort Letzte Antwort
                      0
                      • K Kuddel

                        @sigi234 ja den DP habe ich selber erstellt und in meine VIS eingebaut

                        667e98f2-38c2-489b-a1b5-06ee87e22bda-grafik.png

                        sigi234S Online
                        sigi234S Online
                        sigi234
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von sigi234
                        #17

                        @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                        @sigi234 ja den DP habe ich selber erstellt und in meine VIS eingebaut

                        667e98f2-38c2-489b-a1b5-06ee87e22bda-grafik.png

                        Wie hast du Tage in den DP gebracht?

                        Erledigt.........

                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Immer Daten sichern!

                        K 1 Antwort Letzte Antwort
                        0
                        • sigi234S sigi234

                          @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                          @sigi234 ja den DP habe ich selber erstellt und in meine VIS eingebaut

                          667e98f2-38c2-489b-a1b5-06ee87e22bda-grafik.png

                          Wie hast du Tage in den DP gebracht?

                          Erledigt.........

                          K Offline
                          K Offline
                          Kuddel
                          schrieb am zuletzt editiert von
                          #18

                          @sigi234 habe ich im Skript eingebaut

                          const ip_router = 'tr-064.0.states.externalIP'; 
                          const dauer_dorfdstrasse = 'javascript.0.uptime.online-router'; 
                          
                          schedule('* * * * *', function() { // jede Minute
                          
                          //router
                            var diff = Date.now() - getState(ip_router).lc; // Onlinezeit in ms
                            var tage = Math.floor(diff / (1000*60*60*24));
                            diff = diff % (1000*60*60*24);
                            var std = Math.floor(diff / (1000*60*60));
                            diff = diff % (1000*60*60);
                            var min = Math.round(diff / (1000*60));
                            if(std < 10) std = '0' + std;
                            if(min < 10) min = '0' + min;
                            setState(dauer_dorfdstrasse, tage + ' Tage, ' + std + ' Std, ' + min + ' Min', true);
                          
                          });
                          

                          NegaleinN 1 Antwort Letzte Antwort
                          2
                          • K Kuddel

                            @sigi234 habe ich im Skript eingebaut

                            const ip_router = 'tr-064.0.states.externalIP'; 
                            const dauer_dorfdstrasse = 'javascript.0.uptime.online-router'; 
                            
                            schedule('* * * * *', function() { // jede Minute
                            
                            //router
                              var diff = Date.now() - getState(ip_router).lc; // Onlinezeit in ms
                              var tage = Math.floor(diff / (1000*60*60*24));
                              diff = diff % (1000*60*60*24);
                              var std = Math.floor(diff / (1000*60*60));
                              diff = diff % (1000*60*60);
                              var min = Math.round(diff / (1000*60));
                              if(std < 10) std = '0' + std;
                              if(min < 10) min = '0' + min;
                              setState(dauer_dorfdstrasse, tage + ' Tage, ' + std + ' Std, ' + min + ' Min', true);
                            
                            });
                            

                            NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            schrieb am zuletzt editiert von
                            #19

                            @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                            @sigi234 habe ich im Skript eingebaut

                            Ich bekomm folgende Warn im Log.
                            DP wird nicht angelegt.

                            javascript.0	2019-08-26 12:47:00.012	warn	at Timer.listOnTimeout (timers.js:290:5)
                            javascript.0	2019-08-26 12:47:00.011	warn	at tryOnTimeout (timers.js:323:5)
                            javascript.0	2019-08-26 12:47:00.011	warn	at ontimeout (timers.js:498:11)
                            javascript.0	2019-08-26 12:47:00.011	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                            javascript.0	2019-08-26 12:47:00.011	warn	at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                            javascript.0	2019-08-26 12:47:00.011	warn	at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                            javascript.0	2019-08-26 12:47:00.011	warn	at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1191:34)
                            javascript.0	2019-08-26 12:47:00.011	warn	at Object.<anonymous> (script.js.common.Fritz-Onlinezeit:15:3)
                            javascript.0	2019-08-26 12:47:00.011	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20)
                            javascript.0	2019-08-26 12:47:00.011	warn	State "javascript.0.uptime.online-router" not found
                            

                            Script:

                            const ip_router = 'tr-064.0.states.externalIP'; 
                            const Onlinezeit = 'javascript.0.uptime.online-router'; 
                             
                            schedule('* * * * *', function() { // jede Minute
                             
                            //router
                              var diff = Date.now() - getState(ip_router).lc; // Onlinezeit in ms
                              var tage = Math.floor(diff / (1000*60*60*24));
                              diff = diff % (1000*60*60*24);
                              var std = Math.floor(diff / (1000*60*60));
                              diff = diff % (1000*60*60);
                              var min = Math.round(diff / (1000*60));
                              if(std < 10) std = '0' + std;
                              if(min < 10) min = '0' + min;
                              setState(Onlinezeit, tage + ' Tage, ' + std + ' Std, ' + min + ' Min', true);
                             
                            });
                            

                            ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                            ° Node.js Fixer ---> iob nodejs-update
                            ° Fixer ---> iob fix

                            sigi234S paul53P 2 Antworten Letzte Antwort
                            0
                            • NegaleinN Negalein

                              @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                              @sigi234 habe ich im Skript eingebaut

                              Ich bekomm folgende Warn im Log.
                              DP wird nicht angelegt.

                              javascript.0	2019-08-26 12:47:00.012	warn	at Timer.listOnTimeout (timers.js:290:5)
                              javascript.0	2019-08-26 12:47:00.011	warn	at tryOnTimeout (timers.js:323:5)
                              javascript.0	2019-08-26 12:47:00.011	warn	at ontimeout (timers.js:498:11)
                              javascript.0	2019-08-26 12:47:00.011	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                              javascript.0	2019-08-26 12:47:00.011	warn	at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                              javascript.0	2019-08-26 12:47:00.011	warn	at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                              javascript.0	2019-08-26 12:47:00.011	warn	at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1191:34)
                              javascript.0	2019-08-26 12:47:00.011	warn	at Object.<anonymous> (script.js.common.Fritz-Onlinezeit:15:3)
                              javascript.0	2019-08-26 12:47:00.011	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20)
                              javascript.0	2019-08-26 12:47:00.011	warn	State "javascript.0.uptime.online-router" not found
                              

                              Script:

                              const ip_router = 'tr-064.0.states.externalIP'; 
                              const Onlinezeit = 'javascript.0.uptime.online-router'; 
                               
                              schedule('* * * * *', function() { // jede Minute
                               
                              //router
                                var diff = Date.now() - getState(ip_router).lc; // Onlinezeit in ms
                                var tage = Math.floor(diff / (1000*60*60*24));
                                diff = diff % (1000*60*60*24);
                                var std = Math.floor(diff / (1000*60*60));
                                diff = diff % (1000*60*60);
                                var min = Math.round(diff / (1000*60));
                                if(std < 10) std = '0' + std;
                                if(min < 10) min = '0' + min;
                                setState(Onlinezeit, tage + ' Tage, ' + std + ' Std, ' + min + ' Min', true);
                               
                              });
                              
                              sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #20

                              @Negalein sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                              javascript.0.uptime.online-router

                              Du musst den State selbst anlegen!

                              javascript.0.uptime.online-router

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              1 Antwort Letzte Antwort
                              0
                              • NegaleinN Negalein

                                @Kuddel sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                                @sigi234 habe ich im Skript eingebaut

                                Ich bekomm folgende Warn im Log.
                                DP wird nicht angelegt.

                                javascript.0	2019-08-26 12:47:00.012	warn	at Timer.listOnTimeout (timers.js:290:5)
                                javascript.0	2019-08-26 12:47:00.011	warn	at tryOnTimeout (timers.js:323:5)
                                javascript.0	2019-08-26 12:47:00.011	warn	at ontimeout (timers.js:498:11)
                                javascript.0	2019-08-26 12:47:00.011	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
                                javascript.0	2019-08-26 12:47:00.011	warn	at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
                                javascript.0	2019-08-26 12:47:00.011	warn	at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
                                javascript.0	2019-08-26 12:47:00.011	warn	at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1191:34)
                                javascript.0	2019-08-26 12:47:00.011	warn	at Object.<anonymous> (script.js.common.Fritz-Onlinezeit:15:3)
                                javascript.0	2019-08-26 12:47:00.011	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20)
                                javascript.0	2019-08-26 12:47:00.011	warn	State "javascript.0.uptime.online-router" not found
                                

                                Script:

                                const ip_router = 'tr-064.0.states.externalIP'; 
                                const Onlinezeit = 'javascript.0.uptime.online-router'; 
                                 
                                schedule('* * * * *', function() { // jede Minute
                                 
                                //router
                                  var diff = Date.now() - getState(ip_router).lc; // Onlinezeit in ms
                                  var tage = Math.floor(diff / (1000*60*60*24));
                                  diff = diff % (1000*60*60*24);
                                  var std = Math.floor(diff / (1000*60*60));
                                  diff = diff % (1000*60*60);
                                  var min = Math.round(diff / (1000*60));
                                  if(std < 10) std = '0' + std;
                                  if(min < 10) min = '0' + min;
                                  setState(Onlinezeit, tage + ' Tage, ' + std + ' Std, ' + min + ' Min', true);
                                 
                                });
                                
                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #21

                                @Negalein sagte:

                                DP wird nicht angelegt.

                                Ist im Skript auch nicht vorgesehen. Lege ihn manuell im Reiter "Objekte" an: javascript.0 selektieren und Datenpunkt hinzufügen, Name: uptime.online-router, Typ: Zeichenkette

                                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

                                NegaleinN 1 Antwort Letzte Antwort
                                0
                                • NegaleinN Offline
                                  NegaleinN Offline
                                  Negalein
                                  Global Moderator
                                  schrieb am zuletzt editiert von
                                  #22

                                  Ahhhhhhh, ich ......!

                                  ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                  ° Node.js Fixer ---> iob nodejs-update
                                  ° Fixer ---> iob fix

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @Negalein sagte:

                                    DP wird nicht angelegt.

                                    Ist im Skript auch nicht vorgesehen. Lege ihn manuell im Reiter "Objekte" an: javascript.0 selektieren und Datenpunkt hinzufügen, Name: uptime.online-router, Typ: Zeichenkette

                                    NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    schrieb am zuletzt editiert von
                                    #23

                                    @paul53 sagte in [gelöst] Online Zeit per TR-064 berechnen und anzeigen:

                                    @Negalein sagte:

                                    DP wird nicht angelegt.

                                    Ist im Skript auch nicht vorgesehen. Lege ihn manuell im Reiter "Objekte" an: javascript.0 selektieren und Datenpunkt hinzufügen, Name: uptime.online-router, Typ: Zeichenkette

                                    Danke, funktioniert!

                                    Ich seh zwar nur wielange die Fritz mit dem Postrouter verbunden ist, aber das sind die Nachteile wenn mann vom Anbieter keinen vernünftigen Router bekommt und man was gescheites dahinter hängen muss.

                                    ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                    ° Node.js Fixer ---> iob nodejs-update
                                    ° Fixer ---> iob fix

                                    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

                                    717

                                    Online

                                    32.6k

                                    Benutzer

                                    82.0k

                                    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