Statistics
Falls konfiguriert, sendet der ioBroker regelmäßig Nutzungsstatistiken an das ioBroker-Team. So kann ermittelt werden, welche Adapter besonders häufig im Einsatz sind, welche Sprache die Nutzer am meisten einstellen und aus welchem Land die Nutzer sind.
Modus
Welche Daten übermittelt werden, hängt vom jeweils konfigurierten Modus ab.
normal (
normal
)ohne Stadt (
no-city
)erweitert (
extended
)
Hier ein Beispiel, was genau gesendet wird. Dies entspricht dem Modus „erweitert“ (extended
):
{
"uuid": "xxx",
"language": "de",
"country": "Germany",
"hosts": [
{
"version": "3.3.18",
"platform": "Javascript/Node.js",
"type": "linux"
}
],
"node": "v12.22.6",
"arch": "arm",
"adapters": {
"admin": {
"version": "5.1.25",
"platform": "Javascript/Node.js"
},
"discovery": {
"version": "2.7.0",
"platform": "Javascript/Node.js"
},
"backitup": {
"version": "2.1.17",
"platform": "Javascript/Node.js"
},
"feiertage": {
"version": "1.0.17",
"platform": "javascript/Node.js"
}
},
"statesType": "file",
"objectsType": "file",
"model": "ARMv7 Processor rev 3 (v7l)",
"cpus": 4,
"mem": 4025200640,
"ostype": "Linux",
"city": "Custom City"
}
Weiterhin gibt es die Option „ohne Stadt“ (no-city
), welche das letzte Attribut (city) nicht mitsendet.
Im Modus „normal“ (normal
) werden weniger Informationen übertragen:
{
"uuid": "xxx",
"language": "de",
"hosts": [
{
"version": "3.3.18",
"platform": "Javascript/Node.js",
"type": "linux"
}
],
"node": "v12.22.6",
"arch": "arm",
"adapters": {
"admin": {
"version": "5.1.25",
"platform": "Javascript/Node.js"
},
"discovery": {
"version": "2.7.0",
"platform": "Javascript/Node.js"
},
"backitup": {
"version": "2.1.17",
"platform": "Javascript/Node.js"
},
"feiertage": {
"version": "1.0.17",
"platform": "javascript/Node.js"
}
},
"statesType": "file",
"objectsType": "file"
}
Es wird darum gebeten, den erweiterten Modus zu aktivieren.
Es wird in allen Fällen die System-UUID der Installation mit übermittelt. Außerdem wird gesendet, wie Du deine Daten speicherst. Siehe auch Daten-Speicherung.
Backend
Die Daten werden vom js-controller
an http://download.iobroker.net/diag.php
gesendet (POST-Request mit JSON-Payload an data
).
curl -v -X POST -d 'data={"uuid": "xxx","language": "de","hosts": [{"version": "3.3.18","platform": "Javascript/Node.js","type": "linux"}],"node": "v12.22.6","arch": "arm","adapters": {"admin": {"version": "5.1.25","platform": "Javascript/Node.js"},"discovery": {"version": "2.7.0","platform": "Javascript/Node.js"},"backitup": {"version": "2.1.17","platform": "Javascript/Node.js"},"feiertage": {"version": "1.0.17","platform": "javascript/Node.js"}},"statesType": "file","objectsType": "file"}' http://download.iobroker.net/diag.php
Statistiken analysieren
Im Developer Portal können Statistiken zu jedem Adapter abgefragt werden. Diese werden dann grafisch aufbereitet und gegen eine Zeitachse gelegt. So kann man auf einen Blick sehen, wieviele Installationen die einzelnen Versionen zu einem bestimmten Zeitpunkt existieren.
Mit diesen Infos kann man entscheiden, wann und ob eine Version in das stable
-Repository übernommen wird.
Das Portal nutzt dafür die folgende Url: https://www.iobroker.dev/api/adapter/<adapter>/stats
Die Antwort ist wie folgt aufgebaut:
{
"counts": {
"2021-04-14T02:08:00.628Z": {
"total": 6535,
"versions": {
"0.0.10": 48,
"0.0.11": 202,
"0.0.3": 3,
"0.0.5": 48,
"0.0.6": 2,
"0.0.7": 61,
"0.0.8": 2,
"0.0.9": 28,
"1.0.0": 1,
"1.0.1": 2,
"1.0.3": 787,
"1.0.4": 9,
"1.0.5": 3,
"1.0.6": 3,
"1.1.0": 59,
"1.1.1": 5255,
"1.1.2": 22
}
},
"2021-04-15T18:44:39.370Z": {
"total": 6570,
"versions": {
"0.0.10": 49,
"0.0.11": 201,
"0.0.3": 2,
"0.0.5": 48,
"0.0.6": 2,
"0.0.7": 62,
"0.0.8": 2,
"0.0.9": 28,
"1.0.0": 1,
"1.0.1": 2,
"1.0.3": 785,
"1.0.4": 8,
"1.0.5": 3,
"1.0.6": 3,
"1.1.0": 58,
"1.1.1": 5293,
"1.1.2": 23
}
}
}
}