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.
    • 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
                                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            741
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

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