Hauptmenü

Updates

Begonnen von P.A.Trick, 09 Mai 2021, 09:07:49

Vorheriges Thema - Nächstes Thema

P.A.Trick

Hallo Jens, erst einmal vielen Dank für das coole Frontend. Ich bin durch den Stammtisch darauf aufmerksam geworden und
bin fleißig am testen.
Eine Frage umwandert mich aber. Wie kann ich am geschicktesten die Version aktualisieren? Ist es geplant, den FHEM Update
Mechanismus dafür nutzen zu können?
Wenn nicht, wie kann ein einzelnes Verzeichnis via git clonen? Hast du da ein Beispiel?
Danke und Gruß
Patrick
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

CoolTux

Hallo Patrick,

Ich bin zwar nicht Jens kann Dir aber sagen das es geplant ist die FHEMapp mit in den FHEM Update Prozess ein zu beziehen. Wird aber noch etwas dauern.


Grüße
Marko
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

P.A.Trick

Zitat von: CoolTux am 09 Mai 2021, 09:19:24
Hallo Patrick,

Ich bin zwar nicht Jens kann Dir aber sagen das es geplant ist die FHEMapp mit in den FHEM Update Prozess ein zu beziehen. Wird aber noch etwas dauern.


Grüße
Marko

Sehr schön! Danke dir Marko.
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Jamo

Hallo Patrick,
evtl. hilfts: Ich habe eine Samba freigabe eingerichtet. Lade mir dann von https://github.com/jemu75/fhemApp oben rechts mithilfe des gruenen Buttons den .zip file auf den PC runter. Den Zip entpacken, und dann nur das fhemapp Verzeichnis über das Samba Verzeichnis auf den Linux Rechner. Da habe ich dann ein Shell script, das alles andere (backup, hinkopieren der templates, rechteanpassung ) dann quasi auf Knopfdruck macht. Das dauert pro neuem release etwa 2 minuten.

Frohen Muttertag!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

jemu75

Zitat von: CoolTux am 09 Mai 2021, 09:19:24
Hallo Patrick,

Ich bin zwar nicht Jens kann Dir aber sagen das es geplant ist die FHEMapp mit in den FHEM Update Prozess ein zu beziehen. Wird aber noch etwas dauern.


Grüße
Marko

Die perfekte Antwort. Danke Dir Marko.  :)

P.A.Trick

Um einen Ordner aus dem Repo herauszuholen gibt es git archive.

git archive HEAD www -o fhemApp_latest.zip

Vielleicht kann es jemand gebrauchen.
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

Benni

#6
Ich habe mir auch mit git was eingerichtet:

Ich habe einen Clone des FHEMAPP github repository auf meinem FHEM-Server, den ich bei Bedarf einfach per git pull updaten kann.

Den Ordner fhemapp/www/fhemapp habe ich per ln in direkt in meine FHEM-Installation unter www verlinkt.
Meine eigenen Templates (heißen alle templ_my*.json) habe ich in der FHEM-Installation im Verzeichnis conf liegen (s.u.) und dann, ebenfalls per ln ins cfg-Verzeichnis der fhemapp installation rein-gelinkt.
Für meine Änderungen habe ich einen eigenen lokalen branch "my", in dem ich arbeite und der standardmäßig ausgecheckt ist.

Spätestens bei einem Update committe ich alles im Branch "my", checke den "master"-Branch aus, und hole den aktuellen Stand per git pull, danach checke ich wieder meinen branch aus und bringe den mit git rebase master auf den aktuellen Stand.

Eigentlich ziemlich Easy!

Die eigenen Templates liegen bei mir deshalb im conf-Ordner in der FHEM-Installation (normalerweise /opt/fhem/conf), weil ich die dann direkt im FHEMWEB editieren kann.
Damit das klappt, muss ich die nur noch in FHEM bekannt machen. Das habe ich bei mir mit einem einfachen notify geregelt, das genau das beim FHEM-Start für mich übernimmt:


defmod nyFhemAppEditFiles notify global:INITIALIZED {\
$data{confFiles}{'templ_my.*\.json'} = '0';;\
$data{confFiles}{'config.json'} = '0';;\
}


Wie ich gerade sehe, liegt dort aus dem selben Grund auch meine config.json :)

Weiterer Vorteil ist, das conf-Verzeichnis ist standardmäßig Teil des fhem-Backups und somit werden die Dateien bei mir täglich automatisch mit gesichert.

Klingt komplizierter, als es ist.
Wenn es einmal eingerichtet ist, dann ist das flott und einfach.

Ach ja, bei der Ersteinrichtung ggf. auf die Berechtigungen achten. FHEM braucht halt die nötigen Berechtigungen fürs Editieren (chown fhem:dialout ...)

gb#

Wolle02

Zitat von: Benni am 09 Mai 2021, 11:53:56
Ich habe mir auch mit git was eingerichtet:

Ich habe einen Clone des FHEMAPP github repository auf meinem FHEM-Server, den ich bei Bedarf einfach per git pull updaten kann.

Den Ordner fhemapp/www/fhemapp habe ich per ln in direkt in meine FHEM-Installation unter www verlinkt.
Meine eigenen Templates (heißen alle templ_my*.json) habe ich in der FHEM-Installation im Verzeichnis conf liegen (s.u.) und dann, ebenfalls per ln ins cfg-Verzeichnis der fhemapp installation rein-gelinkt.
Für meine Änderungen habe ich einen eigenen lokalen branch "my", in dem ich arbeite und der standardmäßig ausgecheckt ist.

Spätestens bei einem Update committe ich alles im Branch "my", checke den "master"-Branch aus, und hole den aktuellen Stand per git pull, danach checke ich wieder meinen branch aus und bringe den mit git rebase master auf den aktuellen Stand.

Eigentlich ziemlich Easy!


:o :o :o
Junge, Junge, da brauch ich erst mal nen Wörterbuch, damit ich das überhaupt verstehe. Und dann kommt er mit "Eigentlich ziemlich easy" um die Ecke.  ;D ;D

Ich mach das von Anfang an schon so wie Jamo; nur per NFS. Dann sitzen auch gleich die Rechte richtig.  8)

jemu75

Betrachtet die aktuellen Lösungen mal als Zwischenstand. Die sind sicher noch nicht perfekt, aber auf jeden Fall besser, als immer alles händisch zu kopieren - so, wie ich das aktuell  noch mache...  ;D

Wie schon geschrieben, strebe ich ein Update der App direkt in FHEM an, damit das Updaten einfacher wird. Weiterhin wird so auch das Risiko minimiert, dass man seine eigene Konfiguration oder eigene Template aus Versehen überschreibt. Aktuell gibt es noch ein paar andere Featurewünsche, die ich gern umsetzen möchte. Danach nehme ich mir das Thema Updates vor.  :)

Benni

Zitat von: jemu75 am 09 Mai 2021, 20:46:07
Wie schon geschrieben, strebe ich ein Update der App direkt in FHEM an, damit das Updaten einfacher wird. Weiterhin wird so auch das Risiko minimiert, dass man seine eigene Konfiguration oder eigene Template aus Versehen überschreibt.

Hallo Jens,

ich fände es prima, wenn dabei grundsätzlich die Möglichkeit erhalten bliebe, fhemapp unabhängig von der restlichen FHEM-Installation updaten zu können.

gb#

jemu75

Zitat von: Benni am 10 Mai 2021, 21:49:53
Hallo Jens,

ich fände es prima, wenn dabei grundsätzlich die Möglichkeit erhalten bliebe, fhemapp unabhängig von der restlichen FHEM-Installation updaten zu können.

gb#

Ja, so sehe ich das auch. Soweit ich das bisher verstehe, kann ich in FHEM über den Befehl update all die Updates für FHEMApp realisieren. Über update add kann man das Update der App in das normale Update integrieren. Es wären also beide Varianten möglich. Aber ich muss mich zu dem Thema noch etwas aufschlauen.  ;)

Beta-User

Das hängt im Detail  davon ab, wie updates angeboten werden. Via seperater control-file (update oder update all schlägt durch oder man kann isoliert updaten) oder als update  aus dem svn (dann ist es Teil von update; mir würde es sehr gefallen, wenn das via svn käme!).

Es sollte aber doch - so oder so - möglich sein, via "exclude" den fhemapp-Teil auszuschließen.

@benni: Was ist die Motivation dahinter?
Auch andere (js-) scripte, die von FHEMWEB genutzt werden, werden doch in der Regel über den normalen update-Weg aktualisiert? Und - wenn ich es richtig verstanden habe - eigene templates braucht man "nur" anders zu benennen, dann werden die beim Aktualisieren nicht überschrieben.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Benni

Zitat von: Beta-User am 11 Mai 2021, 08:09:07
Es sollte aber doch - so oder so - möglich sein, via "exclude" den fhemapp-Teil auszuschließen.

@benni: Was ist die Motivation dahinter?
Auch andere (js-) scripte, die von FHEMWEB genutzt werden, werden doch in der Regel über den normalen update-Weg aktualisiert? Und - wenn ich es richtig verstanden habe - eigene templates braucht man "nur" anders zu benennen, dann werden die beim Aktualisieren nicht überschrieben.

Nein! Ich möchte nicht den fhemapp-Teil ausschließen, sondern den ganzen Rest und NUR FHEMAPP updaten können.
Das lässt sich mit exclude nicht sinnvoll abbilden!

Die Motivation dahinter ist, dass ich meine FHEM-Produktivumgebung nur sehr selten update (2-4 mal im Jahr).
Fhemapp ist erst mal gar nicht von irgendwelchen Features in FHEM selbst abhängig, da es für mein Verständnis sehr Basisnahe Funktionalität (jsonlist2).
fhemapp selbst hat im Prinzip keinen Einfluss auf meine bestehende FHEM-Installation und kann somit einfach jederzeit unabhängig von FHEM upgedatet werden ohne dort etwas zu "zerstören".
Das würde ich gerne so nutzen, sowieso in der aktuell noch andauernden Hoch-Entwicklungs-Phase.

Für mich wäre es aber auch kein Problem, wenn ich mein bisheriges vorgehen beibehalten müsste, um das für mich zu realisieren.

gb#

Beta-User

Zitat von: Benni am 11 Mai 2021, 10:28:15
Das würde ich gerne so nutzen, sowieso in der aktuell noch andauernden Hoch-Entwicklungs-Phase.
Ah, ok, so herum ist es verständlich.

Für die Phase der schnellen Weiterentwicklung finde ich das auch passend, hatte aber verstanden, dass sich das langsam dem Ende nähert...

(Ich mache das mit den Updates übrigens via wget des zip und dann per ssh mit mc: Der kann nämlich das zip auch direkt öffnen und dann den fhemapp-Teil rauskopieren).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

frank

man kann doch bei update auch explizit files angeben. sogar als regexp.


update [-noSSL] [<fileName>|all|check|checktime|force] [http://.../controlfile]
or
update [add source|delete source|list|reset]

Update the FHEM installation. Technically this means update will download the controlfile(s) first, compare it to the local version of the file in the moddir/FHEM directory, and download each file where the attributes (timestamp and filelength) are different. Upon completion it triggers the global:UPDATE event.
-noSSL will use the http protocol instead of https, which might be necessary for some older distributions with outdated ciphers.
With the commands add/delete/list/reset you can manage the list of controlfiles, e.g. for thirdparty packages. Notes:

    The contrib directory will not be updated.
    The files are automatically transferred from the source repository (SVN) to the web site once a day, at 7:45 CET / CEST.
    The all argument is default.
    The force argument will disregard the local file.
    The check argument will only display the files it would download, and the last section of the CHANGED file.
    checktime is like check, but additionally displays the update timestamp of the new file, which is usually the version date +1 day.
    Specifying a filename will only download matching files (regexp).

See also the restore command.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html