Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Online Zeit per TR-064 berechnen und 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

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Kuddel last edited by 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 1 Reply Last reply Reply Quote 0
      • K
        Kuddel @paul53 last edited by

        @paul53 die Onlinezeit in MS habe ich nicht.

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

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

          @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 1 Reply Last reply Reply Quote 0
          • K
            Kuddel @paul53 last edited by

            @paul53 vielen Dank.

            Ich habe zwar nicht die große Ahnung von Java, aber es funtkioniert 🙂

            sigi234 1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @Kuddel last edited by

              @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 1 Reply Last reply Reply Quote 0
              • K
                Kuddel @sigi234 last edited by

                @sigi234

                const idIP = 'tr-064.0.states.externalIP'; 
                const idDauer = 'javascript.0.uptime.online-dorfstrasse'; 
                
                sigi234 1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @Kuddel last edited by

                  @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 1 Reply Last reply Reply Quote 0
                  • K
                    Kuddel @sigi234 last edited by

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

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

                    sigi234 2 Replies Last reply Reply Quote 0
                    • sigi234
                      sigi234 Forum Testing Most Active @Kuddel last edited by

                      @Kuddel

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

                      Screenshot (3330).png

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        Kuddel @sigi234 last edited by

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

                        sigi234 1 Reply Last reply Reply Quote 1
                        • sigi234
                          sigi234 Forum Testing Most Active @Kuddel last edited by

                          @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............

                          1 Reply Last reply Reply Quote 0
                          • sigi234
                            sigi234 Forum Testing Most Active @Kuddel last edited by 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 1 Reply Last reply Reply Quote 0
                            • K
                              Kuddel @sigi234 last edited by

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

                              Negalein 1 Reply Last reply Reply Quote 2
                              • Negalein
                                Negalein Global Moderator @Kuddel last edited by

                                @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);
                                 
                                });
                                
                                sigi234 paul53 2 Replies Last reply Reply Quote 0
                                • sigi234
                                  sigi234 Forum Testing Most Active @Negalein last edited by

                                  @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

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @Negalein last edited by 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

                                    Negalein 1 Reply Last reply Reply Quote 0
                                    • Negalein
                                      Negalein Global Moderator last edited by

                                      Ahhhhhhh, ich ......!

                                      1 Reply Last reply Reply Quote 0
                                      • Negalein
                                        Negalein Global Moderator @paul53 last edited by

                                        @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.

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        824
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        blockly
                                        4
                                        23
                                        3142
                                        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