offline Update - update rein mit lokalen Dateien ohne Internet

Begonnen von quartz, 04 Juni 2026, 14:37:43

Vorheriges Thema - Nächstes Thema

quartz

Ich würde gerne mein FHEM offline updaten, also ohne jeglichen Internetzugang.

Einfach ein neues Paket einspielen (vgl. https://debian.fhem.de/) ist ja nicht. Ebenso ist auch ein überschreiben mit dem Abzug des SVN's keine Lösung.

Nach https://fhem.de/commandref.html#update, lädt das Update die Steuerdatei https://fhem.de/fhemupdate/controls_fhem.txt und vergleicht die Informationen mit der Installation bzw. aktualisiert die Dateien dann aus dem Netz.

Mein Wunsch wäre, dass Update so zu erweitern, dass zwei Dateien angegeben werden können:
  • die Steuerdatei, allerdings als lokale Datei (z.B. /tmp/controls_fhem.txt)
  • eine Zip-Datei der Dateien (z.B. über die Download-Option im SVN von FHEM (z.B. /tmp/fhem.zip)

Anschliessend soll das Update wie bisher die Steuerdatei verarbeiten, die benötigten Dateien aber aus der ZIP Datei lesen.

Hilfsweise habe ich auch einmal versucht, in einen Abzug des SVN geänderte Dateien aus dem Betrieb einzuspielen und dann zu switchen. Hat aber nicht funktioniert (Probleme mit Auswertungen / Warnungen aus 92_FileLog.pm).

Wie machen denn das andere offline Nutzer, habe ich eine bestehende Möglichkeit übersehen?

quartz

PS: Im Nachgang bin ich auf https://forum.fhem.de/index.php?topic=49798 gestoßen. Dort wurde eine Lösung mit "lokalen" Web-Server gefunden.
Allerdings kann mit ein paar Code-Änderungen auch eine file-URI als Control-File zugelassen werden, so dass ein Dateibaum - z.B. ein heruntergeladener SVN-Stand, der entpackt wurde - verwendet werden kann.

betateilchen

Du bist hier in der Wunschliste zur CUL Entwicklung...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

quartz


rudolfkoenig

ZitatIch würde gerne mein FHEM offline updaten, also ohne jeglichen Internetzugang.

Howto:
wget -U fhem https://fhem.de/fhemupdate.tar.gz
... copy file ...
cp fhemupdate.tar.gz /opt/fhem
cd /opt/fhem
tar zxf fhemupdate.tar.gz
mv fhemupdate/fhem.pl{.txt,}
mv fhemupdate/contrib/commandref_join.pl{.txt,}
mv fhemupdate/contrib/commandref_modular.pl{.txt,}
echo file://fhemupdate/controls_fhem.txt > FHEM/controls.txt
Danach in FHEM update durchfuehren.

ZitatAllerdings kann mit ein paar Code-Änderungen auch eine file-URI als Control-File zugelassen werden, so dass ein Dateibaum - z.B. ein heruntergeladener SVN-Stand, der entpackt wurde - verwendet werden kann.
Der Haken daran ist, dass update die Dateigroesse mit der Angabe in controls_fhem.txt vergleicht, d.h. man muss eine eigene controls_fhem.txt fuer das ausgecheckte Verzeichnis erstellen.
Das macht contrib/fhemupdate.pl einmal am Tag auf dem Server zusammen mit anderen Aufgaben in einer hartkodierten Umgebung.

quartz

#5
Danke für die Bereitstellung von fhemupdate.tar.gz!

Mit dem SVN-Baum ginge das ja nicht, da hätte ich mir die config überschrieben.

Bei fhemupdate.tar.gz habe ich in der Forumssuche nur zwei ganz neue Einträge gefunden, oder habe ich was übersehen?

Mögliche Nachteile am externen Vorgehen
  • keine check Möglichkeit
  • kein Sicherung veränderter Dateien (!)
  • falls sich Update irgendwann einmal erweitert (z.B. Konversion von Datenstrukturen ...) würden diese Nacharbeiten fehlen

Die file-URI ist auch relativ flexibel, da über die SVN-Stände auch ältere Stände - etwa für einen Test - einfach verwendet werden können.

ZitatDer Haken daran ist, dass update die Dateigroesse mit der Angabe in controls_fhem.txt vergleicht, d.h. man muss eine eigene controls_fhem.txt fuer das ausgecheckte Verzeichnis erstellen.
Das war kein Problem, da ich den Baum vom SVN genommen habe, der auch im Control-File https://fhem.de/fhemupdate/controls_fhem.txt angegeben war: Im ZIP ist dann die passende (https://svn.fhem.de/trac/browser/trunk/fhem/controls_fhem.txt) enthalten. Alle Versionen von controls_fhem.txt im SVN sind direkt nutzbar, oder?

rudolfkoenig

#6
ZitatBei fhemupdate.tar.gz habe ich in der Forumssuche nur zwei ganz neue Einträge gefunden, oder habe ich was übersehen?
fhemupdate.tar.gz gibt es seit heute Vormittag.

ZitatAlle Versionen von controls_fhem.txt im SVN sind direkt nutzbar, oder?
Vermutlich, ich habs aber nicht geprueft.

Nachtrag: controls_fhem.txt wird einmal am Tag erstellt, und ins SVN eingecheckt.
Wenn jemand danach was eincheckt, ist controls_txt bis zum naechsten Tag nicht mehr gueltig.
D.h. fuer eine korrekte Version muss man fuer SVN checkout die Version einer controls_fhem.txt nehmen.