Fehler beim Update ../contrib/commandref_join.pl

Begonnen von Achim, 27 Februar 2015, 20:09:04

Vorheriges Thema - Nächstes Thema

Achim

Hallo,

seit einigen Tagen bekomme ich beim Update Fehlermeldungen. Hier mal die Meldungen von heute.
ZitatEvents (global only):
2015-02-27 19:45:17 Global global backup tar: Removing leading `/' from member names
2015-02-27 19:45:18 Global global backup done: FHEM-20150227_194405.tar.gz (8333717 Bytes)
2015-02-27 19:45:18 Global global RMDIR: /usr/share/fhem/restoreDir/2015-02-21
2015-02-27 19:45:19 Global global UPD ./fhem.pl
2015-02-27 19:45:20 Global global UPD FHEM/00_THZ.pm
2015-02-27 19:45:20 Global global UPD FHEM/01_FHEMWEB.pm
2015-02-27 19:45:20 Global global UPD FHEM/10_IT.pm
2015-02-27 19:45:20 Global global UPD FHEM/14_CUL_TCM97001.pm
2015-02-27 19:45:20 Global global UPD FHEM/90_at.pm
2015-02-27 19:45:20 Global global UPD FHEM/91_notify.pm
2015-02-27 19:45:21 Global global UPD FHEM/98_WOL.pm
2015-02-27 19:45:21 Global global Calling /usr/bin/perl /usr/share/fhem/contrib/commandref_join.pl, this may take a while
2015-02-27 19:47:56 Global global EN FHEM/09_CUL_FHTTK_org.pm: No  link EN FHEM/10_FRM_new.pm: No  link EN FHEM/10_FRM_new2.pm: No  link EN FHEM/10_FRM_new3.pm: No  link *** EN FHEM/11_OWX_FRM.pm: No document text found EN FHEM/00_OWX_new.pm: No  link EN FHEM/00_OWX_old.pm: No  link *** EN FHEM/44_RFXELSE.pm: No document text found *** EN FHEM/99_RpiUtils.pm: No document text found EN FHEM/98_SVG-new.pm: No  link EN FHEM/98_SVG-old.pm: No  link *** EN FHEM/99_XmlList.pm: No document text found *** EN FHEM/99_myUtils.pm: No document text found
2015-02-27 19:47:56 Global global
2015-02-27 19:47:56 Global global update finished, "shutdown restart" is needed to activate the changes.
2015-02-27 19:47:56 Global global
2015-02-27 19:47:56 Global global Please consider using the global attribute sendStatistics

Beim FHEM Development kann ich es nicht schreiben, aber vielleicht liest hier auch ein Entwickler mit.

Für das Update habe ich
attr global updateInBackground 1eingestellt.

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

betateilchen

Das ist alles völlig normal, Rudi hat den update-Prozess umgebaut.

http://forum.fhem.de/index.php/topic,33916.msg265013.html#msg265013

Du hast in Deinem Verzeichnis /FHEM nicht benötigte Moduldateien umbenannt. Das fhem Update versucht, aus allen in FHEM vorhandenen Moduldateien einen Hilfetext zu lesen, der zum Dateinamen passen muss. Dies ist bei Deinen Dateien mit _new und _old im Namen logischerweise nicht der Fall, deshalb gibt es die Hinweismeldungen mit den "No link..."

In den Fällen, in denen "No document text found..." gemeldet wird, gibt es in den Moduldateien überhaupt keine Hilfetexte.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tom111

Wieso kommt:
ZitatCalling /usr/bin/perl ./contrib/commandref_join.pl, this may take a while
eigentlich bei jedem Update ??

ZitatDas ist alles völlig normal, Rudi hat den update-Prozess umgebaut.
>:(
Ich empfinde das ganz und gar nicht als normal !
Dadurch wird der Update-Prozess extrem verzögert, was früher in Bruchteilen von Sekunden durchlief dauert jetzt eine gefühlte halbe Ewigkeit.

Ich habe die Befürchtung dass ich dadurch auch schon einmal meine Karte zerschossen haben.

Ich kann mir diese Art von Update nicht als Dauerlösung vorstellen und empfinde das ganze als extrem verwirrend und nervend! >:(

Gruß
Tom
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

betateilchen

Das kommt einfach deshalb jedesmal, weil bei jedem Update Deine lokale commandref.html neu erstellt wird. Diese Neuerstellung gab es eigentlich schon immer bei jedem Update, sie fand allerdings nicht lokal auf Deiner Installation statt, sondern auf dem fhem update server selbst.

Der Vorteil der lokalen Erstellung: Du bekommst in der commandref auch die Dokumentation von Modulen generiert, die nicht im offiziellen FHEM Pfad liegen, sondern die Du z.B. aus ./contrib kopiert hast um sie zu verwenden. Setzt Du beispielsweise das Modul 98_openweathermap.pm ein, enthält Deine lokale commandref auch die Dokumentation zu diesem Modul. Die "offizielle" commandref auf fhem.e enthält diesen Dokumentationsteil nicht.

Wenn Dich die Generierung der commandref wirklich so sehr stört (wir reden hier über eine Aktion, die normalerweise nur ein paar Sekunden benötigt) kannst Du das ganz einfach dadurch umgehen, dass Du die Datei commandref_join.pl in my_commandref_join.pl umbenennst. Oder indem Du die Datei komplett aus Deiner Installation löscht.

Eine Karte dadurch zu zerschießen ist eigentlich nicht vorstellbar. Es werden letztendlich die gleichen Daten auf Deine Karte geschrieben wie schon immer. Nur dass eben vorher die komplette Datei per update kam und auf Dein Speichermedium geschrieben wurde.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Doggiebert

Zitat von: Tom111 am 08 März 2015, 14:09:18
Ich habe die Befürchtung dass ich dadurch auch schon einmal meine Karte zerschossen haben.
Wie soll das denn funktionieren?

Zitat von: Tom111 am 08 März 2015, 14:09:18
Ich kann mir diese Art von Update nicht als Dauerlösung vorstellen und empfinde das ganze als extrem verwirrend und nervend! >:(
Schrei nicht so  :o und was genau funktioniert denn nicht an FHEM, während das läuft?
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

rudolfkoenig

ZitatDadurch wird der Update-Prozess extrem verzögert, was früher in Bruchteilen von Sekunden durchlief dauert jetzt eine gefühlte halbe Ewigkeit.
Leute mit langsamen Netzanbindung und schnellen CPU empfinden es andersherum, weitere Vorteile siehe mein verlinkter Beitrag.  Weiterhin spart mir das 35% des update-Verkehrs. Im Januar betrug das commandref-update 70GB, vor einem Jahr waren das 15GB.

ZitatIch kann mir diese Art von Update nicht als Dauerlösung vorstellen
Nicht vergessen: es steht jedem frei einen besseren Update-Mechanismus zu entwickeln und zu betreiben.
Drohen ist wirkungslos, ich verdiene mit FHEM nichts, und war mit 100 FHEM Anwendern mehr zufrieden, als mit 10.000+.

Zitatund empfinde das ganze als extrem verwirrend und nervend!
Verwirrend kann ich nicht nachvollziehen, ist klar dokumentiert, was passiert. Wenn es nervt, dann kann man docs/commandref.html auf read-only setzen, dann bleibt dieser Schritt aus, und die Gesamt-Doku auf einem alten Stand. Modul-Doku via help ist weiterhin up-to-date.

betateilchen

#6
Könnte man exclude_from_update dahingehend benutzen, dass bei einem Eintrag "commandref" in diesem bereits existierenden Attribut die Generierung einfach ausbleibt?

Ich werde mal schauen, ob sich das in 98_update.pm ohne große Probleme einbauen läßt.




Edit: Lösungsvorschlag https://git.fhem.de/bugzilla/show_bug.cgi?id=9

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tom111

Zitat von: Tom111 am 08 März 2015, 14:09:18
Ich habe die Befürchtung dass ich dadurch auch schon einmal meine Karte zerschossen haben.
Zitat von: Doggiebert am 08 März 2015, 14:53:39
Wie soll das denn funktionieren?
Ganz einfach, da ich gewohnt war dass das Update nur solange dauert bis alles durchgelaufen war (in der Regel ein paar Sekunden) und der Hinweis :
Calling /usr/bin/perl ./contrib/commandref_join.pl, this may take a while
dort extrem lange da stand, also mindestens eine Minute, dachte ich dass wohl alles schon fertig war und habe FHEM neu gestartet.
Dadurch gab es im Nachhinein etliche Fehler die ich nur durch das Neuaufspielen einer Sicherungskopie wieder bereinigen konnte.

Gruß
Tom
FHEM 5.9 auf Raspberry Pi - 3B+ - Stretch-5.10.88+ | CUL868 CC1101 - USB - Lite module - V3 FW 1.67
Fritz!Box 7490 OS 07.29 / Fritz!Dect200 / Fritz!Powerline 546E
FS20ST-4/ FS20 DI-5/ FS20LS/ FS20 PIRI-2-KU/ FS20 TFK/ FS20S4A/FS20 SU-3/FS20 S20-3
HMS100TF/FHT80TF-2/ASH2200/S300TH/MiLight-Bridge V

betateilchen

Zitat von: Tom111 am 08 März 2015, 23:08:41
dachte ich dass wohl alles schon fertig war und habe FHEM neu gestartet.
Dadurch gab es im Nachhinein etliche Fehler die ich nur durch das Neuaufspielen einer Sicherungskopie wieder bereinigen konnte.

Dass Du aber wegen Deines eigenen Fehlverhaltens jetzt alles auf eine durchaus positiv zu betrachtende Softwareänderung schiebst, scheint mir ein völlig anderes Problem zu sein...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Markus Bloch

Du trafst diese Schlussfolgerung trotz des Hinweises "this may take a while"? Wenn ich so eine Meldung sehe, weis ich, das dauert bestimmt mind. 1 Minute.

Du beschimpfst jetzt also uns (die Entwickler) was es uns einfallen könnte so etwas zu bauen, obwohl du nicht richtig gelesen hast und es noch keine "Update finished" Meldung kam?. Vor einem US-Gericht mit Johnnie Cochran als Anwalt und seiner Chewbacca-Verteidigung, würdest du bestimmt Recht bekommen.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

betateilchen

Wir Entwickler sind doch sowieso alle doof und unser aller und einziges Bestreben liegt nur noch darin, allen Anwendern das Leben so schwer wie möglich zu machen...  8) Hast Du das etwa noch nicht gewusst?

Jetzt warten wir einfach mal, was Rudi zum unterbreiteten Lösungsvorschlag meint...

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig


betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Achim

Hallo Rudi,

zu der Farbänderung habe ich dich auf dem Usertreffen angesprochen. Noch kurz die Erklärung des Schönheitsfehlers für alle die mitlesen. Seit dem Umbau des Updates, bzw. Erzeugen der commandref auf dem lokalen System habe ich bei der Ausgabe der Stati eine Farbwechsel von Schwarz auf Grün. Die Farbe wechselt wohl immer an der gleichen Stelle. Ich habe 2 Bildschirmhardcopies der Mail angefügt.

Das Einschalten des Javascript Monitors habe ich irgendwie nicht hinbekommen, falschen verwendet, was auch immer..  :(  Wenn die Bildschirmhardcopies nicht weiterhelfen, bräuchte ich Unterstützung was ich wie genau einschalten/mitprotokollieren soll (Firefox oder IE11).

Viele Grüße
Achim
1x RPi V1, COC, 6x FHT, 1x S300TH, 2x DS18B20, 1x KS300
1x Arduino Nano mit Firmata, 2x DS2423old, 4x DS18B20, HIH5030, verschiedene Ein/Ausgangsschaltungen am Arduino
Mysensors-Seriell Gateway, Si7021, BH1750, Relais

rudolfkoenig

Habs gefixt (commandref_join.pl hat in der Fehlermeldung einen HTML-Link ausgegeben) und eingecheckt, ab morgen per update.

JavaScript Console in IE11: F12, in Firefox Extras,Web-Entwickler,Web-Konsole