Übersicht/Befehlsreferenz zu Funktionen auf Perl Ebene

Begonnen von TeeVau, 20 Juli 2015, 13:27:08

Vorheriges Thema - Nächstes Thema

TeeVau

Hallo Zusammen,

gibt es eigentlich eine Übersicht bzw. Befehlsreferenz zu den Funktionen auf Perl Ebene, die FHEM spezifisch sind? Ich selber habe das Problem, da ich nicht vollblut FHEM Entwickler bin, das ich oft vergessen welche Funktionen es bereits gibt und was diese machen (mir passiert das z.B. immer bei Berechnungen mit Datum/Uhrzeit). Die oft genutzten Funktionen wie ReadingsVal(), singleReadingsUpdate() etc. sind vermutlich alle am geläufigsten. Insgesamt fehlt mir jedoch eine Übersicht, wo dann auch die Parameter der Funktionen beschrieben sind.
Gibt es irgendwo so eine Übersicht, die einfach unbekannt ist, oder sonstige Gründe, weshalb die Übersicht nicht erstellt wurde/erstellt werden soll?
Wenn ich mir die deklarationen in der fhem.pl angucke, gibt es ja eine ganze Menge an Funktionen (wobei sicherlich nicht alle auch außerhalb der fhem.pl nutzbar sind). An und für sich würde sich ja das Wiki als Plattform dafür anbieten.

Oder was meinen die sonstigen Entwickler dazu?

Tobias
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

Talkabout

Hallo,

beim Einstieg in FHEM hätte mir eine solche Doku bestimmt auch Einiges erleichtert. Aktuell suche ich mir die notwendigen Funktionen selber zusammen, wenn ich Bedarf habe. Das gilt sowohl für fhem.pl wie auch andere Module (FHEMWEB usw.). Sollte eine solche Dokumentation nicht existieren glaube ich, wird es ein erheblicher Aufwand sein, sie zu erstellen. Den grundsätzlichen Ansatz eine Dokumentation auch für die PERL Funktionen zu haben, finde ich aber gut.

Gruss

rudolfkoenig

ZitatGibt es irgendwo so eine Übersicht, die einfach unbekannt ist,
Wenn, dann ist es mir auch unbekannt.

Zitatoder sonstige Gründe, weshalb die Übersicht nicht erstellt wurde/erstellt werden soll?
Weil es Aufwand ist.


Die Fuer Benutzer gedachte Funktionen sind in commandref dokumentiert (Perl Specials).
readingsSingleUpdate ist nicht fuer Endbenutzer gedacht, und Entwickler koennen/sollten Code lesen.

Talkabout

Zitat von: rudolfkoenig am 20 Juli 2015, 15:25:52
...und Entwickler koennen/sollten Code lesen.
Ich stimme mit dieser Aussage nicht unbedingt überein, wenn es darum geht die Frage zu beantworten, ob ein Framework Dokumentation auf Code-Ebene benötigt oder nicht. Da gibt es diverse Gegenbeispiele (Apple, Microsoft, Google...) wo die API des Frameworks wirklich gut dokumentiert ist. Allerdings weiss ich auch wie schwierig es ist, bestehenden Code im nach hinein zu beschreiben. Daher würde ich sagen dass es durchaus Sinn machen würde, jedoch der Aufwand einfach zu groß ist. Im Augenblick fährt man da vermutlich wirklich besser, wenn man im Forum fragt, wenn man einen bestimmten Anwendungsfall hat, für den man eine Funktion sucht.

Gruss

TeeVau

Hallo,

ich sehe schon am (mangelnden) Feedback, dass das Interesse an Mitworken nicht so groß ist oder gar keine Notwendigkeit besteht :-) Dass die Funktionen, die für Benutzer relevant sind, in der commandref stehen wusste ich. Mein Augenmerk lag wirklich auf die Funktionen für Entwickler (wenn auch der Grat zwischen Funktionen für Benutzer und Entwickler manchmal eher grau als schwarz/weiß ist).

Mit mangelnder Unterstützung wird das Vorhaben nicht umzusetzen sein. Es bringt ja auch nichts wenn das nur von einem gepflegt wird, oder die Doku nicht up to date ist. Mein Gedanke war, dass meine persönliche Währung im Leben die Zeit ist. Wenn ich mir 2 Stunden am Abend sparen kann nach Funktionen im SourceCode zu suchen, die es vielleicht geben könnte, hätte ich schon einen Vorteil. Bin davon ausgegangen, dass es bei der Masse ähnlich ist.

Vielleicht fange ich ja irgendwann mal an sowas im Fhemwiki zu erstellen. Priorität hat es jedoch dann nicht, ist eher mein öffentlicher Notizzettel. Und vielleicht findet sich nich der Ein- oder Andere, der mitwirkt.

Danke für euer Feedback, Tobias :-)
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

Talkabout

Hallo TeeVau,

ich glaube kaum, dass es hierbei tatsächlich um das mangelnde Interesse geht. Es gibt vermutlich keinen hier im Forum, der alle Funktionen kennt, die auf PERL-Ebene zur Verfügung stehen, daher würde eine Doku jedem helfen. Das Problem ist einfach, dass keiner eine Lösung für das Problem des Zeitaufwands hat. Weiterhin muss eine solche Doku natürlich auch gut gepflegt sein, was bedeutet, dass jede neue Funktion, die man schreibt, weitere Arbeit verursacht. Eine automatische Funktions-Dokumentation wäre hier von Vorteil, aber auch da ist eine ganze Menge Arbeit mit verbunden. Wie ich oben schon geschrieben habe, bin ich es gewohnt mit Framework-Dokus zu arbeiten. Aber kein Framework erstellt eine Dokumentation wenn das Meiste bereits programmiert ist. Ausserdem ist es ja nicht so, dass sich mal einer hinsetzen und die Dokumentation schreiben kann. Dafür müssten sich alle Programmierer hier im Forum committen, was ich für utopisch halte. Ich glaube aber kaum, dass sich unsere Entwickler vor Dokumentation generell scheuen. Sie wissen einfach, das die Menge an Code, die in FHEM existiert, nicht einfach mal so dokumentiert werden kann.

Gruss