NEWS
HTML Tabelle für Shelly Device Übersicht
-
@liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:
@latzi
es handelt sich also insgesamt um 3 verschiedene scripte - deines, das vom ersten post und eines auf githubwenn ich heute abend zeit habe, versuch ich mal meine scripte zu reaktivieren... updates hab ich mal durchgezogen...
-
@liv-in-sky Ich benutze dieses Script und Shelly 6.0.0
-
dann hast du das selbe problem - der adapter hat wohl einen dp umdefiniert - daher könnte das script ein problem haben
-
@liv-in-sky sieht so aus. ich hab mal die fehlerhafte If-Anweisung rausgenommen, dann läuft er durch.
Im Skript ist das ab Zeile 362:// if (existsState(id.replace("id","uptime"))) { if(getState(id.replace("id","uptime")).val!=null && getState(id.replace("id","uptime")).val!="" && getState(id.replace("id","uptime")).val!=undefined ) { // val[5]=getState(id.replace("id","uptime")).val; // valueuptime=val[5].replace(/^([0-9]*?D)([0-9][0-9]:.*)/,"$1 $2" );// log(valueuptime) // valueuptime=valueuptime.replace(/^([0-9]*?:.*)/,"0D $1" ); //log(valueuptime) // val[5]=valueuptime // } // else{val[3]="noUptime"}} // log(valueuptime.toString()+" ----" +val[3].replace(/^(.+)D.+/,"$1")) // if(!Boolean(val[1])) valueuptime=val[5]="00:00:00"
Damit hat er natürlich in der Vis-Tabelle bei "UPTIME" jetzt undefined stehen, ich brauch den Wert aber nicht.
Wär natürlich super wenn du das gefixt kriegstDanke für den Support und die tolle Arbeit !
-
für die schönheit: einfach nach dem auskommentierten bereich den wert val[5] definieren mit
val[5]="na";
dann sollte wenigstens das undefined weg sein
ODER du machst folgendes statt dem auskommentierten bereich:
if (existsState(id.replace("id","uptime"))) { if(getState(id.replace("id","uptime")).val!=null && getState(id.replace("id","uptime")).val!="" && getState(id.replace("id","uptime")).val!=undefined ) { val[5]=String(getState(id.replace("id","uptime")).val);} else{val[5]="na";}} else{val[5]="na";}
-
@liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:
der adapter hat wohl einen dp umdefiniert
glaub ich eher nicht, aber vllt ein tippfehler?
mal schauen, was @haus-automatisierung dazu meint... -
@liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:
der adapter hat wohl einen dp umdefiniert - daher könnte das script ein problem haben
Nicht bewusst. Welchen denn?
-
@amg_666 sagte in HTML Tabelle für Shelly Device Übersicht:
ich hab mal die fehlerhafte If-Anweisung rausgenommen, dann läuft er durch.
Ahhh jetzt verstehe ich. Siehe Changelog für 6.0.0:
(klein0r) Breaking: Uptime is now a number (seconds since boot)
Das wurde sich hier gewünscht: https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/604
Am besten im Script selbst umwandeln. Ihr könnt ja die alte Funktion (welche aus dem Adapter rausgeflogen ist) mit in das Script aufnehmen:
function uptimeString(uptime) { if (uptime < 0) { uptime = 0; } const timeDifference = new Date(uptime * 1000); const secondsInADay = 60 * 60 * 1000 * 24; const secondsInAHour = 60 * 60 * 1000; const days = Math.floor(timeDifference / (secondsInADay) * 1); let hours = Math.floor((timeDifference % (secondsInADay)) / (secondsInAHour) * 1); let mins = Math.floor(((timeDifference % (secondsInADay)) % (secondsInAHour)) / (60 * 1000) * 1); let secs = Math.floor((((timeDifference % (secondsInADay)) % (secondsInAHour)) % (60 * 1000)) / 1000 * 1); if (hours < 10) { hours = '0' + hours; } if (mins < 10) { mins = '0' + mins; } if (secs < 10) { secs = '0' + secs; } if (days > 0) { return days + 'D' + hours + ':' + mins + ':' + secs; } else { return hours + ':' + mins + ':' + secs; } }
-
bitte teste mal das neue script auf github https://github.com/liv-in-sky/html-script-shelly---iobroker
dort wird unterschieden zwischen den alten und neuen dp für uptime
falls du irgendwelche settings im script gemacht hast - kannst du diese wieder reinkopieren (im oberen teil des scriptes)
-
im ersten post ist auch ein upgedates script - jetzt bräuchte ich nur deines, um das auch zu ändern
bitte poste dein script hier - beim script kopieren und einsetzen nicht mit firefox arbeiten !! am besten mit chrome
du kannst auch dein script kopieren, in notepad++ einfügen, speichern und diese datei hier posten - oder direct in codetags in einem spoilertag in einem post
-
@haus-automatisierung sagte in HTML Tabelle für Shelly Device Übersicht:
Am besten im Script selbst umwandeln. Ihr könnt ja die alte Funktion (welche aus dem Adapter rausgeflogen ist) mit in das Script aufnehmen:
danke für die uptimeString-function !!!
-
@liv-in-sky sagte in HTML Tabelle für Shelly Device Übersicht:
jetzt bräuchte ich nur deines, um das auch zu ändern
Ach lass mal, vielen Dank für die pfeilschnelle Umsetzung, ich steig auf die aktuelle Version um - es gibt keinen besseren Grund!
-
@liv-in-sky Das sieht jetzt sehr gut aus, Skript läuft fehlerfrei und Uptime wird korrekt ermittelt.