ERROR: FHEM/00_SIGNALduino.pm belongs to source repository "fhem"
Expected Behavior
Actual Behavior
2020.01.27 17:26:22 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/00_SIGNALduino.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino 2020.01.27 17:26:22 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_UT.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
Steps to Reproduce the Problem
- update
- shutdown restart
- show log
Specifications
- Microcontroller: egal
- Version (Firmware): egal
- Versionmodul (FHEM Module): v3.4.2_dev_20.01
@elektron-bbs
Zitat Slack :-) "Das sind die Ausgaben von Meta / Installer Modul."
Es ist kein Fehler.
Es steht aber groß ERROR da... Was wollen mir die Meldungen sagen?
Es steht aber groß ERROR da... Was wollen mir die Meldungen sagen?
Gehört zum Quell-Repository "fhem". Ignoriert den identischen Dateinamen aus dem Quell-Repository signalduino.
Das möchte bestimmt zum Ausdruck bringen, das die Quellen aus dem SVN ignoriert werden oder sowas. Mach doch mal den Test, wenn du die update list leer machst von den beiden Quellen und dann neu startest. Ich vermute, dann wird das weg sein.
Die Meldungen kommen aber nicht beim Update, sondern beim Start von FHEM. Mir ist nicht bewusst, das da eine Abfrage erfolgt, aus welchem Repo die Dateien stammen. Außerdem müsste die Meldung ja dann für mehr Dateien als diese beiden kommen.
Zitat:
„ Die Meldung kommt von META. Eventuell lässt sich die Ausgabe besänftigen wenn eigene, passende, Metadaten im Modul hinterlegt sind.
Wieso das als Error und nicht als Warning oder Info deklariert ist, kann uns nur der Entwickler verraten.“
@elektron-bbs
if ($16) {
if ( defined( $moduleUpdates{$17} ) ) {
# We're not overwriting update info
# if source repo name does not match
if ( ref( $moduleUpdates{$17} ) eq 'ARRAY'
&& $moduleUpdates{$17}[0] ne $update[0] )
{
Log 1,
__PACKAGE__
. "::__GetUpdatedata: ERROR: "
. $update[13]
. ' belongs to source repository "'
. $moduleUpdates{$17}[0]
. '". Ignoring identical file name from source repository '
. $update[0];
next;
}
else {
delete $moduleUpdates{$17};
}
}
$moduleUpdates{$17} = \@update;
}
was er uns damit sagen möchte ... versuche ich derzeit noch in Erfahrung zu bringen.
Wer sagt was? Da steht doch nur. dass das META Modul die Datei aus einem anderen Repository ignoriert, da das Modul über das fhem repository geladen wird.
Das META Modul generiert Metadaten beim Initialisieren, wenn keine Daten im Modul hinterlegt sind nach bestem Informationsstand.
Ich habe heute den Maintainer mal angeschrieben und gefragt, wieso er die Meldung als ERROR definiert.
Hallo @elektron-bbs und @sidey79 , hier ist die Aufklärung vom Maintainer.
„Die Meldung besagt, dass diese Dateien in mehr als nur einer Update Controls Datei stehen und angenommen wird, dass diese zu FHEM Core Code gehören, da sie von dort zuerst ausgeliefert werden. Er soll informieren, dass man hier womöglich Dateiversionen läd, die nicht dem Original entspricht.
Da der FHEM Installer derzeit noch keine FHEM Module updaten kann, ist das derzeit nur ein Hinweis ohne konkrete Folgen.
Die wohl richtig Aktion wäre sich bei der Auslieferung der Module für eines der Quellen zu entscheiden.“
EDIT: Nun kann ich es auch nachvollziehen. Wenn man in der update Liste 2 Einträge hat wo die Dateien gefunden werden, so kommt diese Meldung.
Konstellation Liste
http://fhem.de/fhemupdate/controls_fhem.txt
https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r34/controls_signalduino.txt
Die Dateien sind in controls_fhem.txt und zusätzlich controls_signalduino.txt.
Mittlerweile wundern sich auch noch andere im Forum: https://forum.fhem.de/index.php?topic=108017.0
Hinweis
Da die Struktur controls Datei fhem nicht 1:1 der controls Datei SIGNALduino entspricht, so kommt es zu teilweisen "fehlerhaften" Ausgaben. Der Unterschied besteht in den Leerzeichen nach der Revisionsnummer. fhem Datei umfasst immer nur ein Leerzeichen und im Signalduino sind es mal 1 und mal 2 Leerzeichen.
Da das Match Modul eine feste Struktur verarbeitet https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/Meta.pm#L3003 so werden die "nicht konformen anderen" controlsDateien fehlerhaft verarbeitet.
Es gibt da 2 Möglichkeiten:
- Anpassung der controlsDatei im SIGNALduino wie Format controlsDatei fhem
- Patcheinreichung beim Maintainer
Korrigierte controlsDatei SIGNALduino
2023.01.03 09:59:21.001 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/00_SIGNALduino.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.001 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/10_FS10.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.001 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/10_SD_GT.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.002 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_FLAMINGO.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.002 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_Hideki.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.002 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_BELL.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.002 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_UT.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.002 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_WS.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.002 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_WS07.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.002 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_WS09.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.003 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_WS_Maverick.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.003 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/41_OREGON.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 09:59:21.003 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/90_SIGNALduino_un.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
derzeitige controlsDatei SIGNALduino
2023.01.03 10:14:14.267 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/00_SIGNALduino.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 10:14:14.267 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_UT.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
2023.01.03 10:14:14.267 1: FHEM::Meta::__GetUpdatedata: ERROR: FHEM/14_SD_WS.pm belongs to source repository "fhem". Ignoring identical file name from source repository signalduino
Die Meldungen kommen doch vom Meta Modul. Bist Du dir sicher, dass die Controls Datei damit was zu tun hat?
Ich ziehe meine letzte Frage zurück, nachdem ich den Code genauer gesichtet habe