NEWS
Gelöst: Anzahl der Zigbee Geräte ermitteln
-
@michihorn sagte: separat die Anzahl der Geräte mit CAS_xxx und ebenfalls separat die NL_Geräte
const nameDp = getObject(id).common.name; if (nameDp.includes('CAS')) cntCAS++; if (nameDp.includes('NL')) cntNL++;
-
@paul53 sagte in Gelöst: Anzahl der Zigbee Geräte ermitteln:
const nameDp = getObject(id).common.name
Wie komme ich denn ie id? Muss ich nicht zunächst den Selector einrichten?
const ids = $("tuya.1.*.Common.Name"); -
@michihorn sagte: const ids = $("tuya.1.*.Common.Name");
Dieser Selektor ist mit großer Wahrscheinlichkeit falsch!
Zeige bitte mind. einen zu selektierenden Datenpunkt.@michihorn sagte in Gelöst: Anzahl der Zigbee Geräte ermitteln:
Wie komme ich denn ie id?
Die
id
wird innerhalb der Schleife ids.each(id) übergeben. -
@paul53 sagte in Gelöst: Anzahl der Zigbee Geräte ermitteln:
Dieser Selektor ist mit großer Wahrscheinlichkeit falsch!
-
@michihorn
Ich sehe keinen Datenpunkt, sondern nur Geräte!
Gibt es einen Datenpunkt, der zu jedem Tuya-Gerät existiert? -
@paul53 OK mein Fehler, ich will die Geräte zählen, ist wohl am einfachsten, und das separiert nach CAS_* und NL_*
-
@michihorn sagte: ich will die Geräte zählen
Dazu ist es zweckmäßig, im Selektor einen Datenpunkt(ID) anzugeben, der pro Gerät genau einmal existiert.
-
@paul53 Bei jedem Gerät ist der DP "xxxxx.online" vorhanden.
-
@michihorn sagte: Bei jedem Gerät ist der DP "xxxxx.online" vorhanden.
Direkt in der Ebene unter dem Gerät?
-
-
@michihorn
Versuche es so:const ids = $("tuya.1.*.online"); const idCAS = "0_userdata.0.System.Tuya.CAS_Count"; const idNL = "0_userdata.0.System.Tuya.NL_Count"; let cntCAS = 0; let cntNL = 0; ids.each(function(id) { id = id.substring(0, id.lastIndexOf('.')); const devName = getObject(id).common.name; if(devName.includes('CAS')) cntCAS++; if(devName.includes('NL')) cntNL++; }); setState(idCAS, cntCAS, true); setState(idNL, cntNL, true); log('CAS: ' + cntCAS + ', NL: ' + cntNL);
-
Ja Paul das funktioniert. Dankeschön