Für alle Interessierten:
Ich konnte mein Problem nun mit folgenden Skriptadaptierungen lösen:
createState('zigbeestatus.Anzahl_Geräte', 0, {type: 'number'});
createState('zigbeestatus.offline', 0, {type: 'number'});
createState('zigbeestatus.Gerät', " ", {type: 'string'});
const zigbee = $('zigbee.0*.link_quality');
const loggen = true;
var arrOFFLINE;
function offline(id){
var obj = getObject(id);
arrOFFLINE.push(obj.common.name);
if(loggen) log("Gerät: " + obj.common.name);
}
function countOffline() {
var moeglicheOFFLINE = 0;
arrOFFLINE =[];
zigbee.each(function (id, i){
if(Math.round((new Date() - new Date(getState(id).ts)) / 1000 / 60) > 60) offline(id);
++moeglicheOFFLINE;
});
if(loggen) log("Text: "+arrOFFLINE.join(', '));
if(loggen) log("Anzahl Geräte: " + moeglicheOFFLINE + " // davon offline: " + arrOFFLINE.length);
setState("zigbeestatus.Gerät", arrOFFLINE.join(',<br>'));
setState("zigbeestatus.offline", arrOFFLINE.length);
setState("zigbeestatus.Anzahl_Geräte", moeglicheOFFLINE);
}
countOffline();
Es werden nun die Geräte gezählt, bei denen der link_quality-Timestamp älter ist als 60 Minuten.
LG Sebastian