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.
    • 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
          • R
            Rompe last edited by

            Huhu.

            Kann man dieses Script auch so umschreiben, dass es die Sekunden aus dem Raspi Adapter zieht? Bzw noch andere Raspis abfragen? Habe 3 Raspis am laufen als Multihost und würde gerne die Uptime von jedem in vis darstellen. Stehe gerade irgendwie auf dem Schlauch und in Javascript bin ich leider auch nicht so gut bewandert.

            MfG,

            Tobi

            1 Reply Last reply Reply Quote 0
            • A
              Adnim last edited by

              Hallo ,

              habe hier im Forum irgendwo dieses Skript gefunden , das macht doch genau was du dir wünscht?

              ! ````
              var pfad = "System.ioBroker" + ".";
              var cronStr = "*/8 * * * *";
              ! 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);

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

                @Rompe:

                Kann man dieses Script auch so umschreiben, dass es die Sekunden aus dem Raspi Adapter zieht? Bzw noch andere Raspis abfragen? Habe 3 Raspis am laufen als Multihost und würde gerne die Uptime von jedem in vis darstellen. Stehe gerade irgendwie auf dem Schlauch und in Javascript bin ich leider auch nicht so gut bewandert. `
                Schau mal hier: viewtopic.php?p=152733#p152733

                Da beschreibe ich kurz wie ich das mache für meine anderen Raspi's… Bei Fragen einfach melden...

                vg

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

                  @Rompe:

                  Bzw noch andere Raspis abfragen? `
                  Das ist zwar nicht Bestandteil des Threadthemas, aber das geht doch

                  ~~![](</s><URL url=)<link_text text="download/file.php?id=25966&mode=view">https://forum.iobroker.net/download/file.php?id=25966&mode=view</link_text>" />

                  Am einfachsten per Multihost

                  Gruß Rainer~~

                  1 Reply Last reply Reply Quote 0
                  • R
                    Rompe last edited by

                    @Adnim:

                    Hallo ,

                    habe hier im Forum irgendwo dieses Skript gefunden , das macht doch genau was du dir wünscht?

                    ! var pfad = "System.ioBroker" + "."; var cronStr = "*/8 * * * *"; ! 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); `

                    Danke für das Script, aber das ist geanu das Script aus diesem Thread, auf das sich meine Frage bezog. Denn dieses Script fragt nur den Host ab, auf dem es läuft. Daher auch meine Frage, ob man es so gestalten kann, dass es auch andere abfragt.

                    @schittl:

                    Schau mal hier: viewtopic.php?p=152733#p152733

                    Da beschreibe ich kurz wie ich das mache für meine anderen Raspi's… Bei Fragen einfach melden...

                    vg `

                    Auch danke, aber irgendwie verstehe ich da irgendwie nur Bahnhof.

                    @Homoran:

                    @Rompe:

                    Bzw noch andere Raspis abfragen? `
                    Das ist zwar nicht Bestandteil des Threadthemas, aber das geht doch

                    download/file.php?id=25966&mode=view

                    Am einfachsten per Multihost

                    Gruß Rainer `

                    Habe ja Multihost eingerichtet (1 Master, 2 Slaves). Im RPI-Adapter des jeweiligen Pis werden mir halt aber nur die Sekunden angegeben. Und in dem Skript in diesem Thread wurde eben die Uptime schön formatiert ausgegeben. Doch als Pfad für die Sekunden ist nicht der RPI-Adapter eingebettet, sondern die Host-datei des Pis, wenn ich das richtig sehe. daher die Frage, ob man das umschreiben kann, dass auch andere Pis ausgelesen werden können.

                    Aber mittlerweile habe ich in einem anderen Thread die Lösung bekommen. Siehe hier:

                    viewtopic.php?f=17&t=5542&p=153685#p153685

                    Damit kann ich nun auf den jeweiligen Datenpunkt der Pis gehen und es wird sauber formatiert wieder ausgespuckt.

                    MfG,

                    Tobi

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

                      @Rompe:

                      Auch danke, aber irgendwie verstehe ich da irgendwie nur Bahnhof. `
                      Vielleicht wird es hier viewtopic.php?p=152733#p153623 bzw. hier viewtopic.php?f=35&t=13319&hilit=Hardwaredaten klarer bei Interesse 😄

                      1 Reply Last reply Reply Quote 0
                      • R
                        Rompe last edited by

                        Danke für den Hinweis. Hört sich auf jeden Fall interessant an. Werde mich da mal durchwühlen.

                        MfG,

                        Tobi

                        1 Reply Last reply Reply Quote 0
                        • A
                          al-79 last edited by

                          nabend…..

                          ich habe hier vor Zeiten mal ein Script im Forum gefunden. Damals kopiert und nun weiß ich den Link nicht mehr...

                          Das Script sieht wie folgt aus....

                          `var pfad = "javascript.0.Systeminfos.Pi3-231.uptime-convert.";
                          var zeiten = ['tag','std','min','sek'];
                          var format = ['tage','stunden','minuten','sekunden'];
                          var tag,std,min,sek; 
                          var x = getState("javascript.0.Systeminfos.Pi3-231.uptime").val;
                          
                          function umwandeln231(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++) 5/{/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);/}/schedule('*/*/*',/umwandeln231);/<e=""></format.length;i++)>`
                          
                          der Name "umwandeln231" - da das letzte Oktett meines Pi's die 231 ist...
                          
                          Nun zum Problem.... das script funzt generell - aber nur beim speichern... der Schedule-Part funzt aber nicht - jemand ne Idee?
                          
                          Grüße André[/i][/i][/i]
                          
                          1 Reply Last reply Reply Quote 0
                          • P
                            PrinzEisenherz1 last edited by

                            Probieren mal

                            schedule('*/5 * * * *', umwandeln231(x));
                            
                            

                            Gruß Johnny

                            1 Reply Last reply Reply Quote 0
                            • A
                              al-79 last edited by

                              Moin Johnny,

                              funzt leider auch nicht….

                              habe eben mal im Log nachgesehen, dort steht

                              javascript.0	2018-09-18 09:02:00.349	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:31:9)
                              javascript.0	2018-09-18 09:02:00.347	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.sekunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.347	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:30:9)
                              javascript.0	2018-09-18 09:02:00.346	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.minuten: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.345	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:29:9)
                              javascript.0	2018-09-18 09:02:00.344	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.stunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.343	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:28:9)
                              javascript.0	2018-09-18 09:02:00.342	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.tage: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.341	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:31:9)
                              javascript.0	2018-09-18 09:02:00.340	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.sekunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.339	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:30:9)
                              javascript.0	2018-09-18 09:02:00.338	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.minuten: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.337	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:29:9)
                              javascript.0	2018-09-18 09:02:00.336	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.stunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.336	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:28:9)
                              javascript.0	2018-09-18 09:02:00.334	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.tage: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.334	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:31:9)
                              javascript.0	2018-09-18 09:02:00.333	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.sekunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.332	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:30:9)
                              javascript.0	2018-09-18 09:02:00.331	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.minuten: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.330	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:29:9)
                              javascript.0	2018-09-18 09:02:00.329	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.stunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.329	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:28:9)
                              javascript.0	2018-09-18 09:02:00.327	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.tage: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.327	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:31:9)
                              javascript.0	2018-09-18 09:02:00.325	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.sekunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.325	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:30:9)
                              javascript.0	2018-09-18 09:02:00.323	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.minuten: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.323	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:29:9)
                              javascript.0	2018-09-18 09:02:00.320	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.stunden: "number". Please fix, while deprecated and will not work in next versions.
                              javascript.0	2018-09-18 09:02:00.319	warn	at Object.umwandeln239 (script.js.NAS-RS1219.pi3-239-uptime-convert:28:9)
                              javascript.0	2018-09-18 09:02:00.316	warn	Wrong type of javascript.0.Systeminfos.Pi3-239.uptime-convert.tage: "number". Please fix, while deprecated and will not work in next versions.
                              
                              

                              kannst du damit auch etwas anfangen?

                              Gruße André

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              534
                              Online

                              31.6k
                              Users

                              79.5k
                              Topics

                              1.3m
                              Posts

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