Vorgehensweise bei einem Update der Poolsteuerung

Du wolltest schon immer wissen, was ein Pool kostet? Hier gibts alle Infos -> Ein Überblick über alle anfallenden Kosten beim Poolbau

Allgemeine Informationen zum Update der Poolsteuerung

Das Update der Poolsteuerung ist generell ziemlich unkompliziert. Prinzipiell sollte man nur beachten, dass man auch immer das Front- und das Backend updated. Wenn man eine der beiden Komponenten auslässt, kann es zu Fehlern kommen. Die aktuellste Version befindet sich immer auf github.com unter https://github.com/tamsch/poolarino.git. Den Changelog zu den einzelnen Versionen, also das, was sich je Version verändert hat, findet ihr hier: Changelog Poolarino Poolsteuerung.

Update des Backends der Poolsteuerung vornehmen

Wir verbinden uns mit Putty auf unseren Raspberry Pi und manövrieren uns mit cd .. und cd poolarino_poolcontrol in unseren Installationsordner der Poolsteuerung. Hier angekommen sollten wir nun zunächst die laufenden Prozesse beenden. Mit sudo pm2 stop app beenden wir den laufenden Prozess für das Backend.

Nachdem das Backend nicht mehr läuft, löschen wir die installierten node_modules mit sudo rm -r node_modules/. Jetzt legen wir uns mit sudo mkdir newRelease einen neuen Ordner für unser Update an, manövrieren uns mit cd newRelease in den Ordner und ziehen uns im Anschluss von github die neuste Version der Poolsteuerung mit dem Befehl sudo git clone https://github.com/tamsch/poolarino.git.


Wir bewegen uns in den soeben erstellten Ordner mit cd poolarino_poolcontrol und verschieben alle heruntergeladenen Dateien in unser Backend-Verzeichnis mit dem Befehl sudo cp -rf app.js config/ models/ package.json routes/ LICENSE README.md setvalve.sh ./../../. Mit einem cd ../.. gelangen wir wieder in unser Backend-Verzeichnis wo wir nun abschließend noch mit sudo rm -rf newRelease/ unseren Update-Ordner entfernen. Wir müssen nun nur noch unsere Module wieder installieren.


Hierzu ändern wir die Session zunächst mit sudo -i in root ab und ändern unser Verzeichnis dann mit cd ../home/poolarino_poolcontrol/ in das Verzeichnis unserer Poolsteuerung ab. Nun noch sudo npm i eingeben und warten, bis die Pakete installiert wurden. Mit exit verlassen wie die Sitzung, geben noch sudo pm2 start app.js ein, um unser Backend wieder zu starten und fertig ist das Update des Backends.

Update des Frontends der Poolsteuerung vornehmen

Nachdem wir nun das Backend erfolgreich geupdatet haben, müssen wir noch unsere Benutzeroberfläche, das Frontend, updaten. Wir klonen uns also auf unseren lokalen Computer wieder das Git-Repository (kann auch als ZIP einfach heruntergeladen werden) und manövrieren in unserer Konsole (Windows-Taste -> "Eingabeaufforderung" -> Als Admin ausführen) in den heruntergeladenen Ordner bzw. das entpackte ZIP direkt in den Unterordner (bei mir C:\temp\pool\poolarino_poolcontrol-master\angular-src) mit cd C:\temp\pool\poolarino_poolcontrol-master\angular-src. Nun verschieben wir dieses Fenster in den Hintergrund, öffnen im Datei-Explorer das Verzeichnis und gehen ähnlich wie bei der Installation vor.


Wir öffnen als erstes die Datei poolarino_poolcontrol\angular-src\src\environments\environment.prod.ts (hab ich mit Notepad++ gemacht) und ändern unter serverUrl: die IP-Adresse auf die IP-Adresse des Raspberry Pis ab, auf welchem das Backend läuft. Anschließend diese Datei speichern und schließen. Wir öffnen nun noch in einem Ordner die Datei app.module.ts mit dem Notepad++ (bspw.) poolarino_poolcontrol\angular-src\src\app\app.module.ts und müssen hier unter allowedDomains: [] die IP-Adresse des Raspberry Pis eintragen, auf welchem das Frontend nachher läuft (kann auch identisch sein mit dem vom Backend, je nachdem, wie das Setup bei euch aussieht). Auch hier wieder speichern und schließen.


Jetzt holen wir unsere Eingabeaufforderung wieder hervor. Wir befinden uns im Verzeichnis C:\temp\pool\poolarino_poolcontrol-master\angular-src und führen nun den Befehl npm i aus. Ist dieser erfolgreich durchgelaufen bauen wir unser Frontend mit dem Befehl ng build --prod.


Ist auch dies erfolgreich beendet worden, haben wir einen neuen Ordner /dist in welchem sich die neue Version unseres Frontends befindet. Wir öffnen (wie in der Installationsanleitung beschrieben) die FTP-Verbindung auf unseren Raspberry Pi, löschen die alten Daten runter und kopieren den Inhalt des /dist Ordners auf den Raspberry Pi.


Das Update des Frontends ist nun beendet. Seht ihr noch das alte Frontend, dann bitte einmal den Cache löschen und eventuell den lighttpd.service neustarten (sudo systemctl restart lighttpd.service)

Löschen des Cache auf dem Frontend-Raspberry Pi

Mitunter kann es vorkommen, das trotz eines Updates noch veraltete Symbole oder Darstellung auf dem Raspberry Pi aktiv sind, welcher das Frontend beherbergt. Hier kann es Helfen, den Cache des Chromium-Browsers zu löschen und zwar mit folgendem Befehl: rm -rf ~/.cache/chromium

Antworten 2

  • Hallo,

    habe soeben die Update Anleitung des Frontends durchgespielt.


    Hat alles Bestens funktioniert. :)


    Nachdem das Backend komplett neu aufgesetzt und das Update des Frontends beendet war, wunderte ich mich, warum auf dem PC Browser z.B. bei Lufttemperatur das richtige "Wind" Icon, auf dem Frontend Touch Raspberry aber ein "Home" Icon war.

    Auf der Einstellungsseite war im Browser und auf dem Touch die selben Einstellungen zu sehen.


    Ich musste erstmal suchen, wie man den Cache des Raspberry Cromium löschen kann.

    Nach dem Befehl "rm -rf ~/.cache/chromium" auf dem Frontend (über Remote Desktop Verbindung) hat es dann doch richtig funktioniert.

    Vielleicht könnte man den Befehl noch in die Anleitung übernehmen.


    Gruß Toby

  • Moin Toby,

    das nehme ich doch gleich mal in die Anleitung mit auf ;) Das ist sicherlich auch für andere hilfreich!


    Beste Grüße!

    Gefällt mir 1
  • Diskutieren Sie mit!