@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);
});