NEWS
RPI-Monitor - Uptime Format ändern
-
Wo muss ich das mit dem dividieren eintragen? Hab das gestern nicht gefunden.
Danke und gruss
-
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
-
Heute abend reicht
Bin auch auf Arbeit
-
Hier:
Widget: basic numberDatenpunkt: Uptime
Konfiguration: erweiterte Einstellungen
Gruß
Rainer
-
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
-
@ringdingringding:Aber wie kommt man auf 1.157407407407407e-5????????
Was ist das? `
Das ist 1/86400Man 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
-
Dankööö
-
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
-
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
-
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:
Die Dubletten für javascript.0 und script.js sind jetzt ebenfalls weg?!
War wohl wieder zu ungeduldig…
Alexander
-
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
-
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); -
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#p152733Da beschreibe ich kurz wie ich das mache für meine anderen Raspi's… Bei Fragen einfach melden...
vg
-
Bzw noch andere Raspis abfragen? `
Das ist zwar nicht Bestandteil des Threadthemas, aber das geht doch~~<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~~
-
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.
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.
Bzw noch andere Raspis abfragen? `
Das ist zwar nicht Bestandteil des Threadthemas, aber das geht dochdownload/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
-
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 -
Danke für den Hinweis. Hört sich auf jeden Fall interessant an. Werde mich da mal durchwühlen.
MfG,
Tobi
-
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]
-
Probieren mal
schedule('*/5 * * * *', umwandeln231(x));
Gruß Johnny
-
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é