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 @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
                                          • Negalein
                                            Negalein Global Moderator last edited by

                                            Ahhhhhhh, ich ......!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            634
                                            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