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

                                      808
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

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