@Romain_B as tu la possibilité d’ajouter une liste de donnée type JSON ou autre automatique sur ton site?
J’ai créé un petit script que chacun peut utiliser qui liste les appareils:
let tagId;
let tagUri;
let lastList;
let newList;
let virtualDevices = 0;
let physicalDevice = 0;
const devices = await Homey.devices.getDevices();
//==================== LOOP POUR TOUS LES APPAREILS =======================
for (const device of Object.values(devices)) {
const idName = device.driverId;
const uri = (String(device.driverUri)).split('.');
const uriName = uri[(uri.length - 1)];
//==================== COMPTEUR =======================
if (uriName == "virtual" || uriName == "thermostat" || uriName == "openweathermap" || uriName == "devicegroups" || uriName == "callmebot" || uriName == "cloud" || uriName == "homey:manager:vdevice" || uriName == "heimdall") {
virtualDevices++;
}
else {
physicalDevice++;
}
//==================== FABRICANT/APP =======================
if (uriName == "virtual") {
tagUri = "Fabricant/App = virtual device";
}
else if (uriName == "thermostat") {
tagUri = "Fabricant/App = Vthermo";
}
else {
tagUri = "Fabricant/App = " + uriName;
}
//===================== MODÈLE/TYPE ========================
if (idName == "homeyduino") {
tagId = "Modèle/type d'appareil = ESP32 ou ESP8266 || Quantité = ";
}
else {
tagId = "Modèle/type d'appareil = " + idName + " || Quantité = ";
}
lastList = tagUri+ " || " + tagId;
if (String(newList) == 'undefined') {
newList = lastList + ",";
}
else {
newList = newList + lastList + ",";
}
}
//===================== TABLEAU ========================
let arrayList = newList.split(",");
const counts = {};
arrayList.forEach(function (x) {
counts[x] = (counts[x] || 0) + 1;
});
//===================== LOG ========================
log("*******************************************");
log("*******************************************");
log("\n");
log("----> Nombre d'appareils virtuels = " + String(virtualDevices));
log("----> Nombre d'appareils physiques = " + String(physicalDevice));
log("\n");
log("*******************************************");
log("*******************************************");
log(counts);
La sortie est la suivante:
*******************************************
*******************************************
----> Nombre d'appareils virtuels = 48
----> Nombre d'appareils physiques = 126
*******************************************
*******************************************
{
"Fabricant/App = homey:manager:vdevice || Modèle/type d'appareil = homey || Quantité = ": 1,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = cube || Quantité = ": 1,
"Fabricant/App = danalock || Modèle/type d'appareil = danalock_v3 || Quantité = ": 1,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = sensor_motion.aq2 || Quantité = ": 2,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = relay.c2acn01 || Quantité = ": 3,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGD-212 || Quantité = ": 6,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGDW-002 || Quantité = ": 8,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGS-213 || Quantité = ": 4,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGMS-001-PLUS || Quantité = ": 3,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGS-223 || Quantité = ": 8,
"Fabricant/App = aeotec || Modèle/type d'appareil = ZW080 || Quantité = ": 1,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGSD-002 || Quantité = ": 2,
"Fabricant/App = somfy || Modèle/type d'appareil = newblinds || Quantité = ": 9,
"Fabricant/App = heimdall || Modèle/type d'appareil = surveillanceModeSwitch || Quantité = ": 1,
"Fabricant/App = innr || Modèle/type d'appareil = rgbw_bulb_z3 || Quantité = ": 1,
"Fabricant/App = virtual device || Modèle/type d'appareil = virtual_switch || Quantité = ": 12,
"Fabricant/App = virtual device || Modèle/type d'appareil = mode || Quantité = ": 8,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGWPx-102-PLUS || Quantité = ": 2,
"Fabricant/App = innr || Modèle/type d'appareil = edison_filament_bulb_vintage || Quantité = ": 2,
"Fabricant/App = devicegroups || Modèle/type d'appareil = light || Quantité = ": 6,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = weather || Quantité = ": 9,
"Fabricant/App = devicegroups || Modèle/type d'appareil = sensor || Quantité = ": 5,
"Fabricant/App = fibaro || Modèle/type d'appareil = FGFS-101-PLUS || Quantité = ": 1,
"Fabricant/App = intouch || Modèle/type d'appareil = novy-hood || Quantité = ": 1,
"Fabricant/App = Vthermo || Modèle/type d'appareil = VThermo || Quantité = ": 4,
"Fabricant/App = deconz || Modèle/type d'appareil = aqara-temphum || Quantité = ": 2,
"Fabricant/App = deconz || Modèle/type d'appareil = aqara-vibration || Quantité = ": 3,
"Fabricant/App = deconz || Modèle/type d'appareil = generic-lamp || Quantité = ": 1,
"Fabricant/App = deconz || Modèle/type d'appareil = honeywell-smoke-detector || Quantité = ": 1,
"Fabricant/App = deconz || Modèle/type d'appareil = aqara-wireless-switch-2018-single-rocker || Quantité = ": 1,
"Fabricant/App = deconz || Modèle/type d'appareil = aqara-relay || Quantité = ": 6,
"Fabricant/App = deconz || Modèle/type d'appareil = mi-motion || Quantité = ": 2,
"Fabricant/App = homey:manager:vdevice || Modèle/type d'appareil = virtual_button || Quantité = ": 4,
"Fabricant/App = deconz || Modèle/type d'appareil = hue-outdoor-motion-sensor || Quantité = ": 1,
"Fabricant/App = broadlinkrednode || Modèle/type d'appareil = RM3_mini || Quantité = ": 1,
"Fabricant/App = deconz || Modèle/type d'appareil = mi-magnet || Quantité = ": 3,
"Fabricant/App = doorbird || Modèle/type d'appareil = doorbird || Quantité = ": 1,
"Fabricant/App = deconz || Modèle/type d'appareil = leakage_aq1 || Quantité = ": 2,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = sensor_switch || Quantité = ": 2,
"Fabricant/App = tasmota || Modèle/type d'appareil = tasmota_mqtt || Quantité = ": 7,
"Fabricant/App = wifi || Modèle/type d'appareil = magichome || Quantité = ": 2,
"Fabricant/App = homeyduino || Modèle/type d'appareil = ESP32 ou ESP8266 || Quantité = ": 7,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = sensor_magnet.aq2 || Quantité = ": 3,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = plug.maeu01 || Quantité = ": 1,
"Fabricant/App = deconz || Modèle/type d'appareil = generic-plug || Quantité = ": 1,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = plug.mmeu01 || Quantité = ": 1,
"Fabricant/App = cloud || Modèle/type d'appareil = cover || Quantité = ": 1,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = sensor_motion || Quantité = ": 1,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = sensor_smoke || Quantité = ": 2,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = remote.b286acn02 || Quantité = ": 1,
"Fabricant/App = callmebot || Modèle/type d'appareil = whatsapp || Quantité = ": 2,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = relay.c2acn01.2 || Quantité = ": 6,
"Fabricant/App = devicegroups || Modèle/type d'appareil = heater || Quantité = ": 2,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = switch.b2nacn02 || Quantité = ": 2,
"Fabricant/App = xiaomi-mi || Modèle/type d'appareil = remote.b186acn01 || Quantité = ": 1,
"Fabricant/App = openweathermap || Modèle/type d'appareil = owmOnecallCurrent || Quantité = ": 1,
"Fabricant/App = openweathermap || Modèle/type d'appareil = owmOnecallDaily || Quantité = ": 1,
"Fabricant/App = broadlink || Modèle/type d'appareil = RM_plus || Quantité = ": 1,
'': 1
}