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.
    • K
      Kuddel last edited by Kuddel

      Hallo zusammen,

      per TR-064 Adapter, bekommt man ja den Zeitpunkt ausgewertet, wann sich die Online-IP das letzte Mal geändert hat.

      Da ich Vodafone-Kunde, habe ich keine Zwangstrennung und bekomme erst eine neue IP, wenn der Router durchstartet.

      Ich würde in meiner VIS jetzt gern eine Anzeige hinzufgen: Online seit

      Leider habe ich keine Ahnung, wich den Zeitstempel der letzte Änderung der Online IP in eine Dauer umrechrechnen kann.

      Vllt. hat ja jmd. eine Tip für mich ?

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

        @Kuddel sagte in Online Zeit per TR-064 berechnen und anzeigen:

        Änderung der Online IP in eine Dauer umrechrechnen kann

        Intervall anhaken?

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

          @sigi234 wo genau ?

          Ich kann die gerade nicht folgen ^^^

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

            @Kuddel sagte in Online Zeit per TR-064 berechnen und anzeigen:

            @sigi234 wo genau ?

            Ich kann die gerade nicht folgen ^^^

            ...
            Aha, sehe gerade du willst ja die Dauer, welchen DP hat der?

            Screenshot (3328)_LI.jpg

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

              @sigi234 ah okay, jetzt habe ich es verstanden.

              Leider steht dann ja immer "vor X Tagen"

              Dieses "vor" finde ich ein wenig störend

              1 Reply Last reply Reply Quote 0
              • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            560
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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