Hallo Rudi,
anbei ein Patch, der es ermöglicht, dass Hilfsmodule wie Blocking, HttpUtils, TcpServerUtils, ... usw. im Output von "version" angezeigt werden, sofern sie auch tatsächlich geladen sind.
Dazu wird am Ende jedes Moduls ein manueller Eintrag in %modules erzeugt mit LOADED => 1.
File Rev Last Change
fhem.pl 10397 2016-01-07 08:36:49Z rudolfkoenig
90_at.pm 10048 2015-11-29 14:51:40Z rudolfkoenig
98_autocreate.pm 10165 2015-12-13 11:14:15Z rudolfkoenig
Blocking.pm 10343 2016-01-03 10:55:45Z rudolfkoenig
00_CUL.pm 10146 2015-12-10 10:17:42Z rudolfkoenig
10_CUL_HM.pm 10411 2016-01-08 15:18:17Z martinp876
DevIo.pm 8954 2015-07-13 16:01:48Z rudolfkoenig
98_dewpoint.pm 6757 2014-10-12 18:58:57Z joachim09876
98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig
00_FBAHA.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
10_FBDECT.pm 9304 2015-09-25 18:33:18Z rudolfkoenig
72_FB_CALLLIST.pm 10317 2015-12-31 12:12:25Z markusbloch
72_FB_CALLMONITOR.pm 10349 2016-01-03 14:20:57Z markusbloch
01_FHEMWEB.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
92_FileLog.pm 10365 2016-01-05 10:57:56Z rudolfkoenig
FritzBoxUtils.pm 6574 2014-09-19 17:32:48Z rudolfkoenig
98_GEOFANCY.pm 10325 2016-01-02 00:28:34Z loredo
00_HMLAN.pm 10409 2016-01-08 15:13:59Z martinp876
95_holiday.pm 10004 2015-11-25 12:58:12Z rudolfkoenig
HttpUtils.pm 10137 2015-12-09 09:01:41Z rudolfkoenig
75_LGTV_RS232.pm 6414 2014-08-17 21:35:34Z markusbloch
91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig
34_panStamp.pm 8803 2015-06-22 19:21:07Z justme1968
73_PRESENCE.pm 10295 2015-12-29 18:47:24Z markusbloch
33_readingsGroup.pm 10157 2015-12-12 11:35:11Z justme1968
SetExtensions.pm 9413 2015-10-09 13:13:11Z rudolfkoenig
98_structure.pm 10382 2016-01-06 16:21:13Z rudolfkoenig
99_SUNRISE_EL.pm 9831 2015-11-08 19:13:09Z rudolfkoenig
98_SVG.pm 9577 2015-10-21 17:45:02Z rudolfkoenig
34_SWAP.pm 10297 2015-12-29 19:04:09Z justme1968
35_SWAP_0000002200000003.pm 10308 2015-12-30 11:42:17Z justme1968
TcpServerUtils.pm 10346 2016-01-03 12:34:27Z rudolfkoenig
98_telnet.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
59_Twilight.pm 8743 2015-06-14 12:14:57Z dietmar63
99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig
91_watchdog.pm 10314 2015-12-31 08:44:32Z rudolfkoenig
55_weco.pm 5517 2014-04-13 00:37:45Z betateilchen
99_XmlList.pm 1840 2012-09-12 13:52:08Z rudolfkoenig
71_YAMAHA_AVR.pm 10355 2016-01-03 22:00:41Z markusbloch
71_YAMAHA_BD.pm 10036 2015-11-28 16:02:57Z markusbloch
Im angehangenen Patch habe ich diese Zeilen nur in deinen Modulen gesetzt. Es wäre natürlich super, sofern der Patch akzeptiert wird, wenn auch andere Maintainer dies nachziehen könnten.
Viele Grüße
Markus
Mir waere es lieber, wenn wir eine nicht "invasive" Methode finden wuerden. Eigentlich muss perl die Liste aller geladenen Dateien irgendwo halten. Kriegt man diese Liste irgendwie raus? Ich habe es auf die Schnelle leider nicht gefunden.
%INC
Auf der FHEM-Kommandozeile:
{ use Data::Dumper;; Dumper \%INC }
Ok, dann baue ich CommandVersion am besten komplett auf %INC um. Patch folgt.
Da bin ich auf den ersten Anwender-Kummer gespannt, der sich im Forum darüber wundert, dass in version plötzlich Dateien auftaucht, zu denen der User gar keine devices definiert hat.
Wer braucht die Versionsinfos von Hilfsmodulen eigentlich wirklich?
Zitat von: Markus Bloch am 10 Januar 2016, 17:03:38
Ok, dann baue ich CommandVersion am besten komplett auf %INC um. Patch folgt.
Dann mach doch besser gleich eine 98_version.pm draus, das erleichtert die Codepflege. Habe da mit 98_help.pm nur gute Erfahrungen gemacht.
Zitat von: betateilchen am 10 Januar 2016, 17:24:27
Da bin ich auf den ersten Anwender-Kummer gespannt, der sich im Forum darüber wundert, dass in version plötzlich Dateien auftaucht, zu denen der User gar keine devices definiert hat.
Wer braucht die Versionsinfos von Hilfsmodulen eigentlich wirklich?
Ich als Entwickler, wenn User wieder auf die grandiose Idee kommen, FHEM vom .tgz-Paket von fhem.de zu installieren und anfangen vereinzelte Module zu updaten, aber eben Hilfsmodule wie HttpUtils usw. eben nicht.
Gruß
Markus
Zitat von: betateilchen am 10 Januar 2016, 17:35:13
Dann mach doch besser gleich eine 98_version.pm draus, das erleichtert die Codepflege. Habe da mit 98_help.pm nur gute Erfahrungen gemacht.
@Rudi: was dagegen?
Die Antwort, die Du als Entwickler dem Anwender gibst, ändert sich aber nicht. Sie bleibt "mach mal ein Update"
Das ist die Antwort für die Massen.
Es kann aber sein, dass Anwender X nur Modul M aktualisiert hat oder aus dem Forum zum Test hat und Modul M auch eine neuere Version von einem anderen Modul oder von fhem.pl braucht.
Viele Grüße
Boris
Das ist mir schon klar. Vielleicht sollte man die Versionsausgabe weiter parametrierbar machen, beispielsweise "version all" und bei "version" das bisherige Verhalten beibehalten.
Wen der Anwender version aufruft, weiß er entweder er, was er tut, oder es weiß derjenige, der ihn aufgefordert hat, was er tut.
Ich sehe den Bedarf daher nicht.
Grüße
Boris
Ich sehe den tatsächlichen Bedarf der Versionsausgabe von Hilfsmodulen genausowenig.
Und dass die Anwender immer wissen, was sie tun, glaubst Du doch wohl selbst nicht.
Wir sollten als Entwickler nicht immer nur unsere Entwicklerwünsche im Fokus haben.
Zitat von: betateilchen am 10 Januar 2016, 17:49:27
Ich sehe den tatsächlichen Bedarf der Versionsausgabe von Hilfsmodulen genausowenig.
Ich sehe ihn schon, in dem von mir geschilderten Fall. Und Markus sieht den Bedarf vermutlich auch. Warum hätte er das sonst entwickelt?
Zitat
Und dass die Anwender immer wissen, was sie tun, glaubst Du doch wohl selbst nicht.
Glaube ich natürlich nicht und habe ich auch nicht behauptet. version wird vermutlich in 90% aller Fälle auf Aufforderung durch den Entwickler auf eine Fehlermeldung hin aufgerufen.
Als nächstes kommt noch jemand auf die Idee, die Liste geladener Module in update auszuwerten, um nur diese Dateien zu aktualisieren...
Das würde ich sofort einbauen, wenn ich noch mit meinem 2400baud-Modem ins Internet gehen würde.
SCNR.
Das wäre fatal, da sich die Liste der geladenen Module zur Laufzeit jederzeit ändernkann, da z.B. Die ganzen Commandmodule erst bei ihrem ersten Aufruf geladen werden.
Deshalb: Beim Auslagern von CommandVersion unbedingt testen, ob die Versionsausgabe zu 98_update beim ersten Aufruf bereits enthalten ist.
Ich habe selten was gegen Auslagern in externe Module, in diesem Fall auch nicht.
Ob eine erweiterte version wirklich notwendig ist, das duerft ihr ausdiskutieren, ich hatte noch nicht das Beduerfnis.
Würde es nicht Sinn machen, den Versionsstring soweit wie möglich direkt beim Laden eines Modules in den modules-hash zu übernehmen?
Greift aber eben nicht bei den Hilfsmodulen. Damit hättest du den selben Output, wie jetzt schon.
Sich auf %INC zu berufen ist am saubersten, da es direkt vom Perl-Interpreter kommt und man kommt ohne Sonderlocken an alle nachgelagerten "FHEM-Hilfsmodule".
Hilfsmodule werden meistens mit "use XXX" oder "require XXX.pm" geladen, da greifen diese Mechanismen nicht.
Gruß
Markus
bevor man das tut sollte man aber auf jeden fall ein mal prüfen wie lange es dauert die version aus dem perl file heraus zu parsen. nicht das der fhem start dann deutlich langsamer wird.
leider steckt die version nicht in einer variablen auf die man dann einfach zugreifen könnte. das wäre die eigentlich saubere lösung. die aber änderungen an jedem file erforderlich machen würde.
ausserdem kommen dann genau die dynamisch geladenen module nicht in der liste vor.
die nicht-modus files fie Tcputils, HttpUtils,... in version zu berücksichtigen finde ich gut. aber der overhead sollte minimal bleiben.
gruss
andre
edit: das bezog sich auf das 'direkt beim laden'
Ich sehe noch nicht den Grund, warum man diesen String direkt beim Laden braucht.
Sonst ist der Overhead mehr oder weniger egal, es wird ja nur im Problemfall aufgerufen, und das auch nur manuell.
eben
Zitat von: rudolfkoenig am 10 Januar 2016, 18:59:49
Ich sehe noch nicht den Grund, warum man diesen String direkt beim Laden braucht.
Es war nur so ein spontaner Gedanke, der einem auf langweiligen Bahnfahrten durchaus mal kommen kann.
Noch mehr Gedanken, wenn man an der Stelle jetzt rumschraubt:
- Man sollte parallel einen pre-commit hook planen, der das Einchecken von Moduldateien ohne svn-id verhindert.
- Und falls doch irgendwann fhem@git kommen sollte, gibt es ohnehin keine automatische Id in der Datei mehr.
Du solltest weniger Bahn fahren. Ich komm garnicht so schnell hinterher mit programmieren, wie du die guten Ideen postest :D
Eine BahnCard100 hat man nicht, weil man wenig Bahn fährt...
Hallo zusammen,
anbei der fertige Patch.
Wie vorgeschlagen ist version nun ausgelagert als 98_version.pm. Der Funktionsumfang ist nachwievor der selbe. Der Output sieht bei mir wie folgt aus:
File Rev Last Change
fhem.pl 10397 2016-01-07 08:36:49Z rudolfkoenig
90_at.pm 10048 2015-11-29 14:51:40Z rudolfkoenig
98_autocreate.pm 10165 2015-12-13 11:14:15Z rudolfkoenig
00_CUL.pm 10146 2015-12-10 10:17:42Z rudolfkoenig
10_CUL_HM.pm 10411 2016-01-08 15:18:17Z martinp876
98_dewpoint.pm 6757 2014-10-12 18:58:57Z joachim09876
98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig
00_FBAHA.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
10_FBDECT.pm 9304 2015-09-25 18:33:18Z rudolfkoenig
72_FB_CALLLIST.pm 10317 2015-12-31 12:12:25Z markusbloch
72_FB_CALLMONITOR.pm 10349 2016-01-03 14:20:57Z markusbloch
01_FHEMWEB.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
92_FileLog.pm 10365 2016-01-05 10:57:56Z rudolfkoenig
98_GEOFANCY.pm 10325 2016-01-02 00:28:34Z loredo
00_HMLAN.pm 10409 2016-01-08 15:13:59Z martinp876
95_holiday.pm 10004 2015-11-25 12:58:12Z rudolfkoenig
82_LGTV2012.pm 2 2014-03-17 11:05:19Z juliantatsch
75_LGTV_RS232.pm 6414 2014-08-17 21:35:34Z markusbloch
91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig
34_panStamp.pm 8803 2015-06-22 19:21:07Z justme1968
73_PRESENCE.pm 10295 2015-12-29 18:47:24Z markusbloch
33_readingsGroup.pm 10157 2015-12-12 11:35:11Z justme1968
98_structure.pm 10382 2016-01-06 16:21:13Z rudolfkoenig
99_SUNRISE_EL.pm 9831 2015-11-08 19:13:09Z rudolfkoenig
98_SVG.pm 9577 2015-10-21 17:45:02Z rudolfkoenig
34_SWAP.pm 10297 2015-12-29 19:04:09Z justme1968
35_SWAP_0000002200000003.pm 10308 2015-12-30 11:42:17Z justme1968
98_telnet.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
59_Twilight.pm 8743 2015-06-14 12:14:57Z dietmar63
99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig
98_version.pm 10247 2015-12-23 19:53:31Z markusbloch
91_watchdog.pm 10314 2015-12-31 08:44:32Z rudolfkoenig
55_weco.pm 5517 2014-04-13 00:37:45Z betateilchen
99_XmlList.pm 1840 2012-09-12 13:52:08Z rudolfkoenig
71_YAMAHA_AVR.pm 10355 2016-01-03 22:00:41Z markusbloch
71_YAMAHA_BD.pm 10036 2015-11-28 16:02:57Z markusbloch
Blocking.pm 10343 2016-01-03 10:55:45Z rudolfkoenig
Color.pm 9280 2015-09-20 08:07:41Z justme1968
DevIo.pm 8954 2015-07-13 16:01:48Z rudolfkoenig
FritzBoxUtils.pm 6574 2014-09-19 17:32:48Z rudolfkoenig
HMConfig.pm 10410 2016-01-08 15:15:50Z martinp876
HttpUtils.pm 10137 2015-12-09 09:01:41Z rudolfkoenig
SetExtensions.pm 9413 2015-10-09 13:13:11Z rudolfkoenig
TcpServerUtils.pm 10346 2016-01-03 12:34:27Z rudolfkoenig
TimeSeries.pm 9013 2015-08-02 10:09:55Z borisneubert
Ein "version Blocking" gibt folgendes zurück:
File Rev Last Change
Blocking.pm 10343 2016-01-03 10:55:45Z rudolfkoenig
Ich würde mich anbieten es zu maintainen.
Viele Grüße
Markus
Zitat von: betateilchen am 10 Januar 2016, 18:07:03
Das wäre fatal, da sich die Liste der geladenen Module zur Laufzeit jederzeit ändernkann, da z.B. Die ganzen Commandmodule erst bei ihrem ersten Aufruf geladen werden.
Deshalb: Beim Auslagern von CommandVersion unbedingt testen, ob die Versionsausgabe zu 98_update beim ersten Aufruf bereits enthalten ist.
Was genau meinst du damit? Ich verstehe nicht welches Problem du meinst.
Gruß
Markus
Kannst Du die Datei bitte mal als richtige pm Datei anhängen anstatt als diff?
Ja natürlich, allerdings funktioniert sie so nicht, da ja CommandVersion so noch aus fhem.pl genommen wird.
Gruß
Markus
Ganz so doof bin ich dann doch nicht ;) das mit der fhem.pl war mir schon klar, das hatte ich vorab schon geändert.
Du solltest aber bitte auch Module auflisten, die keine Id besitzen und diese Module nicht einfach unterschlagen.
(http://up.picr.de/24248994mg.png)
Da ist 98_version.pm nicht aufgeführt...
Ok. Anbei die neue Version. Ausgabe ist bei mir:
File Rev Last Change
fhem.pl 10397 2016-01-07 08:36:49Z rudolfkoenig
90_at.pm 10048 2015-11-29 14:51:40Z rudolfkoenig
98_autocreate.pm 10165 2015-12-13 11:14:15Z rudolfkoenig
99_backup.pm: NO ID FOUND
00_CUL.pm 10146 2015-12-10 10:17:42Z rudolfkoenig
99_CULflash.pm: NO ID FOUND
10_CUL_HM.pm 10411 2016-01-08 15:18:17Z martinp876
99_CustomUtils.pm: NO ID FOUND
98_dewpoint.pm 6757 2014-10-12 18:58:57Z joachim09876
98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig
00_FBAHA.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
10_FBDECT.pm 9304 2015-09-25 18:33:18Z rudolfkoenig
72_FB_CALLLIST.pm 10317 2015-12-31 12:12:25Z markusbloch
72_FB_CALLMONITOR.pm 10349 2016-01-03 14:20:57Z markusbloch
01_FHEMWEB.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
92_FileLog.pm 10365 2016-01-05 10:57:56Z rudolfkoenig
98_GEOFANCY.pm 10325 2016-01-02 00:28:34Z loredo
00_HMLAN.pm 10409 2016-01-08 15:13:59Z martinp876
95_holiday.pm 10004 2015-11-25 12:58:12Z rudolfkoenig
99_JsonList.pm: NO ID FOUND
82_LGTV2012.pm 2 2014-03-17 11:05:19Z juliantatsch
75_LGTV_RS232.pm 6414 2014-08-17 21:35:34Z markusbloch
91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig
34_panStamp.pm 8803 2015-06-22 19:21:07Z justme1968
73_PRESENCE.pm 10295 2015-12-29 18:47:24Z markusbloch
33_readingsGroup.pm 10157 2015-12-12 11:35:11Z justme1968
74_S0COUNTER.pm: NO ID FOUND
98_structure.pm 10382 2016-01-06 16:21:13Z rudolfkoenig
99_SUNRISE_EL.pm 9831 2015-11-08 19:13:09Z rudolfkoenig
98_SVG.pm 9577 2015-10-21 17:45:02Z rudolfkoenig
34_SWAP.pm 10297 2015-12-29 19:04:09Z justme1968
35_SWAP_0000002200000003.pm 10308 2015-12-30 11:42:17Z justme1968
98_telnet.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
59_Twilight.pm 8743 2015-06-14 12:14:57Z dietmar63
98_update.pm 10247 2015-12-23 19:53:31Z rudolfkoenig
99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig
98_version.pm 10247 2015-12-23 19:53:31Z markusbloch
91_watchdog.pm 10314 2015-12-31 08:44:32Z rudolfkoenig
55_weco.pm 5517 2014-04-13 00:37:45Z betateilchen
99_XmlList.pm 1840 2012-09-12 13:52:08Z rudolfkoenig
71_YAMAHA_AVR.pm 10355 2016-01-03 22:00:41Z markusbloch
71_YAMAHA_BD.pm 10036 2015-11-28 16:02:57Z markusbloch
Blocking.pm 10343 2016-01-03 10:55:45Z rudolfkoenig
Color.pm 9280 2015-09-20 08:07:41Z justme1968
DevIo.pm 8954 2015-07-13 16:01:48Z rudolfkoenig
FritzBoxUtils.pm 6574 2014-09-19 17:32:48Z rudolfkoenig
HMConfig.pm 10410 2016-01-08 15:15:50Z martinp876
HttpUtils.pm 10137 2015-12-09 09:01:41Z rudolfkoenig
RTypes.pm: NO ID FOUND
SetExtensions.pm 9413 2015-10-09 13:13:11Z rudolfkoenig
TcpServerUtils.pm 10346 2016-01-03 12:34:27Z rudolfkoenig
TimeSeries.pm 9013 2015-08-02 10:09:55Z borisneubert
Zitat von: betateilchen am 10 Januar 2016, 21:17:54
Da ist 98_version.pm nicht aufgeführt...
Ist ja auch nicht geladen ;-)
Zitat von: Markus Bloch am 10 Januar 2016, 21:29:41
Ist ja auch nicht geladen ;-)
Witzbold. Spätestens wenn ich den Befehl zum zweiten Mal ausführe, ist die Datei sehr wohl vollständig geladen!
Zitat von: Markus Bloch am 10 Januar 2016, 21:27:28
Ok. Anbei die neue Version. Ausgabe ist bei mir:
99_backup.pm: NO ID FOUND
Wieso konntest/wolltest Du dich nicht an das Ausgabeformat halten, das in meinem Beispiel stand (No Id am Anfang stehend), und das schon seit zwei Jahren so existiert?
Weil dieses Format in fhem.pl so nicht existiert. Ich habe mich an die bestehende CommandVersion Funktion gehalten was Output angeht. Da ist diese Meldung auch bisher so nicht enthalten. Ich nehme an, die kommt aus cfgDB_Fileversion().
Kann ich aber gerne so übernehmen.
Zitat von: Markus Bloch am 10 Januar 2016, 21:46:37
Ich habe mich an die bestehende CommandVersion Funktion gehalten was Output angeht. Da ist diese Meldung auch bisher so nicht enthalten.
Die Meldung wurde bisher sehr wohl von CommandVersion in der fhem.pl so ausgegeben, auch wenn sie nicht in dieser Funktion selbst generiert wurde.
Zitat von: Markus Bloch am 10 Januar 2016, 21:46:37
Ich nehme an, die kommt aus cfgDB_Fileversion().
Exakt so ist es, wenn eine Moduldatei aus der configDB geladen wird anstatt aus dem Dateisystem und diese Moduldatei keine Id enthält.
Edit: wobei man auf die Pfadangabe durchaus verzichten kann, in configDB ist die aus technischen Gründen vorhanden. Kann ich bei Gelegenheit irgendwann anpassen.
Die Deklaration
sub cfgDB_svnId;
in der fhem.pl kann entfallen, wenn die CommandVersion() ausgelagert wird.
So in Ordnung?
File Rev Last Change
fhem.pl 10397 2016-01-07 08:36:49Z rudolfkoenig
90_at.pm 10048 2015-11-29 14:51:40Z rudolfkoenig
98_autocreate.pm 10165 2015-12-13 11:14:15Z rudolfkoenig
No Id found for 99_backup.pm
00_CUL.pm 10146 2015-12-10 10:17:42Z rudolfkoenig
No Id found for 99_CULflash.pm
10_CUL_HM.pm 10411 2016-01-08 15:18:17Z martinp876
No Id found for 99_CustomUtils.pm
98_dewpoint.pm 6757 2014-10-12 18:58:57Z joachim09876
98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig
00_FBAHA.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
10_FBDECT.pm 9304 2015-09-25 18:33:18Z rudolfkoenig
72_FB_CALLLIST.pm 10317 2015-12-31 12:12:25Z markusbloch
72_FB_CALLMONITOR.pm 10349 2016-01-03 14:20:57Z markusbloch
01_FHEMWEB.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
92_FileLog.pm 10365 2016-01-05 10:57:56Z rudolfkoenig
98_GEOFANCY.pm 10325 2016-01-02 00:28:34Z loredo
00_HMLAN.pm 10409 2016-01-08 15:13:59Z martinp876
95_holiday.pm 10004 2015-11-25 12:58:12Z rudolfkoenig
No Id found for 99_JsonList.pm
82_LGTV2012.pm 2 2014-03-17 11:05:19Z juliantatsch
75_LGTV_RS232.pm 6414 2014-08-17 21:35:34Z markusbloch
91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig
34_panStamp.pm 8803 2015-06-22 19:21:07Z justme1968
73_PRESENCE.pm 10295 2015-12-29 18:47:24Z markusbloch
33_readingsGroup.pm 10157 2015-12-12 11:35:11Z justme1968
No Id found for 74_S0COUNTER.pm
98_structure.pm 10382 2016-01-06 16:21:13Z rudolfkoenig
99_SUNRISE_EL.pm 9831 2015-11-08 19:13:09Z rudolfkoenig
98_SVG.pm 9577 2015-10-21 17:45:02Z rudolfkoenig
34_SWAP.pm 10297 2015-12-29 19:04:09Z justme1968
35_SWAP_0000002200000003.pm 10308 2015-12-30 11:42:17Z justme1968
98_telnet.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
59_Twilight.pm 8743 2015-06-14 12:14:57Z dietmar63
98_update.pm 10247 2015-12-23 19:53:31Z rudolfkoenig
99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig
98_version.pm 10247 2015-12-23 19:53:31Z markusbloch
91_watchdog.pm 10314 2015-12-31 08:44:32Z rudolfkoenig
55_weco.pm 5517 2014-04-13 00:37:45Z betateilchen
99_XmlList.pm 1840 2012-09-12 13:52:08Z rudolfkoenig
71_YAMAHA_AVR.pm 10355 2016-01-03 22:00:41Z markusbloch
71_YAMAHA_BD.pm 10036 2015-11-28 16:02:57Z markusbloch
Blocking.pm 10343 2016-01-03 10:55:45Z rudolfkoenig
Color.pm 9280 2015-09-20 08:07:41Z justme1968
DevIo.pm 8954 2015-07-13 16:01:48Z rudolfkoenig
FritzBoxUtils.pm 6574 2014-09-19 17:32:48Z rudolfkoenig
HMConfig.pm 10410 2016-01-08 15:15:50Z martinp876
HttpUtils.pm 10137 2015-12-09 09:01:41Z rudolfkoenig
No Id found for RTypes.pm
SetExtensions.pm 9413 2015-10-09 13:13:11Z rudolfkoenig
TcpServerUtils.pm 10346 2016-01-03 12:34:27Z rudolfkoenig
TimeSeries.pm 9013 2015-08-02 10:09:55Z borisneubert
Bei mir wird 98_version.pm sauber angezeigt. Ich weis du verwendest configDb. Bitte führ mal {Dumper(\%INC)} in FHEM aus und schau, was dort zu 98_version.pm steht.
Zitat von: Markus Bloch am 10 Januar 2016, 22:03:18
Bei mir wird 98_version.pm sauber angezeigt. Ich weis du verwendest configDb. Bitte führ mal {Dumper(\%INC)} in FHEM aus und schau, was dort zu 98_version.pm steht.
98_version.pm wird inzwischen auch angezeigt.
Aber soll das Ergebnis wirklich so aussehen?
File Rev Last Change
fhem.pl 10397 2016-01-07 08:36:49Z rudolfkoenig
No Id found for ./FHEM/99_myUtils.pm
90_at.pm 10421 2016-01-09 07:54:37Z rudolfkoenig
57_Calendar.pm 0 2016-01-03 borisneubert
98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig
01_FHEMWEB.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
92_FileLog.pm 10365 2016-01-05 10:57:56Z rudolfkoenig
55_GDS.pm 10388 2016-01-06 17:17:55Z betateilchen
91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig
99_SUNRISE_EL.pm 9831 2015-11-08 19:13:09Z rudolfkoenig
98_telnet.pm 10423 2016-01-09 08:35:53Z rudolfkoenig
99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig
98_version.pm 10247 2015-12-23 19:53:31Z markusbloch
59_Weather.pm 10403 2016-01-07 19:44:04Z borisneubert
No Id found for AutoLoader.pm
No Id found for autosplit.ix
No Id found for base.pm
No Id found for Base.pm
No Id found for Base64.pm
No Id found for Basename.pm
Blocking.pm 10343 2016-01-03 10:55:45Z rudolfkoenig
No Id found for bytes.pm
No Id found for Carp.pm
No Id found for Check.pm
No Id found for Cmd.pm
No Id found for Common.pm
No Id found for Complex.pm
No Id found for Conditional.pm
No Id found for Config.pm
configDB.pm 10345 2016-01-03 11:44:41Z betateilchen
No Id found for Config_git.pl
No Id found for Config_heavy.pl
No Id found for constant.pm
No Id found for Constants.pm
No Id found for Cwd.pm
No Id found for Date.pm
No Id found for DBI.pm
No Id found for Deflate.pm
No Id found for deprecate.pm
No Id found for Diff.pm
No Id found for DirHandle.pm
No Id found for Dumper.pm
No Id found for DynaLoader.pm
No Id found for Errno.pm
No Id found for Exporter.pm
No Id found for Extra.pm
No Id found for Extract.pm
No Id found for Fcntl.pm
No Id found for feature.pm
No Id found for File.pm
No Id found for FileHandle.pm
No Id found for Find.pm
No Id found for FTP.pm
GDSweblink.pm 9432 2015-10-11 10:38:18Z betateilchen
No Id found for Glob.pm
No Id found for GlobMapper.pm
No Id found for Gunzip.pm
No Id found for Gzip.pm
No Id found for Hash.pm
No Id found for Heavy.pm
No Id found for HiRes.pm
HttpUtils.pm 10137 2015-12-09 09:01:41Z rudolfkoenig
No Id found for if.pm
No Id found for INET.pm
No Id found for Inflate.pm
No Id found for integer.pm
No Id found for IO.pm
No Id found for IP.pm
No Id found for Kid.pm
No Id found for Liblist.pm
No Id found for libnet.cfg
No Id found for Load.pm
No Id found for Local.pm
No Id found for locale.pm
No Id found for MakeMaker.pm
No Id found for MD5.pm
No Id found for Metadata.pm
No Id found for MM.pm
No Id found for MM_Any.pm
No Id found for MM_Unix.pm
No Id found for MY.pm
No Id found for Open3.pm
No Id found for overload.pm
No Id found for overloading.pm
No Id found for ParseWords.pm
No Id found for Path.pm
No Id found for POSIX.pm
No Id found for PublicSuffix.pm
No Id found for randomize.al
No Id found for RawDeflate.pm
No Id found for RawInflate.pm
No Id found for regex.pm
No Id found for register.pm
No Id found for RTypes.pm
No Id found for Seekable.pm
No Id found for Select.pm
No Id found for SelectSaver.pm
No Id found for Simple.pm
No Id found for Socket.pm
No Id found for Spec.pm
No Id found for SQLite.pm
No Id found for SSL.pm
SSLeay.pm 422 2014-07-14 10:09:13Z mikem-guest
No Id found for strict.pm
No Id found for Symbol.pm
TcpServerUtils.pm 10346 2016-01-03 12:34:27Z rudolfkoenig
No Id found for Trig.pm
No Id found for Unix.pm
No Id found for UNIX.pm
No Id found for utf8.pm
No Id found for Util.pm
No Id found for vars.pm
No Id found for version.pm
No Id found for warnings.pm
No Id found for XSLoader.pm
No Id found for Zlib.pm
No Id found for _idna.pm
No Id found for _punycode.pm
@Markus: kannst du das bitte einchecken, und dich als Maintainer eintragen?
Ich moechte CommandVersion aus fhem.pl erst danach entfernen.
@betateilchen: Gib mir bitte mal den Dumper-Output zu %INC:
@rudi: Um 98_version.pm einchecken zu können, müssten folgende Änderungen in fhem.pl gemacht werden. Mit deinem OK würde ich das übernehmen:
Index: fhem.pl
===================================================================
--- fhem.pl (revision 10449)
+++ fhem.pl (working copy)
@@ -228,12 +226,15 @@
use vars qw(@authorize); # List of authorization devices
use vars qw(@authenticate); # List of authentication devices
use vars qw($auth_refresh);
+use vars qw($cvsid); # necessary to access $cvsid in 98_version.pm
+$cvsid = '$Id$';
+
my $AttrList = "verbose:0,1,2,3,4,5 room group comment:textField-long alias ".
"eventMap userReadings:textField-long";
my $currcfgfile=""; # current config/include file
my $currlogfile; # logfile, without wildcards
-my $cvsid = '$Id$';
+
my $duplidx=0; # helper for the above pool
my $evalSpecials; # Used by EvalSpecials->AnalyzeCommand
my $intAtCnt=0;
Ich werde fhem.pl selbst aendern, aber erst, nachdem du 98_version.pm eingecheckt hast.
Sonst: Ich hoffe, es ist nicht dein ernst, Version in allen Perl-Dateien zu suchen. Bitte nur die, die mit FHEM was zu tun haben.
Zitat von: rudolfkoenig am 10 Januar 2016, 22:17:48
Sonst: Ich hoffe, es ist nicht dein ernst, Version in allen Perl-Dateien zu suchen.
Das passiert aktuell tatsächlich...
Zitat von: Markus Bloch am 10 Januar 2016, 22:13:20
@betateilchen: Gib mir bitte mal den Dumper-Output zu %INC:
$VAR1 = {
'ExtUtils/MM.pm' => '/usr/share/perl/5.20/ExtUtils/MM.pm',
'SelectSaver.pm' => '/usr/share/perl/5.20/SelectSaver.pm',
'IO/Compress/Base/Common.pm' => '/usr/share/perl/5.20/IO/Compress/Base/Common.pm',
'IO/Compress/Adapter/Deflate.pm' => '/usr/share/perl/5.20/IO/Compress/Adapter/Deflate.pm',
'Blocking.pm' => 'FHEM/Blocking.pm',
'File/Find.pm' => '/usr/share/perl/5.20/File/Find.pm',
'IPC/Open3.pm' => '/usr/share/perl/5.20/IPC/Open3.pm',
'MIME/Base64.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/MIME/Base64.pm',
'AutoLoader.pm' => '/usr/share/perl/5.20/AutoLoader.pm',
'Archive/Extract.pm' => '/usr/share/perl5/Archive/Extract.pm',
'./FHEM/98_version.pm' => './FHEM/98_version.pm',
'warnings/register.pm' => '/usr/share/perl/5.20/warnings/register.pm',
'constant.pm' => '/usr/share/perl/5.20/constant.pm',
'XML/SAX.pm' => '/usr/share/perl5/XML/SAX.pm',
'POSIX.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/POSIX.pm',
'Net/FTP.pm' => '/usr/share/perl/5.20/Net/FTP.pm',
'integer.pm' => '/usr/share/perl/5.20/integer.pm',
'DirHandle.pm' => '/usr/share/perl/5.20/DirHandle.pm',
'Math/Complex.pm' => '/usr/share/perl/5.20/Math/Complex.pm',
'/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/Net/SSLeay/randomize.al' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/Net/SSLeay/randomize.al',
'IPC/Cmd.pm' => '/usr/share/perl/5.20/IPC/Cmd.pm',
'vars.pm' => '/usr/share/perl/5.20/vars.pm',
'ExtUtils/MakeMaker/Config.pm' => '/usr/share/perl/5.20/ExtUtils/MakeMaker/Config.pm',
'overload.pm' => '/usr/share/perl/5.20/overload.pm',
'XML/SAX/Base.pm' => '/usr/share/perl5/XML/SAX/Base.pm',
'Module/Metadata.pm' => '/usr/local/share/perl/5.20.2/Module/Metadata.pm',
'Errno.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Errno.pm',
'IO/Socket/SSL.pm' => '/usr/share/perl5/IO/Socket/SSL.pm',
'bytes.pm' => '/usr/share/perl/5.20/bytes.pm',
'File/Glob.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/File/Glob.pm',
'Net/Config.pm' => '/usr/share/perl/5.20/Net/Config.pm',
'Exporter.pm' => '/usr/share/perl/5.20/Exporter.pm',
'IO/Compress/Gzip.pm' => '/usr/share/perl/5.20/IO/Compress/Gzip.pm',
'DBD/SQLite.pm' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/DBD/SQLite.pm',
'IO/Compress/Base.pm' => '/usr/share/perl/5.20/IO/Compress/Base.pm',
'IO.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO.pm',
'XML/NamespaceSupport.pm' => '/usr/share/perl5/XML/NamespaceSupport.pm',
'Time/Local.pm' => '/usr/share/perl/5.20/Time/Local.pm',
'Carp.pm' => '/usr/share/perl/5.20/Carp.pm',
'./FHEM/92_FileLog.pm' => './FHEM/92_FileLog.pm',
'File/Spec/Unix.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/File/Spec/Unix.pm',
'DynaLoader.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/DynaLoader.pm',
'Module/Load/Conditional.pm' => '/usr/share/perl/5.20/Module/Load/Conditional.pm',
'TcpServerUtils.pm' => 'FHEM/TcpServerUtils.pm',
'List/Util.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/List/Util.pm',
'./FHEM/91_notify.pm' => './FHEM/91_notify.pm',
'warnings.pm' => '/usr/share/perl/5.20/warnings.pm',
'Params/Check.pm' => '/usr/share/perl/5.20/Params/Check.pm',
'XML/SAX/ParserFactory.pm' => '/usr/share/perl5/XML/SAX/ParserFactory.pm',
'FileHandle.pm' => '/usr/share/perl/5.20/FileHandle.pm',
'version.pm' => '/usr/share/perl/5.20/version.pm',
'RTypes.pm' => 'FHEM/RTypes.pm',
'HttpUtils.pm' => 'FHEM/HttpUtils.pm',
'Cwd.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Cwd.pm',
'Exporter/Heavy.pm' => '/usr/share/perl/5.20/Exporter/Heavy.pm',
'deprecate.pm' => '/usr/share/perl/5.20/deprecate.pm',
'overloading.pm' => '/usr/share/perl/5.20/overloading.pm',
'ExtUtils/Liblist.pm' => '/usr/share/perl/5.20/ExtUtils/Liblist.pm',
'URI/_punycode.pm' => '/usr/share/perl5/URI/_punycode.pm',
'Digest/base.pm' => '/usr/share/perl/5.20/Digest/base.pm',
'./FHEM/59_Weather.pm' => './FHEM/59_Weather.pm',
'if.pm' => '/usr/share/perl/5.20/if.pm',
'Config_heavy.pl' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Config_heavy.pl',
'IO/Socket/INET.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO/Socket/INET.pm',
'HTTP/Date.pm' => '/usr/share/perl5/HTTP/Date.pm',
'/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/Net/SSLeay/autosplit.ix' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/auto/Net/SSLeay/autosplit.ix',
'./FHEM/99_Utils.pm' => './FHEM/99_Utils.pm',
'GDSweblink.pm' => 'FHEM/GDSweblink.pm',
'IO/Seekable.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO/Seekable.pm',
'Config.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Config.pm',
'IO/Socket/SSL/PublicSuffix.pm' => '/usr/share/perl5/IO/Socket/SSL/PublicSuffix.pm',
'File/Path.pm' => '/usr/share/perl/5.20/File/Path.pm',
'File/GlobMapper.pm' => '/usr/share/perl/5.20/File/GlobMapper.pm',
'ExtUtils/MM_Unix.pm' => '/usr/share/perl/5.20/ExtUtils/MM_Unix.pm',
'File/Basename.pm' => '/usr/share/perl/5.20/File/Basename.pm',
'XML/SAX/Exception.pm' => '/usr/share/perl5/XML/SAX/Exception.pm',
'./FHEM/99_SUNRISE_EL.pm' => './FHEM/99_SUNRISE_EL.pm',
'File/Spec.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/File/Spec.pm',
'IO/File.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO/File.pm',
'version/regex.pm' => '/usr/share/perl/5.20/version/regex.pm',
'XML/Parser.pm' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/XML/Parser.pm',
'Tie/Hash.pm' => '/usr/share/perl/5.20/Tie/Hash.pm',
'./FHEM/57_Calendar.pm' => './FHEM/57_Calendar.pm',
'Fcntl.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Fcntl.pm',
'XSLoader.pm' => '/usr/share/perl/5.20/XSLoader.pm',
'ExtUtils/MY.pm' => '/usr/share/perl/5.20/ExtUtils/MY.pm',
'Text/ParseWords.pm' => '/usr/share/perl/5.20/Text/ParseWords.pm',
'Module/Load.pm' => '/usr/share/perl/5.20/Module/Load.pm',
'Locale/Maketext/Simple.pm' => '/usr/share/perl/5.20/Locale/Maketext/Simple.pm',
'XML/Simple.pm' => '/usr/share/perl5/XML/Simple.pm',
'Data/Dumper.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Data/Dumper.pm',
'Algorithm/Diff.pm' => '/usr/share/perl5/Algorithm/Diff.pm',
'IO/Socket/IP.pm' => '/usr/share/perl5/IO/Socket/IP.pm',
'./FHEM/90_at.pm' => './FHEM/90_at.pm',
'Digest/MD5.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Digest/MD5.pm',
'IO/Socket/UNIX.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO/Socket/UNIX.pm',
'IO/Compress/Gzip/Constants.pm' => '/usr/share/perl/5.20/IO/Compress/Gzip/Constants.pm',
'./FHEM/98_telnet.pm' => './FHEM/98_telnet.pm',
'configDB.pm' => 'configDB.pm',
'feature.pm' => '/usr/share/perl/5.20/feature.pm',
'ExtUtils/Liblist/Kid.pm' => '/usr/share/perl/5.20/ExtUtils/Liblist/Kid.pm',
'Time/HiRes.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Time/HiRes.pm',
'strict.pm' => '/usr/share/perl/5.20/strict.pm',
'IO/Uncompress/Adapter/Inflate.pm' => '/usr/share/perl/5.20/IO/Uncompress/Adapter/Inflate.pm',
'IO/Compress/Zlib/Extra.pm' => '/usr/share/perl/5.20/IO/Compress/Zlib/Extra.pm',
'XML/Parser/Expat.pm' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/XML/Parser/Expat.pm',
'Text/Diff.pm' => '/usr/share/perl5/Text/Diff.pm',
'./FHEM/55_GDS.pm' => './FHEM/55_GDS.pm',
'locale.pm' => '/usr/share/perl/5.20/locale.pm',
'Scalar/Util.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Scalar/Util.pm',
'IO/Uncompress/RawInflate.pm' => '/usr/share/perl/5.20/IO/Uncompress/RawInflate.pm',
'Compress/Raw/Zlib.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Compress/Raw/Zlib.pm',
'Math/Trig.pm' => '/usr/share/perl/5.20/Math/Trig.pm',
'base.pm' => '/usr/share/perl/5.20/base.pm',
'Socket.pm' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/Socket.pm',
'Net/Cmd.pm' => '/usr/share/perl/5.20/Net/Cmd.pm',
'./FHEM/99_myUtils.pm' => './FHEM/99_myUtils.pm',
'XML/SAX/Expat.pm' => '/usr/share/perl5/XML/SAX/Expat.pm',
'ExtUtils/MakeMaker.pm' => '/usr/share/perl/5.20/ExtUtils/MakeMaker.pm',
'utf8.pm' => '/usr/share/perl/5.20/utf8.pm',
'IO/Socket.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO/Socket.pm',
'/etc/perl/Net/libnet.cfg' => '/etc/perl/Net/libnet.cfg',
'URI/_idna.pm' => '/usr/share/perl5/URI/_idna.pm',
'DBI.pm' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/DBI.pm',
'IO/Select.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO/Select.pm',
'Config_git.pl' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/Config_git.pl',
'./FHEM/98_dummy.pm' => './FHEM/98_dummy.pm',
'ExtUtils/MM_Any.pm' => '/usr/share/perl/5.20/ExtUtils/MM_Any.pm',
'Net/SSLeay.pm' => '/usr/lib/arm-linux-gnueabihf/perl5/5.20/Net/SSLeay.pm',
'IO/Compress/RawDeflate.pm' => '/usr/share/perl/5.20/IO/Compress/RawDeflate.pm',
'./FHEM/01_FHEMWEB.pm' => './FHEM/01_FHEMWEB.pm',
'IO/Uncompress/Base.pm' => '/usr/share/perl/5.20/IO/Uncompress/Base.pm',
'IO/Uncompress/Gunzip.pm' => '/usr/share/perl/5.20/IO/Uncompress/Gunzip.pm',
'Compress/Zlib.pm' => '/usr/share/perl/5.20/Compress/Zlib.pm',
'Symbol.pm' => '/usr/share/perl/5.20/Symbol.pm',
'IO/Handle.pm' => '/usr/lib/arm-linux-gnueabihf/perl/5.20/IO/Handle.pm'
};
Zitat von: rudolfkoenig am 10 Januar 2016, 22:17:48
Ich werde fhem.pl selbst aendern, aber erst, nachdem du 98_version.pm eingecheckt hast.
OK
Zitat von: rudolfkoenig am 10 Januar 2016, 22:17:48
Sonst: Ich hoffe, es ist nicht dein ernst, Version in allen Perl-Dateien zu suchen. Bitte nur die, die mit FHEM was zu tun haben.
Nein, das ist so nicht gewollt. Bei mir tritt das nicht auf. Ich vermute das ist ein Sonderfall bei der Nutzung von configdb.
Zitat von: Markus Bloch am 10 Januar 2016, 22:20:58
Ich vermute das ist ein Sonderfall bei der Nutzung von configdb.
if(!open(FH, $fn)) {
$line = "$fn: $!";
if(configDBUsed()){
Log 4, "Looking for module $m in configDB to find SVN Id";
$line = cfgDB_Fileversion($fn,$line);
}
} else {
($line) = grep(/#.*\$Id\:[^\$\n\r].+\$/, <FH>);
}
Wenn eine Datei aus Deiner Dateiliste nicht im modpath geöffnet werden kann, wird versucht, die Datei aus der configDB zu lesen.
Offenbar enthält die Dateiliste, die Du zur Prüfung verwendest, noch viel zu viele Dateien, die nichts mit FHEM zu tun haben.
foreach my $m (keys %INC)
Du loopst über den kompletten hash.
Sollte nun behoben sein. Da der modpath bei dir "." ist, ist das alleine als Filter natürlich unzureichend. Ich filtere daher nun auf modpath/FHEM.
Zitat von: Markus Bloch am 10 Januar 2016, 22:32:41
Ich filtere daher nun auf modpath/FHEM.
hm... damit hab ich gleich das nächste Problem im Hinterkopf, aber ich bin inzwischen zu müde.
ich habs befürchtet...
File Rev Last Change
fhem.pl 10397 2016-01-07 08:36:49Z rudolfkoenig
No Id found for ./FHEM/99_myUtils.pm
90_at.pm 10421 2016-01-09 07:54:37Z rudolfkoenig
57_Calendar.pm 0 2016-01-03 borisneubert
98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig
01_FHEMWEB.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
92_FileLog.pm 10365 2016-01-05 10:57:56Z rudolfkoenig
55_GDS.pm 10388 2016-01-06 17:17:55Z betateilchen
91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig
99_SUNRISE_EL.pm 9831 2015-11-08 19:13:09Z rudolfkoenig
98_telnet.pm 10423 2016-01-09 08:35:53Z rudolfkoenig
99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig
98_version.pm 10247 2015-12-23 19:53:31Z markusbloch
59_Weather.pm 10403 2016-01-07 19:44:04Z borisneubert
configDB.pm 10345 2016-01-03 11:44:41Z betateilchen
wohin sind die Hilfsmodule jetzt verschwunden?
Behoben.
scheint zu funktionieren...
File Rev Last Change
fhem.pl 10397 2016-01-07 08:36:49Z rudolfkoenig
No Id found for ./FHEM/99_myUtils.pm
90_at.pm 10421 2016-01-09 07:54:37Z rudolfkoenig
57_Calendar.pm 0 2016-01-03 borisneubert
98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig
01_FHEMWEB.pm 10398 2016-01-07 09:05:47Z rudolfkoenig
92_FileLog.pm 10365 2016-01-05 10:57:56Z rudolfkoenig
55_GDS.pm 10388 2016-01-06 17:17:55Z betateilchen
91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig
99_SUNRISE_EL.pm 9831 2015-11-08 19:13:09Z rudolfkoenig
98_telnet.pm 10423 2016-01-09 08:35:53Z rudolfkoenig
99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig
98_version.pm 10247 2015-12-23 19:53:31Z markusbloch
59_Weather.pm 10403 2016-01-07 19:44:04Z borisneubert
Blocking.pm 10343 2016-01-03 10:55:45Z rudolfkoenig
configDB.pm 10345 2016-01-03 11:44:41Z betateilchen
GDSweblink.pm 9432 2015-10-11 10:38:18Z betateilchen
HttpUtils.pm 10137 2015-12-09 09:01:41Z rudolfkoenig
No Id found for RTypes.pm
TcpServerUtils.pm 10346 2016-01-03 12:34:27Z rudolfkoenig
Ich habe nun 98_version.pm eingecheckt. Auch wenn es verteilt wird, ist es momentan nicht aktiv und kann auch nicht geladen werden, da $cvsid momentan nicht global zugreifbar ist.
Im Anhang sind die Änderungen als Diff, welche an fhem.pl durchgeführt werden müssen. Erst damit wird das neue Modul aktiv.
Vielen Dank an betateilchen für die Geduld und Unterstützung.
Zitat von: Markus Bloch am 10 Januar 2016, 23:29:53
Im Anhang sind die Änderungen als Diff, welche an fhem.pl durchgeführt werden müssen.
zusätzliche Änderung in der fhem.pl:
Zitat von: betateilchen am 10 Januar 2016, 22:00:16
Die Deklaration
sub cfgDB_svnId;
in der fhem.pl kann entfallen, wenn die CommandVersion() ausgelagert wird.
Ist im Beitrag aktualisiert.
Hallo zusammen,
ich wollte mal eine Anmerkung zu der Ausgabe bei Nicht-Vorhandensein einer ID machen:
Die Liste ist so schwieriger mit einem Blick zu überschauen. Der Dateiname ist ja sozusagen der Schlüssel für die Liste, nach dem ja auch sortiert wird (zumindest im jeweiligen Bereich).
Wenn ich jetzt ein bestimmtes Modul suche, dann wäre es viel einfacher, wenn ich nur die erste Spalte durchsehen müsste, um dann in den nächsten Spalten zu sehen, dass es eine ID gibt, oder eben keine...
Ich suche ja nicht alle Module, die keine ID haben, dann wäre es mit dem "No ID" am Anfang besser.
Momentan muss man an den Stellen, wo keine ID gefunden wird, immer mit dem Auge die Spalte verlassen, um zu lesen, welche Datei da denn keine ID hat...
Ich finde die Variante von Markus deutlich übersichtlicher...
Grüße
Reiner
Hallo Reiner,
da ich die "No Id" Meldung bereits vor langem eingeführt habe, kann ich Dir aus meiner Erfahrung sagen, dass ich den Dateinamen genau deshalb nach hinten gestellt habe, damit sich ein solcher Eintrag aus der Liste abhebt.
Genau aus dem gleichen Grund werden auch bei einem update die übersprungenen Dateien optisch anders dargestellt.
patch hatte Probleme mit der angehaengten Datei, ich habe es per Hand eingespielt, kurz getestet und eingecheckt. Beim Test ist aufgefallen, dass "version ZW" eine "kaputte" Ausgabe produziert:
Zitatfhem> version ZW
File Rev Last Change
10_ZWave.pm 10422 2016-01-09 07:58:40Z rudolfkoenig
00_ZWCUL.pm 10444 2016-01-10 15:02:44Z rudolfkoenigZWLib.pm 10444 2016-01-10 15:02:44Z rudolfkoenig
fhem>
@Markus/Boris/John: bitte keine Aenderungen in commandref_frame.html direkt durchfuehren, sondern mir Patches schicken. Auch wenn es Kleinigkeiten sind: ich will das in meinem Augen erfolgreiches Konzept des Verantwortlichen fuer eine Datei nicht aufweichen. Wenn es sein muss, dann Modularisieren wir eben weiter.
Hallo betateilchen,
ja, wenn man die Dateien sucht, denen die ID fehlt, bzw. beim Update sehen möchte, was übersprungen wurde...
Der Normalfall dürfte für den Anwender aber ja genau andersrum sein. Er soll die Version eines bestimmten Moduls posten, bzw. man selber möchte das raussuchen, und da ist es so in meinen Augen einfach unübersichtlicher...
Ich wollte das auch nur anmerken...
Grüße
Reiner
Zitat von: rudolfkoenig am 11 Januar 2016, 07:34:31
patch hatte Probleme mit der angehaengten Datei, ich habe es per Hand eingespielt, kurz getestet und eingecheckt. Beim Test ist aufgefallen, dass "version ZW" eine "kaputte" Ausgabe produziert:
Werde ich heute Abend beheben.
Ich würde noch einen Patch für pre-commit bauen, um sicherzustellen, dass in *.pm/*.pl Dateien unter /trunk/fhem und /trunk/fhem/FHEM $Id:....$ enthalten ist. Hast du einen Tipp für mich, wie ich das weitgehend selber testen kann ohne SVN commits?
Danke
Gruß
Markus
Grob:
- svn mit rsync duplizieren (rsync -av svn.code.sf.net::p/fhem/code fhem)
- fhem/code/pre-commit direkt aufrufen
Da ich keine Ahnung habe, wie man an die Transaktionsnummer kommt, muss man in pre-commit oben eine Zeile einkommentieren, dann kann man statt Transaktionsnummer die Revisionsnummer eingeben. Vorher zwei Revisionen aussuchen: eine "Gute" und eine "Schlechte", und schon kann man testen. Oder man checkt Aenderungen direkt ind diese lokale Kopie ein, geht auch irgendwie :)
Da ich sowas nur einmal im Jahr mache, muesste ich weitere Details selbst nachforschen.
Zitat von: Markus Bloch am 11 Januar 2016, 09:45:59
Ich würde noch einen Patch für pre-commit bauen, um sicherzustellen, dass in *.pm/*.pl Dateien unter /trunk/fhem und /trunk/fhem/FHEM $Id:....$ enthalten ist.
Damit hat sich Reiners "Problem" ja dann ohnehin erledigt :)
@Markus: den Link kennst Du? https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/svn-keyword-check.pl
Zitat von: rudolfkoenig am 11 Januar 2016, 07:34:31
@Markus/Boris/John: bitte keine Aenderungen in commandref_frame.html direkt durchfuehren, sondern mir Patches schicken. Auch wenn es Kleinigkeiten sind: ich will das in meinem Augen erfolgreiches Konzept des Verantwortlichen fuer eine Datei nicht aufweichen. Wenn es sein muss, dann Modularisieren wir eben weiter.
Hallo Rudi,
Dein Anliegen ist natürlich berechtigt. Als Entwickler sieht man manchmal die Notwendigkeit, ein neues Modul als "helper" zu klassifizieren und dabei stellt sich die Frage, ob man die commandref_join.pl irgendwie dazu bringen kann, auch die helper-Module automatisch dynamisch zu erzeugen. Meine Idee dabei: den commandref-Teil eines Moduls irgendwie so zu kennzeichnen, dass er als "helper" erkannt wird.
Beispielsweise:
=pod helper
...
oder:
=pod
<helper />
...
Damit liesse sich schon ein Teil der manchmal notwendigen Eingriffe in die commandref_frame Dateien vermeiden.
Frage in die Runde.
Ich bin gerade am pre-commit Hook drann, welcher ein einchecken von *pm/*.pl ohne $Id: .... $ verhindert. Sollte das für alle Verzeichnisse gelten oder für bestimmte (z.B. nur /trunk/fhem/*.pl und /trunk/fhem/FHEM/*.pm)?
Hintergrund: Unter /trunk/fhem/FHEM/lib/ liegen einige Fremd-Libs, die keine Id besitzen. Diese würden davon ebenfalls betroffen und beim einchecken ohne $Id$ verweigert. Ebenso alles was unter contrib liegt.
Meinungen?
Gruß
Markus
Bitte nur "unsere" Module.
Und bitte nicht versehentlich Bilder oder SVG's pruefen.
OK. Das testen mit einer Kopie des Repository funktioniert seht gut. Danke für den Tipp.
So, anbei der Patch zur Prüfung auf $Id$ als Kommentar und gesetztem "Id" in svn:keywords Property.
Sollte ein Modul diese Kriterien nicht erfüllen erscheint nun:
root@debian:~/test2/trunk# svn -F /root/test2/trunk/svn-commit.2.tmp ci
Sende fhem/FHEM/72_FB_CALLMONITOR.pm
Sende fhem/FHEM/HttpUtils.pm
Sende fhem/FHEM/lib/OWNet.pm
Sende fhem/contrib/pre-commit
Sende fhem/fhem.pl
Sende fhem/www/images/fhemSVG/car.svg
Übertrage Daten ......svn: E165001: Übertragen schlug fehl (Details folgen):
svn: E165001: Übertragen wird durch Aktion pre-commit behindert (Exit-Code 1) mit Ausgabe:
*** trunk/fhem/FHEM/72_FB_CALLMONITOR.pm: file has no SVN Id as comment
*** trunk/fhem/FHEM/72_FB_CALLMONITOR.pm: Id property not set in svn:keywords
*** trunk/fhem/FHEM/HttpUtils.pm: file has no SVN Id as comment
*** trunk/fhem/FHEM/HttpUtils.pm: Id property not set in svn:keywords
root@debian:~/test2/trunk#
Diese Vorgabe gilt nur für trunk/fhem/FHEM/*.pm (ohne Unterordner). Im o.a. Ausgabebeispiel habe ich $Id$ auch aus fhem.pl entfernt, sowie Änderungen an Icons, und Modulen unter FHEM/lib/ durchgeführt.
Getestet habe ich (wie von Rudi vorgeschlagen) mit einer lokalen Kopie des Sourceforge-Repository. Sowohl Geräte- als auch Helper-Module werden dabei berücksichtigt. Unterordner oder andere Dateitypen als .pm werden ignoriert.
Ich habe noch ein überflüssiges $fName in der err-Ausgabe der 80-Zeichen/Zeile Prüfung entfernt.
Anbei das diff und der komplette pre-commit.
Gruß
Markus
Habe die pre-commit Aenderungen aktiviert, und danach die Datei in contrib eingecheckt.
RTypes.pm konnte ich danach nicht mehr einchecken, 00_ZWCUL.pm dagegen schon.
Zitat von: betateilchen am 11 Januar 2016, 11:15:36
Hallo Rudi,
Dein Anliegen ist natürlich berechtigt. Als Entwickler sieht man manchmal die Notwendigkeit, ein neues Modul als "helper" zu klassifizieren und dabei stellt sich die Frage, ob man die commandref_join.pl irgendwie dazu bringen kann, auch die helper-Module automatisch dynamisch zu erzeugen. Meine Idee dabei: den commandref-Teil eines Moduls irgendwie so zu kennzeichnen, dass er als "helper" erkannt wird.
Beispielsweise:
=pod helper
...
oder:
=pod
<helper />
...
Damit liesse sich schon ein Teil der manchmal notwendigen Eingriffe in die commandref_frame Dateien vermeiden.
Etwas ähnliches hatte ich hier mal gebaut: http://forum.fhem.de/index.php/topic,39854.msg321522.html#msg321522
Hallo Rudi,
ich habe in 98_version das ermitteln der Version von fhem.pl von $cvsid auf das einlesen von fhem.pl über $0 (Pfad des asugeführten Perl-Skripts) umgestellt. Damit ist sichergestellt, dass $cvsid nicht durch User versehentlich überschrieben oder verändert wird und die Version immer auf gleiche Weise ermittelt wird, wie bei allen anderen Dateien.
Die Variable $cvsid in fhem.pl muss daher nicht mehr global verfügbar sein.
Wenn du magst, kannst du sie wieder mit "my" deklarieren.
Viele Grüße
Markus
Hallo,
der pre-commit hook, der auf die Id checkt, erzeugt folgendes Problem:
- Bei RTypes.pm ist die Id-Property gesetzt.
- Es gibt eine Id-Zeile, diese ist jedoch noch leer, weil die Datei noch nicht mit Id eingecheckt wurde.
- Das führt dazu, dass ich die Datei auch nicht einchecken kann.
Meldungen:
$ svn commit RTypes.pm
Sende RTypes.pm
Übertrage Daten .svn: E165001: Übertragen schlug fehl (Details folgen):
svn: E165001: Commit blocked by pre-commit hook (exit code 1) with output:
*** trunk/fhem/FHEM/RTypes.pm: file has no SVN Id as comment
svn: E165001: Ihre Logmeldung wurde in einer Temporärdatei abgelegt:
svn: E165001: ».......l/fhem-code/fhem/FHEM/svn-commit.2.tmp«
Ich vermute, dass die Prüfung auf den Tag zu eng ist.
Die Id-Zeile lautet
# $Id $
Viele Grüße
Boris
Du musst $Id$ (ohne Leerzeichen) setzen.
Das hat nichts mit dem pre-commit zu tun. Dein $Id $ wird von SVN selber schon garnicht erkannt, da es sich ja auch um eine Perl-Variable handeln könnte. Daher wird dein $Id $ von SVN nicht erkannt und ersetzt. entweder $Id$ oder $Id: .... $
Gruß
Markus
Danke, das war's. Erfolgreich eingecheckt.
Grüße
Boris
ZitatMeine Idee dabei: den commandref-Teil eines Moduls irgendwie so zu kennzeichnen, dass er als "helper" erkannt wird.
Habs implementiert. Damit es ein (mAn) gueltiges pod bleibt, heissen die tags
=item helper
=item command
=item device
wobei letzteres default ist.
Ich habe "meine" commands/helper entsprechend gekennzeichnet, und sie aus commandref_frame.html entfernt.
Nebeneffekt: die Sortierung wird jetzt vom Computer durchgefuehrt, und Klein-/Grossschreibung wird dabei ignoriert.
Danke. Dann geh ich mir mal Deine Module anschauen, um rauszufinden, wo das genau hin muss.
Edit: ok, gefunden :)
=pod
=item command
=begin html
Hallo Rudi,
ich habe es bei meinem Modul (rssFeed) gerade eingebaut.
Wenn du es dann freundlicherweise bei Gelegenheit mal aus der commandref_frame aus helper raus nehmen könntest.
Danke dir!
Benni.
ich hab LightScene
logProxy
mailcheck
readingsGroup
readingsHistory
readingsProxy
SYSSTAT
speedtest
angepasst.
d.h. du kannst sie aus commandref_frame.html und commandref_frame_DE.html entfernen.
sollten wir vielleicht noch mal 1-2 sätze als richtlinie spendieren was helper und was device ist? mailcheck, spendetest und SYSSTAT bin ich zum beispiel nicht so ganz sicher. zumal es noch SYSMON gibt das bei device steht.
edit: copy auch angepasst und das ganze als patch.
Zitat von: justme1968 am 16 Januar 2016, 20:59:43
sollten wir vielleicht noch mal 1-2 sätze als richtlinie spendieren was helper und was device ist?
Es gab hierzu schonmal eine Diskussion über die Definition. Wenn ich mich recht erinnere, wurden damals als "device" alle die Module klassifiziert, die ein Device erzeugen, das verwertbare readings produziert. Nach dieser Definition wäre beispielsweise mailcheck für mich eher als device zu klassifizieren denn als helper.
Aber wir können die Diskussion natürlich gerne noch einmal führen, vielleicht ergeben sich neue Erkenntnisse.
die definition finde ich gut.
Ich habe meine Module klassifiziert.
Index: commandref_frame.html
===================================================================
--- commandref_frame.html (Revision 10533)
+++ commandref_frame.html (Arbeitskopie)
@@ -39,9 +39,7 @@
<a href="#attr">attr</a>
<a href="#cancel">cancel</a>
<a href="#cmdalias">cmdalias</a>
- <a href="#configdb">configdb</a>
<a href="#copy">copy</a>
- <a href="#count">count</a>
<a href="#createlog">createlog</a>
<a href="#define">define</a>
<a href="#defmod">defmod</a>
@@ -52,7 +50,6 @@
<a href="#fheminfo">fheminfo</a>
<a href="#get">get</a>
<a href="#getstate">getstate</a>
- <a href="#help">?,help</a>
<a href="#IF">IF</a>
<a href="#include">include</a>
<a href="#inform">inform</a>
@@ -94,7 +91,6 @@
<ul>
<!-- header:helper -->
<a href="#Calendar">Calendar</a>
- <a href="#configDB">configDB</a>
<a href="#CustomReadings">CustomReadings</a>
<a href="#DOIF">DOIF</a>
<a href="#Dashboard">Dashboard</a>
Hier ist die erwähnte Diskussion zum Thema:
http://forum.fhem.de/index.php/topic,16042.0.html
Ich denke der o.a. Hinweis mit den verwertbaren Readings zusammen mit der folgende Aussage von Rudi aus der alten Diskussion sind Definition genug:
Zitat von: rudolfkoenig am 03 November 2013, 10:42:11
da diese wie "normale" Module Sensordaten besorgen, nur von oeffentlich verfuegbaren Quellen.
Außerdem:
Zitat von: betateilchen am 03 November 2013, 10:52:32
gibts denn in fhem keine wichtigeren "Baustellen" als sowas?
;)
Ich geh dann mal und sortiere mein Modul bei den devices ein.
Zitat von: Benni am 16 Januar 2016, 21:25:35
Außerdem:
Auch ich lerne dazu und revidiere durchaus meine Meinung.
Gefühlt würde ich sagen, dass sich seit der damaligen Diskussion (November 2013) die Anzahl der Module mindestens verdoppelt hat. Insofern macht es inzwischen schon Sinn, in diese Frage eine Struktur zu bekommen, die eine automatische Sortierung innerhalb der commandref ermöglicht, ohne jedesmal die frame-Dateien anfassen zu müssen.
@rudi: das mit dem device als default hat bei mir nicht funktioniert. mailcheck, speedtest und SYSTAT landen erst dann bei device wenn ich es explizit angebe. ohne =item device bleiben sie in helper. und ja: ich habe meine commandref_frame angepasst.
Andre, das Problem kann ich nicht nachvollziehen. Ich habe aus 32_mailcheck.pm die =item Zeile entfernt und aus der commandref_frame.html das Modul aus der helper-Liste gelöscht.
Nach einem commandref_join steht mailcheck dann wie geplant unter devices.
(http://up.picr.de/24302094vy.jpg)
Wow, da hat man einmal im Monat am Wochenende Besuch im Haus und plötzlich hat man eine automatische Modul-Einsortierung in der commandref. Daumen hoch dafür.
Ich hab soeben meine Module eingruppiert. Folgende Module können aus der commandref entfernt werden:
version
PRESENCE
FB_CALLLIST
FB_CALLMONITOR
Viele Grüße
Markus
Anbei nochmal ein kleiner Patch zu commandref_join, der das Einlesen aller Module am Anfang zur Ermittlung der =item Marker beendet, sobald ein Ergebnis gefunden wurde. Bei der Anzahl der Dateien spart das durchaus merkbar Zeit.
Desweiteren noch kleine kosmetische Fixes der Fehlerausgaben zur Vereinheitlichung.
Gruß
Markus
Ich habe in CHANGED einen Hinweis eingebaut, damit sich morgen niemand über das hohe Updatevolumen wundert und verunsichert wird.
@betateilchen: komisch. ich habe es mehrfach hin und her probiert. immer mit dem gleichen ergebniss. ich schaue morgen noch mal woran es genau liegt.
@Markus Bloch: du solltest öfter besuch bekommen. wer was was sich dann noch alles in fhem tut :)
Rudi hat einfach die Chance genutzt, die commandref_join.pl zu einem Zeitpunkt zu ändern, an dem Markus sie nicht in Bearbeitung hatte 8)
@Markus: patch eingespielt.
@Markus/@betateilchen/@justme1968/@benni: habe die erwaehnten Module aus commandref_frame.html entfernt.
Falls jemand in der Uebersicht weitere Kategorien wuenscht, bitte melden.
Vielen Dank, Rudi!
Weil es so viel Spaß macht, hier nochmal ein Patch für kleinere Optimierungen an commandref_join.pl:
- Es werden nur noch Module in die Übersicht aufgenommen, die auch tatsächlich eine Commandref besitzen (matcht auf /^=pod/)
- configDB.pm wird als "command"-Modul eingruppiert (Ich hoffe betateilchen haut mich jetzt nicht, das ich configDB relevante Sachen anfasse :-\ )
Gruß
Markus
edit: Patch zurückgezogen nach einigen Überlegungen
Zitat von: Markus Bloch am 17 Januar 2016, 09:43:48
- configDB.pm wird als "command"-Modul eingruppiert
NEIN! Lass das bitte, das ergibt überhaupt keinen Sinn.
- Die Datei ./configDB.pm ist als helper einzuordnen, so wie das bisher auch war. Die Klassifizierung wurde gestern von mir in der Datei vorgenommen.
- Die Datei ./FHEM/98_configdb.pm ist eine command Datei, diese wurde von mir auch schon entsprechend klassifiziert.
Zitat von: betateilchen am 17 Januar 2016, 10:08:09
NEIN! Lass das bitte, das ergibt überhaupt keinen Sinn.
Ja, hast recht. Habe ich erst später gesehen. Sry!
Zitat von: betateilchen am 17 Januar 2016, 10:08:09
Die Datei ./configDB.pm ist als helper einzuordnen, so wie das bisher auch war. Die Klassifizierung wurde gestern von mir in der Datei vorgenommen.
Die aktuelle Implementation von commandref_join.pl ignoriert allerdings bei configDB.pm deine Klassifizierung, da sie nicht explizit danach durchsucht wird. Momentan werden nur /\d\d_.*\.pm$/ im Unterordner "FHEM" danach explizit durchsucht.
configDB.pm wird nachträglich in die Liste der Module aufgenommen. Eine Prüfung welches Gruppierung zu nutzen ist, erfolgt nicht. Bei mir ist configDB momentan garnicht gelistet, da es keinerlei Eintrag in $modIdx{configDB} aktuell gibt:
$mods{configDB} = "configDB.pm" if(-f "configDB.pm");
Daher mein Vorschlag (jetzt als "helper"):
if(-f "configDB.pm") {
$mods{configDB} = "configDB.pm";
$modIdx{configDB} = "helper";
}
Viele Grüße
Markus
Genau das hatte ich auch gerade getestet, nachdem ich das Frühstück beendet hatte 8)
Index: commandref_join.pl
===================================================================
--- commandref_join.pl (revision 10549)
+++ commandref_join.pl (working copy)
@@ -41,7 +41,12 @@
close(MOD);
}
}
- $mods{configDB} = "configDB.pm" if(-f "configDB.pm");
+
+ if(-f "configDB.pm") {
+ $mods{configDB} = "configDB.pm";
+ $modIdx{configDB} = "helper";
+ }
+
} else { # check for syntax only
my $modname = $verify;
$modname =~ s/^.*[\/\\](?:\d\d_)?(.+).pm$/$1/;
Zitat von: betateilchen am 17 Januar 2016, 10:47:20
Genau das hatte ich auch gerade getestet, nachdem ich das Frühstück beendet hatte 8)
Ich hab das Frühstück ausgelassen, daher war ich schneller ;-)
Das ausgiebige Frühstück am Sonntag ist für mich ein heiliger Kult :P
@betateilchen: Habe dein Patch eingecheckt.
Danke.
Meine beiden Module InfoPanel und weco habe ich eben von device nach helper umklassifiziert, die können bei Gelegenheit aus helper@commandref_frame entfernt werden.
Zitat von: rudolfkoenig am 16 Januar 2016, 20:33:49
Ich habe "meine" commands/helper entsprechend gekennzeichnet, und sie aus commandref_frame.html entfernt.
Nebeneffekt: die Sortierung wird jetzt vom Computer durchgefuehrt, und Klein-/Grossschreibung wird dabei ignoriert.
Folgende Module können ebenfalls aus commandref_frame entfernt werden:
10_RESIDENTS
20_GUEST
20_ROOMMATE
70_Pushover
75_MSG
75_msgConfig
98_GEOFANCY
@betateilchen: habs entfernt.
@Loredo: ich tu mich damit schwer, da keiner dieser Module je in commandref_frame erwaehnt war.
Zitat von: rudolfkoenig am 18 Januar 2016, 10:01:06
@Loredo: ich tu mich damit schwer, da keiner dieser Module je in commandref_frame erwaehnt war.
Komisch, hatte sie dort als Helper Module bzw. Command eingefügt.
Hast du geschaut, ob du die Module ohne den XX_ Präfix dort findest? Hatte den der Eindeutigkeit halber mit angegeben.
RESIDENTS
GUEST
ROOMMATE
MSG
msgConfig
GEOFANCY
Im Falle von RESIDENTS gibts da eh einen Zuordnungsfehler, es wird dort auf #RSS statt #RESIDENTS verlinkt. Aber die Zeile zu entfernen löst das ja dann...
Ich hätte da noch eine "Sonderlocke" (wobei ich glaube das auch schon bei anderen Modulen gesehen zu haben):
Die Schreibweise der Moduldatei 75_MSG.pm unterscheidet sich von der, wie sie in der Commandref verwendet werden soll (msg).
Das war bei der manuellen Verlinkung in commandref_frame kein Problem, dort konnte man einfach den Link auf "#MSG" setzen und den angezeigten Text auf "msg". Der Hintergrund bei diesem Kommando ist historisch bedingt, da es vorher ein gleichnamiges Modul gab, dessen Namensraum nun für das Kommando übernommen wurde. Daher wurde der Dateiname entsprechend beibehalten.
Ließe sich der Überschriften-Name ggf. auch noch als Pod mit einbauen?
Was spricht dagegen, dass Du den Modulnamen in Kleinbuchstaben änderst?
Würde ich gerne, dann gibt es bei nicht aktuell gehaltenen FHEM Installationen aber einen Konflikt beim verwendeten Namensraum zwischen dem obsoleten (und inzwischen entfernten Modul) 75_MSG.pm und dem Kommando "msg". Das hatte in der Anfangszeit auch gedauert (http://forum.fhem.de/index.php/topic,39983.msg346834.html#msg346834) das herauszufinden.
@Loredo: sorry, war wohl nicht ganz wach. Habe die Eintraege entfernt.
ich wäre ohnehin dafür, alles was mit Modulnamen zu tun hat, nur noch in kleinbuchstaben darzustellen. Das würde die Lesbarkeit in manchen Übersichten und fhem-Ausgaben erheblich vereinfachen.
Zitat von: rudolfkoenig am 16 Januar 2016, 20:33:49
Ich habe "meine" commands/helper entsprechend gekennzeichnet, und sie aus commandref_frame.html entfernt.
Kann es sein, dass Du SUNRISE_EL und update übersehen hast?
Ja, danke fuer den Hinweis. Immerhin war update "halb" fertiig :)
Und jetzt noch XmlList, restore, notice/fheminfo(kommisarisch), JSonList, cmdalias, Utils.
Ahem.
copy könnte ebenfalls aus commands entfernt werden, die Moduldatei 98_copy.pm ist bereits angepasst, wenn ich das richtig sehe.
So langsam wird die Liste richtig übersichtlich :)
ja copy kann wie weiter oben beschrieben auch raus.
Entfernt.
Hallo,
<a href="#Calendar">Calendar</a>
<a href="#HTTPSRV">HTTPSRV</a>
<a href="#RSS">RSS</a>
können aus commandref_frame.html etc. entfernt werden, die Module sind klassifiziert.
Grüße
Boris
Entfernt.
Hi,
ist das noch aktuell? Habe meine Module hoffentlich korrekt klassifiziert.
FHEM/93_DbLog.pm
FHEM/98_Text2Speech.pm
Macht das comandref_Join automatisch? Wenn Angabe der Klasse dann einordnung dort, sonst default? Noch sind meine Module im commandref_frame hart eingetragen
Die Änderungen an den commandref_frame Dateien hat Rudi sich explizit selbst vorbehalten, sobald hier im Thread eine Änderung (wie jetzt von Dir) bekanntgegeben ist.
commandref_join findet Deine Klassifizierung automatisch.
Habe DbLog aus commandref_frame.html entfernt, der Eintrag wird weiterhin im Helper Abschnitt einsortiert, zusammen mit Text2Speech.
Bleiben noch folgende Module (Modulautoren aufgepasst):
CustomReadings
DOIF
Dashboard
dewpoint
FLOORPLAN
HCS
Heating_Control
HMinfo
HourCounter
MaxScanner
PachLog
RandomTimer
rain
remotecontrol
statistics
Twilight
THRESHOLD
WeekdayTimer
WOL