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 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
                                        • 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

                                            914
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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