Powerinterface Raspberry Pi Update

Beitrag erstellt 5 Jahre, 1 Monat und 23 Tage nach einzug ins Haus

Nun, das Powerinterface-Abbild läuft jetzt schon bei einigen auf ihren Raspberry Pi's problemlos und ist auch stabil. Für diejenigen unter euch die das dringende Bedürfnis verspüren ein Update einzuspielen, hab ich ein kleines Skript aufgesetzt. Die Vorgehensweise wird sein, dass wir erst mal von unserem Raspberry Pi ein Backup erstellen, dann das Update durchführen und im Worst-Case das Backup wieder zurück spielen.

Backup erstellen

  1. Raspberry Pi herunterfahren dazu unter Windows wie folgt vorgehen (einfach das MikroUSB Kabel aus dem PI zu ziehen kann die Daten auf der SD-Karte zerstören):
    1. Windows-Taste und "R" gleichzeitig drücken
    2. In das "Ausführen" Fenster powershell Eintippen und Enter drücken
    3. Mit dem Befehl (IP des Raspberry bitte eintragen): ssh pi@IP_DES_RASPBERRY sich zu dem Raspberry PI Verbinden
      (beim ersten mal werdet ihr gefragt Are you sure you want to continue connecting (yes/no)?, einfach yes eintippen und Enter drücken)
    4. Password raspberry eintippen und Enter drücken
    5. Jetzt den Raspberry Pi herunterfahren mit dem Befehl: sudo shutdown -h now eintippen und Enter drücken
    6. Wenn der PI um die zehn Mal mit der grünen Leuchte geblinkt hat, dann ist er heruntergefahren und kann von dem Mikro-USB Kabel getrennt werden.
  2. Das Programm Win32 Disk Imager herunterladen und installieren
  3. Win32 Disk Imager starten
  4. Mit einem klick auf das Ordnersymbol öffnet sich die Dateiauswahl. Navigiert an den Ort wo Ihr mindestens so viel Platz habt, wie die SD-Karte groß ist und vergebt einen Dateinamen bspw: Powerinterface_2021_05_02.img und klickt anschließend auf Öffnen (vergesst bitte nicht die Endung .img sonst kriegt ihr sie im Raspberry Pi Imager nicht angezeigt).
  5. SD-Karte aus dem Raspberry Pi entnehmen und in den Kartenleser einstecken und im Falle eines USB-Kartenlesers den in den USB-Port des PC's stecken
  6. Wählt in der Auswahlbox rechts neben dem Ordnersymbol nun das neu hinzugekommene Laufwerk aus (Im Windows-Explorer könnt ihr den Laufwerksbuchstaben dadurch identifizieren, dass es jetzt ein boot Laufwerk gibt)
  7. Jetzt nur noch auf Lesen klicken und der PC erstellt von eurer SD-Karte eine Kopie.
  8. Wenn ihr fertig seid, die SD-Karte wieder zurück in den Raspberry PI Stecken und den Mini-Computer mit Strom verbinden. Der Pi fährt dann wieder hoch und ist nach ca. drei bis fünf Minuten wieder fleißig am Arbeiten 🙂

Was passiert beim Update?

  • Das Update führt ein System-Update durch, sodass das Linux auf einem aktuellen Stand ist.
  • Das Powerinterface Projekt wird auf die Aktuelle version aktualisiert und der Installationsprozess neu angeschmissen.
  • Grafana wird in der Version 7.5.5 heruntergeladen und installiert.
  • Anschließend lädt der Raspberry Pi automatisch ein Skript herunter was ihn beim nächsten Neustart anweist seine SD-Karte voll auszuweiten. Dies ist besonders nützlich wenn man das Backup auf eine größere SD-Karte spielt und schadet in keinem Falle.
  • Wenn der Pi auch damit fertig ist, dann startet er sich ein Mal neu.

Update durchführen

Hier führen wir jetzt das Update durch.

  1. Windows-Taste und "R" gleichzeitig drücken
  2. In das "Ausführen" Fenster powershell Eintippen und Enter drücken
  3. Anschließend diesen Befehl ausführen (IP des Raspberry bitte eintragen):
    ssh pi@IP_DES_RASPBERRY "curl https://dl.heimbauprojekt.de/update_powerinterface | bash"
    (beim ersten mal werdet ihr gefragt Are you sure you want to continue connecting (yes/no)?, einfach yes eintippen und Enter drücken)
  4. Tippt das Passwort: raspberry ein und bestätigt mit Enter

Der Raspberry Pi ist jetzt je nach Modell und Anzahl an Updates 5-15 Minuten am Aktualisieren. Wenn er fertig ist startet er neu und ihr solltet die aktuellste Version haben (Bitte habt Geduld, der Pi braucht beim Starten immer etwas).

Backup zurückspielen

Hier geht es darum, dass erstellte Image wieder zurück zu spielen. Dieser Prozess ist identisch zu dem wie ihr eine IMG Datei auf die SD-Karte schreibt. Diesen Prozess habe ich bereits in meinem Beitrag MyPowerrouter.com wird abgestellt - Raspberry PI als Ersatz unter Installation beschrieben.

  1. Führt die Schritte 1.1 - 1.6 aus dem Backup erstellen Abschnitt aus um den Raspberry PI herunter zu fahren (falls ihr diese Karte verwenden wollt)
  2. Startet den Raspberry Pi Imager
  3. Klickt auf OS WÄHLEN
  4. Klickt in der Liste, ganz unten auf Eigenes Image
  5. Öffnet eure IMG Datei
  6. Klickt jetzt auf SD-KARTE
  7. Wählt hier bitte mit äußerster Sorgfalt euren SD-Kartenleser aus, wo die MicroSD-Karte drin steckt
    (ACHTUNG: Auf dem ausgewähltem Gerät wird ALLES gelöscht und das Raspberry Pi Betriebsystem installiert)
  8. Vergewissert euch bitte nochmal, dass ihr wirklich den SD-Kartenleser mit der zu beschreibenden MicroSD-Karte ausgewählt habt
  9. Klickt auf SCHREIBEN

Anschließend kann die SD-Karte in den Raspberry Pi gesteckt werden und ihr habt den Stand aus der IMG Datei hergestellt. Strom rein und ab dafür!

Sollte es zu Problemen kommen, bitte zögert nicht mit mir in Kontakt zu treten. Einfach über das Kontakt Formular oder über die Kommentar Funktion.

12 Responses to “Powerinterface Raspberry Pi Update”

  1. Stefan sagt:

    Hallo Dave,

    ich nutze das Original powerinterface von ngrie. Für die Zeit nach dem 12.07.2023 werden allerdings keine Daten mehr über mypowerrouter.com angezeigt. Wie kann ich kontrollieren, ob die Weiterleitung nicht mehr funktioniert oder ob es sich vielleicht um ein Problem beim PowerRouter-Server handelt?
    Da ich es leider nicht hinbekomme ähnliche Auswertungen über Grafane zu basteln, war ich bisher immer noch auf mypowerrouter.com angewiesen.

    Vielen Dank für Deine Unterstützung im voraus und schöne Grüße
    Stefan

    • Dave sagt:

      Hallo Stefan,

      das ist leider in dem Powerinterface hardcoded in der Datei server.js hinterlegt, an welche IP Adresse das weitergeleitet werden soll. Dort müsstest du die IP Adresse ändern.
      Aktuell müsstest du die IP (aktuell in der server.js: 77.222.80.91) auf eine von denen hier ändern:
      144.2.168.202
      144.2.168.10
      144.2.168.74
      144.2.168.138

      Viele Grüße
      Dave

  2. Mario sagt:

    Hallo Dave,

    Ich hab den Fehler gefunden. In der dhcpcd.conf wurde offenbar meine umkonfigurierte eth-Schnittstelle überschrieben. Jetzt funktioniert die Weiterleitung wieder. Hatte alles erst mal liegen gelassen. Jetzt, da offenbar am PowerRouter-Server etwas geändert wurde, so dass ich meine Daten nicht mehr in openhab einlesen konnte, hab ich die powerinterface-Installation nochmal durchkämmt. Trotzdem vielen Dank für Deine Unterstützung.

    Gruß
    Mario

  3. Mario sagt:

    Hallo Dave,

    Das von Dir beschriebene Update ändert leider auch nichts an dem Zustand, dass die Weiterleitung an den PowerRouter-Server nicht funktioniert. Es ist wirklich frustrierend, dass das Linux-System in diesem Zuammenhang so anfällig ist. Ich vermute mal, mir bleibt nur ein neues Image aufzusetzen. Schade um die bereits geloggten Daten, aber der PowerRouter-Server läuft ja noch zum Glück. Bleibt nur der Wermutstropfen, dass ich das powerinterface auf WLAN umgestellt hatte. Das wird wohl wieder etwas dauern, bis das hinbekomme.
    Eine ganz große Frage bleibt jedoch auch noch: Wie bekomme ich die aktuellen Daten in einen MQTT-Client, um sie in mein openHAB einzulesen???

    Gruß
    Mario

    • Dave sagt:

      Hallo Mario,

      also das ganze auf WLAN umgebaut klingt schon schwierig, weil das muss ja in der firewall entsprechend konfiguriert werden. Ich drücke dir die Daumen, dass du das hin kriegst.

      Also um ein Backup zu transferieren... auf dem alten Pi:
      $ influxd backup -portable -database home -host localhost:8088 ~/influx_backup
      $ scp -r ~/influx_backup [ip_des_neuen_pi]:~/influx_backup

      Auf dem neuen Pi zuerst die alte Datenbank in eine Temporäre Datenbank importieren:

      $ influxd restore -portable -db home -newdb home_bak ~/influx_backup
      $ influx # Startet die influx shell

      Dann Queries in der influx shell ausführen:

      USE home_bak
      SELECT * INTO home..:MEASUREMENT FROM /.*/ GROUP BY *
      DROP DATABASE home_bak

      Dann solltest du die alten Daten in dem neuen Pi haben.

      OpenHab bietet einem die Möglichkeit über HTTP-Bindings an die Daten zu kommen. Schau mal da im Wiki von OpenHab. Dann einfach über http://ip_des_powerinterface_pi/values.json direkt auf die Daten zugreifen. Ich kenne OpenHab leider gar nicht, aber so müsstest du alle Daten integriert kriegen. Du findest in der bearbeiten Maske von jedem Grafen in Grafana das Feld, dass ich verwende um es in dem Grafen darzustellen.

      Viele Grüße
      Dave

    • Jan sagt:

      Das hat gestern ausgezeichnet funktioniert mit der Übertragung. Heute wollte ich nochmal aktuelle Werte einspielen, da läuft das SELECT beim Einlesen dann auf "ERR: timeout".

      Gruß Jan

    • Dave sagt:

      Hallo Jan,

      Ich schätze, dass er versucht die alten Daten und die neuen Daten zu mergen, was zu lange dauert.

      Ich empfehle dir vor dem SELECT * INTO home..:MEASUREMENT FROM /.*/ GROUP BY * die Datenbank zu löschen und sie dann neu anzulegen.

      Viele Grüße
      Dave

    • Jan sagt:

      Das hatte ich sogar. Manchmal war nach 5 min nach 10 min Ende und dann irgendwann ging es nach 30 Minuten durch. sehr strange.

  4. Mario sagt:

    Hallo Dave,

    das Image war von Dir. Ich werde Dein Update wie oben beschrieben noch versuchen.
    Welche config meinst Du? Die config.yml ist noch vorhanden und forwardRequest ist auf true gesetzt.

    • Dave sagt:

      Dann drücke ich dir die Daumen. Ich bin mir nicht ganz sicher was du genau gemacht hast und hoffe, dass du damit nicht irgendwo auf einem falschen Zweig gelandet bist. Aber mit meinem Update solltest du auf die aktuellste Version kommen.

      Ja, die config.yml meinte ich.

      Viele Grüße
      Dave

  5. Mario sagt:

    Hallo.

    Nach einem Update nach der von ngrie beschriebenen Methode von Powerinterface auf v0.2.4 funktioniert die Weiterleitung an den PowerRouter-Server nicht mehr. Was kann ich tun?

    • Dave sagt:

      Hallo Mario,

      ich denke, da wirst du ein anderes Problem haben. Die Ip ist die gleiche und die Weiterleitung sollte nach wie vor funktionieren. Vielleicht hast du deine Config Datei gelöscht?

      Hast du mein Image installiert?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert