Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. RPI-Monitor - Uptime Format ändern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    RPI-Monitor - Uptime Format ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • 0
      0018 last edited by

      Hallo zusammen,

      ich möchte gerne die Uptime von meinem Raspi3, auf dem ich ioBroker installiert habe, in Vis darstellen.

      Habe dazu den Adapter "RPI-Monitor" Version 0.2.1 installiert.

      Wie kann ich die Uptime "rpi2.0.uptime.uptime" in einem schönen Format darstellen?

      Der Wert liefert mir die Sekunden, hätte aber gerne die Darstellung in "Tage, Stunden, Minuten".

      Hab leider hierzu nichts passendes gefunden….

      Danke!

      1 Reply Last reply Reply Quote 0
      • Jeeper.at
        Jeeper.at last edited by

        Nun, als Vorschlag könntest du den History Adapter benutzen. (Wahlweise SQL oder Influx). Der speichert die Datenpunkte. Diese kannst du dann mittels FLOT Diagramm visualisieren.

        Beispiel eines Temperaturdiagrammes von mir.

        Lg

        Günther

        ![](</s><URL url=)<link_text text="http://uploads.tapatalk-cdn.com/2016111 ... 576794.png">http://uploads.tapatalk-cdn.com/20161110/47e0206284c079271fa39c5b17576794.png</link_text>" />

        1 Reply Last reply Reply Quote 0
        • 0
          0018 last edited by

          Ganz so ausführlich wollte ich es eigentlich nicht.

          Habe eine kleine Statusübersicht des RPI Montors gebastelt, welche die Werte als Text ausgibt.

          Bei der Uptime sollte dann z.B. so etwas herauskommen:

          Raspi aktiv seit: 2 Tagen 7 Stunden 18 Minuten

          Aktuell habe ich es halt nur so:

          Raspi aktiv seit: 199080 Sekunden

          und das ist leider zu unübersichtlich.

          1 Reply Last reply Reply Quote 0
          • Jeeper.at
            Jeeper.at last edited by

            Alles klar, dann wirst du um ein kleines Script wohl nicht herumkommen.

            Folgendes habe ich gefunden.

            function umwandeln()
            {
            var tag,std,min,sek;
            var c=60;
            var d=24;
              {
              sek = parseInt(Sekunden_start.value);
              min = Math.floor(sek/c); 
              sek = sek % c;
              std = Math.floor(min/c);
              min = min % c;
              tag = Math.floor(std/d);
              std = std % d;
              sekunden.value = sek;
              minuten.value  = min;
              stunden.value  = std;
              tage.value     = tag;
              }
            }
            

            In sekunden_start steht der Ausgangswert.

            In sekunden, minuten, stunden, tage das Ergebnis.

            Leider stehe ich erst ganz am Anfang mit Javascript. Ich bin mir sicher, da fehlt noch etwas um es vollständig lauffähig zu bekommen. Aber der prinzipielle Mechanismus zum Umrechnen ist vorhanden.

            1 Reply Last reply Reply Quote 0
            • 0
              0018 last edited by

              Habs mal probiert….

              bekomme die Fehlermeldung "javascript.0 script.js.common.Skript2 compile failed: SyntaxError: missing ) after argument list"

              Hab leider keine Ahnung von Javascript, daher etwas hilflos :?

              Jemand eine Lösung?

              1 Reply Last reply Reply Quote 0
              • M
                masterki last edited by

                Ich hab da mal was gebastelt ich denke das funktioniert, schön ist es bestimmt nicht ist aber auch mein erster Versuch :oops:

                `var pfad = "Raspiobroker.Uptime.";
                var zeiten = ['tag','std','min','sek'];
                var format = ['tage','stunden','minuten','sekunden'];
                var tag,std,min,sek; 
                var x = getState("rpi2.0.uptime.uptime").val;
                
                function umwandeln(x)
                {
                var c=60;
                var d=24;
                  {
                  sek = x;
                  min = Math.floor(sek/c); 
                  sek = sek % c;
                  std = Math.floor(min/c);
                  min = min % c;
                  tag = Math.floor(std/d);
                  std = std % d;
                  /*sekunden.value = sek;
                  minuten.value  = min;
                  stunden.value  = std;
                  tage.value     = tag;*/
                for(var i=0;i<format.length;i++) {/createstate(pfad/+/format[i].tolowercase(),0,/name:/'raspiobroker/uptime/in/'/format[i],/desc:/'uptime/für/raspiobroker/zeiten[i],/type:/'value'});/setstate(pfad/'tage'.tolowercase(),tag);/'stunden'.tolowercase(),std);/'minuten'.tolowercase(),min);/'sekunden'.tolowercase(),sek);/}/umwandeln(x);/<e=""></format.length;i++)>`
                 ![2834_rpimon.png](/assets/uploads/files/2834_rpimon.png) [/i][/i][/i]
                
                1 Reply Last reply Reply Quote 0
                • Webranger
                  Webranger last edited by

                  @0018:

                  Habs mal probiert….

                  bekomme die Fehlermeldung "javascript.0 script.js.common.Skript2 compile failed: SyntaxError: missing ) after argument list"

                  Hab leider keine Ahnung von Javascript, daher etwas hilflos :?

                  Jemand eine Lösung? `

                  Hast du es hin bekommen? Steh jetzt vor dem selben problem wie Du.

                  Mir würden ja sogar die Tage reichen 😉 Online seit xxx Tagen

                  Gruss Danyel

                  1 Reply Last reply Reply Quote 0
                  • arteck
                    arteck Developer Most Active last edited by

                    nimm doch das skriot von masterki die funktion kannst du ehh nicht nur so nutzen.. die muss noch aufgferufen werden

                    1 Reply Last reply Reply Quote 0
                    • 0
                      0018 last edited by

                      @ringdingringding:

                      Hast du es hin bekommen? Steh jetzt vor dem selben problem wie Du. `

                      Ne ich hab's es anders gelöst. Hab auf dem Pi ein Script laufen welches mir regelmäßig Daten in ioBroker States schreibt und habe dafür den RPi-Monitor deinstalliert.

                      Mfg

                      Gesendet von meinem SM-G920F mit Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        @ringdingringding:

                        Mir würden ja sogar die Tage reichen Online seit xxx Tagen `
                        144_screenshot_20170703-083133.jpg
                        Ich habe den Wert im Widget einfach durch 86.400 dividiert und auf eine Kommastelle angezeigt.

                        Gruß

                        Rainer

                        1 Reply Last reply Reply Quote 0
                        • Webranger
                          Webranger last edited by

                          Wo muss ich das mit dem dividieren eintragen? Hab das gestern nicht gefunden.

                          Danke und gruss

                          1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators last edited by

                            Habe jetzt keinen zugriff auf meine Installation.

                            kannst du mal einen screenshot der Konfigation des Widgets (ich meine ich hätte val basic) posten.

                            Sonst müssen wir das auf heute abend vertagen.

                            Gruß

                            Rainer

                            1 Reply Last reply Reply Quote 0
                            • Webranger
                              Webranger last edited by

                              Heute abend reicht

                              Bin auch auf Arbeit

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators last edited by

                                Hier:
                                144_uptime_sec.jpg
                                Widget: basic number

                                Datenpunkt: Uptime

                                Konfiguration: erweiterte Einstellungen

                                Gruß

                                Rainer

                                1 Reply Last reply Reply Quote 0
                                • Webranger
                                  Webranger last edited by

                                  Danke Rainer das hat geklappt.

                                  Aber wie kommt man auf 1.157407407407407e-5????????

                                  Was ist das?

                                  Kannst Du mir das erklären für später mal wenn ich es brauche für irgendwas!?

                                  Gruss Danyel

                                  1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators last edited by

                                    @ringdingringding:

                                    Aber wie kommt man auf 1.157407407407407e-5????????

                                    Was ist das? `
                                    Das ist 1/86400 😉

                                    Man kann den Wert nicht durch 86400 teilen um aus eben so vielen Sekunden einen Tag zu errechnen, dann muss man ihn halt mit dem Kehrwert multiplizieren = 0,00001157407407407 oder in Exponentialschreibweise 1.157407407407407e-5

                                    Gruß

                                    Rainer

                                    1 Reply Last reply Reply Quote 0
                                    • Webranger
                                      Webranger last edited by

                                      Dankööö

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        schittl last edited by

                                        Für alle die es interessiert und ein anderes Format haben möchten (z.B. 6T 16:43). Ich verwende dabei eine eigenes neues Objekt, welches ich per Skript fülle alle 3 Minuten.

                                        ! ` > var pfad = "Systeminfos.ioBroker" + ".";

                                        var cronStr = "*/3 * * * *";

                                        var abfrage = "cat /proc/uptime | awk '{ printf "%dT %02d:%02d", $1/86400, $1/3600%24, $1/60%60 }'";

                                        var idUptime = pfad + 'iobroker_Uptime';

                                        createState(idUptime, "", {

                                        name: 'Uptime',

                                        desc: 'Uptime (abgefragt mit cat /proc/uptime)',

                                        type: 'string',

                                        unit: '',

                                        role: 'value'

                                        });

                                        function abfrageUptime() {

                                        exec(abfrage, function(err, stdout, stderr) {

                                        if (err) {

                                        log(err,"error");

                                        return;

                                        }

                                        //log(stdout);

                                        setStateDelayed(idUptime,stdout,100);

                                        });

                                        }

                                        function abfragen() {

                                        abfrageUptime();

                                        }

                                        // regelmässige Wiederholungen

                                        // –---------------------------------------------------------------------------

                                        schedule(cronStr, abfragen);

                                        // main

                                        // -----------------------------------------------------------------------------

                                        function main() {

                                        abfragen();

                                        }

                                        // Start Skript:

                                        // -----------------------------------------------------------------------------

                                        setTimeout(main, 500); `

                                        mfg

                                        Falk

                                        1 Reply Last reply Reply Quote 0
                                        • X
                                          xelarep last edited by

                                          Hallo Falk,

                                          ich hab dein Skript mal zum Anlass genommen mich mit dem Skripten erstmalig (ausserhalb der CCU2) zu beschäftigen. Hab wohl noch ein grundsätzliches Problem.

                                          Hab dein Skript nach einem ersten Hallo World Versuch mal mal per copy/past genommen und ausgeführt.

                                          Allerdings bekomme ich in den Objekten kein Ergebnis? Ich she zwar den Neueintrag "Systeminfos.ioBroker", aber keine "Uptime"?

                                          Der Error-Log gibt ebenfalls keine weiteren Auskünfte.

                                          Anbei zwei Screenshots meines Skript Editors und der Objektansicht.

                                          Was mach ich falsch?

                                          Alexander

                                          2253_bildschirmfoto_2017-08-12_um_14.46.20.png
                                          2253_bildschirmfoto_2017-08-12_um_14.47.02.png

                                          1 Reply Last reply Reply Quote 0
                                          • X
                                            xelarep last edited by

                                            Fragt mich nicht warum,

                                            hab heute Nachmittag mein Wandpanel aufgehängt und gerade mal nach Antworten geschaut, und wie ich so in meine Objektübersicht schaue:

                                            2253_bildschirmfoto_2017-08-12_um_20.21.20.png

                                            Die Dubletten für javascript.0 und script.js sind jetzt ebenfalls weg?!

                                            War wohl wieder zu ungeduldig…

                                            Alexander

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            874
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            30
                                            7911
                                            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