Änderungen in Befehl fheminfo

Begonnen von Martin Fischer, 24 Januar 2013, 04:33:24

Vorheriges Thema - Nächstes Thema

Martin Fischer

command "fheminfo":
- nur noch offizielle FHEM Module werden ermittelt [1]
- uniqueID in eigene Datei ausgelagert [2]

[1] Im Rahmen der ersten Veröffentlichung von "fheminfo" wurden alle zur Laufzeit von FHEM genutzten Module ausgewertet und ermittelt. Dies trug dazu bei, das in der Statistik auch "nicht offizielle" (zum Beispiel vom Anwender eigen entwickelte nicht für die Öffentlichkeit bestimmte) FHEM Module gelistet wurden. Durch die nun vorgenommene Änderung ermittelt "fheminfo" nur noch offiziell mit FHEM ausgelieferte Module, die auch über den "update" Befehl aktualisiert werden und somit fester Bestandteil der FHEM Distribution sind.

[2] In der vorangegangenen Version von "fheminfo" wurde die eindeutige ID direkt über das globale Attribut "uniqueID" gesetzt und in der Konfigurationsdatei gespeichert. Die "uniqueID" wurde nun in die Datei "FhemUtils/uniqueID" im FHEM Modulpfad ausgelagert und wird nur in Verbindung mit dem "fheminfo" Befehl angezeigt. Das globale Attribut "uniqueID" enthält nun den Pfad und Dateinamen. Die eindeutige ID ist notwendig um Mehrfacheintragungen bei der (freiwilligen) Übertragung der Daten an einen zentralen Server möglichst zu verhindern.

TODO:
- Statistik muss noch um die "nicht offiziellen Module" bereinigt werden.

Anmerkung:
"fheminfo" ist seit Release 5.3 Bestandteil der FHEM Distribution und gehört zu den Standardbefehlen. Mit dem Aufruf von "fheminfo" werden technische Informationen über die Installation angezeigt. Diese Informationen beinhalten Angaben zur eingesetzten FHEM Distribution (Release, Branch, OS, Architektur und Perl-Version) sowie eine Übersicht der in der Installation zur Laufzeit definierten Module (inkl. der Anzahl der Definitionen je Modultyp). Weiterhin wird eine Liste der definierten Modelltypen dargestellt.

Über den Aufruf von "fheminfo send" kann der Anwender gezielt diese Informationen an einen zentralen Server übertragen. Mit der Übertragung dieser Daten unterstützt der Anwender das FHEM Projekt aktiv, da aus den ermittelten Daten Rückschlüsse auf die zur Verwendung kommenden Module gezogen werden können. Entwickler erhalten somit eine Einschätzung wie häufig die jeweiligen Module von der Community genutzt werden. Dies kann durchaus Auswirkungen auf die Weiterentwicklung einzelner Module aber auch auf die zeitnahe Bereitstellung von Korrekturen oder Erweiterungen haben.

Während der (freiwilligen) Übermittlung der von "fheminfo" ermittelten Daten werden keine persönlichen Daten erhoben oder gespeichert. Auf die gespeicherten Daten auf dem zentralen Server erhalten nebem dem Betreiber vom fhem.de (Rudolf Koenig) und ggf. dem Maintainer von "fheminfo", "update" und "statistics.cgi" (Martin Fischer) keine Dritten einen Zugriff. Die im Rahmen der statistischen Erhebung genutzten Routinen sind im Quelltext offen gelegt ("98_fheminfo.pm", "98_update.pm" sowie im Verzeichnis "contrib/statistics/"). Ein Rückschluss anhand der eindeutigen ID auf Personen ist weitestgehend ausgeschlossen; es sei denn der Anwender veröffentlicht pro aktiv seine uniqueID. Letzteres kann aber als unbedenklich eingestuft werden, da diese eindeutige ID an keiner anderen Stelle eine Verwendung findet und nicht ausserhalb der eigenen FHEM Installation angezeigt wird.

Um den Verbreitungsgrad von FHEM zu visualisieren und um daraus Rückschlüsse für evtl. zukünftig geplante Sprachanpassungen (Ausgaben in anderen Landessprachen) zu ermöglichen, wird im Zuge der Übermittlung der Daten durch den proaktiven Aufruf von "fheminfo send" die IP-Adresse des Anwenders zur Geolokalisierung mit einer bewussten Ungenauigkeit von ca. 80 km herangezogen. Die IP-Adresse wird unmittelbar nach der Geolokalisierung verworfen und nicht gespeichert.

Die erhobenen Daten werden grafisch aufbereitet und sind öffentlich unter der URL http://fhem.de/stats/statistics.cgi einsehbar.

Beispielausgabe von "fheminfo" und gleichzeitig eine Übersicht der zu übermittelnden Daten über den Parameter "send":

fhem> fheminfo send
Fhem info:
  Release  : 5.3
  Branch   : DEVELOPMENT
  OS       : linux
  Arch     : i686-linux-gnu-thread-multi-64int
  Perl     : v5.14.2
  uniqueID : d4c1b851210eec9c3098f05d7b64d14b

Defined modules:
  FHEMWEB    : 1
  FileLog    : 1
  OWDevice   : 8
  OWServer   : 1
  autocreate : 1
  notify     : 1
  telnet     : 2

Defined models per module:
  OWDevice   : DS1420,DS18B20,DS18S20,DS2401,DS2438

server response: ==> ok

Für die Unterstützung des Projektes FHEM durch die Community bedanken wir uns im Voraus!

Viele Grüße
Martin
--
Admin, Developer, Gründungsmitglied des FHEM e.V.