Hallo,
(leider werden die Bilder nicht mehr im Text korrekt angezeigt)
ich stelle Euch hier ein Tool'packet zur Verfügung.
Enthalten ist:
- das Tool "raspiBackup.sh" um ein komplett Backup der SD-Karte von einem Raspberry (Debian x86) auf einen Backupmedium zu machen
Benutze: "raspiBackup.sh ?" und siehe in "hbridge.cfg" um alle Optionen zu sehen.
- das Tool "hbridge_new.sh" um "homebridge" zu entfernen, neu zu installieren, Plugins zu installieren, als Dienst einrichten/löschen, deconz installieren, Raspi CAM in Betrieb nehmen und weiters
Benutze: "hbridge_new.sh ?" und siehe in "hbridge.cfg" um alle Optionen zu sehen.
- im Ordner "$HOME/hbridge_install/files/" ist die Datei "WiFi_Check.sh"
Das Script sucht den Gateway im WLAN und prüft ob dieser erreichbar ist, wenn nicht wird das WLAN neugestartet.
Benutze: "$HOME/hbridge_install/files/WiFi_Check.sh ?" um alle Optionen zu sehen.
(beim ersten Start ohne Parameter wird ein Systemlink angelegt, danach reicht "WiFi_Check.sh" zum starten)
Durch den start:
und diesem Eintrag ins root cron:
# */5 * * * * /usr/local/bin/WiFi_Check.sh 2>&1 | /usr/bin/logger -t WiFi_check
wird aller 5 min geprüft ob der WLAN-Gateway erreichbar ist.
- im Ordner "$HOME/hbridge_install/files/" ist die Datei "netz_tool.sh"
Benutze: "$HOME/hbridge_install/files/netz_tool.sh ?" um alle Optionen zu sehen.
siehe im Post Unten bei "netz_tool.sh"
EDIT:
Aktualisiert am 09.08.2021
- 09.08.2021 raspiBackup 0.4.22c hbridge_install 1.0.88b, ./files/WiFi_Check v.0.21, ./files/netz_tool.sh v.0.45b, ./files/img_mount.sh v.0.0.17 Beta, reporter.sh 0.1.7b
- 19.03.2021 raspiBackup 0.4.22 hbridge_install 1.0.85a, WiFi_Check v.0.21, netz_tool.sh v.0.44, reporter.sh 0.1.7b
- 17.01.2021 raspiBackup 0.4.21 hbridge_install 1.0.82, WiFi_Check v.0.19f, netz_tool.sh v.0.41d, reporter.sh 0.1.7b
- 25.10.2020 raspiBackup 0.4.21 hbridge_install 1.0.79, WiFi_Check v.0.19f, netz_tool.sh v.0.41d, reporter.sh 0.1.7b
- 27.09.2020 raspiBackup 0.4.20e hbridge_install 1.0.78f, WiFi_Check v.0.19f, netz_tool.sh v.0.41d, reporter.sh 0.1.7b
- 28.08.2020 raspiBackup 0.4.20d hbridge_install 1.0.78, WiFi_Check v.0.19e, netz_tool.sh v.0.41d, reporter.sh 0.1.7b
- 18.07.2020 raspiBackup 0.4.19e hbridge_install 1.0.77e, WiFi_Check v.0.19e, netz_tool.sh v.0.41d, reporter.sh 0.1.7b
- 09.06.2020 raspiBackup 0.4.19c hbridge_install 1.0.77c, WiFi_Check v.0.18c, netz_tool.sh v.0.41c, reporter.sh 0.1.7b
- 31.05.2020 raspiBackup 0.4.19 hbridge_install 1.0.76b, WiFi_Check v.0.18b, netz_tool.sh v.0.41b, reporter.sh 0.1.7b
- 03.05.2020 raspiBackup 0.4.16b hbridge_install 1.0.75, WiFi_Check v.0.18, netz_tool.sh v.0.41, reporter.sh 0.1.7b
- 18.03.2020 raspiBackup 0.4.16b hbridge_install 1.0.72, WiFi_Check v.0.17, netz_tool.sh v.0.41, reporter.sh 0.1.7b
- 08.03.2020 raspiBackup 0.4.15 hbridge_install 1.0.71, WiFi_Check v.0.17, netz_tool.sh v.0.41, reporter.sh 0.1.7b
- 17.02.2020 raspiBackup 0.4.15 hbridge_install 1.0.69, WiFi_Check v.0.17, netz_tool.sh v.0.41, reporter.sh 0.1.7b
- 04.01.2020 raspiBackup 0.4.13a hbridge_install 1.0.65a, WiFi_Check v.0.17, netz_tool.sh v.0.40a, reporter.sh 0.1.7b
- 15.12.2019 raspiBackup 0.4.11 hbridge_install.tar.gz 1.0.63b, WiFi_Check v.0.17, netz_tool.sh v.0.40a,
reporter.sh 0.1.7b
# Die Datei "reporter-example.blacklist" umbenennen in "reporter.blacklist"
# In der Datei "reporter.blacklist" kann pro Zeile ein Eintrag aus der Fehlermeldung hinterlegt werden.
# Alle Fehlermeldungen die dieses Wort enthalten, werden nicht per Telegram gesendet.
# Vorsicht: "ERROR" blockiert das senden aller Meldungen die ERROR enthalten.
- 09.11.2019 raspiBackup 0.4.9 hbridge_install.tar.gz 1.0.61, WiFi_Check v.0.17, netz_tool.sh v.0.39
- 03.10.2019 raspiBackup 0.4.8d hbridge_install.tar.gz 1.0.60, WiFi_Check v.0.17, netz_tool.sh v.0.36b
- 18.08.2019 raspiBackup 0.4.5b hbridge_install.tar.gz 1.0.57b, WiFi_Check v.0.17, netz_tool.sh v.0.33
- 08.08.2019 raspiBackup 0.4.4 hbridge_install.tar.gz 1.0.56, WiFi_Check v.0.17, netz_tool.sh v.0.32
- 22.07.2019 raspiBackup 0.4.3 hbridge_install.tar.gz 1.0.55b, WiFi_Check v.0.17, netz_tool.sh v.0.32
- 18.06.2019 raspiBackup 0.4.3 hbridge_install.tar.gz 1.0.54, WiFi_Check v.0.17, netz_tool.sh v.0.29g
- 02.06.2019 raspiBackup 0.4.3 hbridge_install.tar.gz 1.0.52a, WiFi_Check v.0.17, netz_tool.sh v.0.28
- 16.05.2019 raspiBackup 0.4.3 hbridge_install.tar.gz 1.0.52
- 07.05.2019 raspiBackup 0.4.2b hbridge_install.tar.gz 1.0.51b
- 05.05.2019 raspiBackup 0.4.2 hbridge_install.tar.gz 1.0.51
- 04.05.2019 raspiBackup 0.4.2 hbridge_install.tar.gz 1.0.50
- 19.01.2019 raspiBackup 0.4.2 hbridge_install.tar.gz 1.0.49
- 01.01.2019 raspiBackup 0.4.1 hbridge_install.tar.gz 1.0.47a
- 30.03.2019 raspiBackup 0.4.1 hbridge_install.tar.gz 1.0.47
- 13.03.2019 raspiBackup 0.4.0 hbridge_install.tar.gz 1.0.46
- 10.03.2019 raspiBackup 0.4.0 hbridge_install.tar.gz 1.0.44
- 03.02.2019 raspiBackup 0.4.0 hbridge_install.tar.gz 1.0.42
- 02.01.2019 raspiBackup 0.3.9 hbridge_install.tar.gz 1.0.39
- 28.12.2018 raspiBackup 0.3.5,6 hbridge_install.tar.gz 1.0.38
- 21.11.2018 raspiBackup 0.3.5, hbridge_install.tar.gz 1.0.35
- 30.08.2018 raspiBackup 0.3.1b, hbridge_install.tar.gz 1.0.31b
- 19.08.2018 raspiBackup 0.3.1, hbridge_install.tar.gz 1.0.31
- 01.07.2018 raspiBackup 0.2.9, hbridge_install.tar.gz 1.0.29
- 24.06.2018 raspiBackup 0.2.8b, hbridge_install.tar.gz 1.0.28b2
- 18.06.2018 raspiBackup 0.2.8, hbridge_install.tar.gz 1.0.28b
- 16.06.2018 raspiBackup 0.2.7a, hbridge_install.tar.gz 1.0.27j
- 04.06.2018 raspiBackup 0.2.7, hbridge_install.tar.gz 1.0.27c
- 21.05.2018 raspiBackup 0.2.6b, hbridge_install.tar.gz 1.0.26b
- 04.05.2018 raspiBackup 0.2.5, hbridge_install.tar.gz 1.0.25d
- 01.05.2018 raspiBackup 0.2.4d, hbridge_install.tar.gz 1.0.25b
- 25.04.2018 raspiBackup 0.2.4d, hbridge_install.tar.gz 1.0.24h
- 24.03.2018 raspiBackup 0.1.7, hbridge_install.tar.gz 1.0.16b
- 18.03.2018 raspiBackup 0.1.6b, hbridge_install.tar.gz 1.0.15
- 10.03.2018 raspiBackup 0.1.6b, hbridge_install.tar.gz 1.0.14
NEU
ACHTUNG ab 1.0.77e neuer Aufbau der "hbridge.cfg" (für Zukünftige Erweiterungen)
- 1.0.88b = Restore-Datei Auswahl per Index Nummer
- 1.0.88 = -rsl = -rs + tail -f syslog
- 1.0.87d = BugFix, Text=node lts, BugFix installMode_node inst_node_version lts_node_version
- 1.0.86c = new $lts_node_version, (-r node) remove_node, "-u node lts"
- 1.0.86a = -?, installTyp Anzeige node, BugFix, stab_node=xx.yy.cc xx -> lts -> www_node_lts;Typos
- 1.0.85 = neu Parameter save, sichern der latest last letzte stabile Version
- 1.0.84 = BugFix -u node
- 1.0.83 = BugFix, nodeInstMode=beta/stable
- 1.0.82a = apt_update nur einmal am Tag Cache aktualisieren,Code cleaning
- 1.0.82 = deConzInstMode - leer=nicht,1=beta,0=stab installiert, BugFix
- 1.0.81 = @e Eintrag in der "hbridge_backup.cfg" wird als Exclude-Eintrag benutzt
- 1.0.80 = beim verwenden einer "hbridge_backup.cfg" wird auch eine exclude Datei "hbridge_backup_exclude.cfg" berücksichtigt
- 1.0.79 = BugFix
- 1.0.78f = -h Display mor Info's, BugFix deConz firmware, einlesen der installierten Versionen, Hilfeanzeige erweitert, scan nach Parameter DBG
- 1.0.78 = Typo Fix, Versionnummern angepasst
- 1.0.77e = dbg u.functions Datei eingebunden (vorbereitung Zukunft), suche in -p -ld, RaspBee II RTC Modul, einige Bugs behoben
- 1.0.77c = gosse Typo & BugFix aktion in allen scripts -i, -hue, restore services
(Da beim versuchten Umzug auf einen neuen Raspberry einige Bugs auftauchte, diese erstmal beseitigt)
- 1.0.76b = Parameter "-p -s" Suchbegriff verfeinert siehe Hilfe
"-p -is" = Internet suche, lese Plugins lokal und INet inkl. Anzeige beider Versionen
Neue Version: Benutze:
deCONZ installiert 2.05.75, online 2.05.77 "hbridge_new.sh -u -d"
node 13.12.0, online 14.3.0 "hbridge_new.sh -u node" (beide: -u node npm)
npm 6.14.4, online 6.14.5 "hbridge_new.sh -u npm"
neue Variablen für neues "pishrink.sh"
Shrink_compress="false" # true= komprimiere image nach dem shrinken mit gzip
Shrink_advRepair="true" # true= Use advanced filesystem repair option if the normal one fails
- 1.0.75 = Parameter "-p -s nuki", Inet suche nach Plugin und Anzeige der Version, BugFix
- Parameter "-ov" = online Version, einlesen von latest Version aus dem Internet, homebridge, npm, node, deConz deConz FW
- Umstellung: erst Überschrift, Text reading...
- InterNet Test auf 8.8.8.8 inkl. Abbruch, eingebaut
1.0.73 = -rs/-rs service service service jetzt möglich
1.0.72 = bei (-d) aktualisieren deCONZ Firmware? eingebaut, BugFixing
1.0.71 = HB-Daten Pfad in Variable, dadurch/backup Anpassungen für config-ui-x,
- bei deConz Sicherung werden (config.json/full_state.json) mit exportiert
- neuer Parameter "-npm -od (outdate)", BugFix Backup-Dateibereinigumg,
- Parameter "-p -l" Plugindetails Anzeige eingebaut, pishrink.sh aktualisiert
1.0.69 = in der "hbridge.cfg" neue Variablen für Parameter
-hue -i" installiert die Voraussetzungen für das Backup der hue-Einstellungen, kann ein eigener Mount-Point sein
„-hue -b“ Backup der hue-Einstellungen, es werden mehrere hue unterstützt, es sind bis 30 Sicherungen/Tag möglich
"backup" sichern von hue- und deCONZ-Einstellungen möglich
1.0.65 = In der "hbridge.cfg" Date_Format, neue Variablen in der "hbridge.cfg" Datei
- Date_Format="Jahr" # Datumformat "Tag"=09122019, "Jahr"=20191209, "Monat"=12092019
- Date_SicName="2" # "0"=ohne Date_Format, "1"=Name_(Date_Format), "2"=(Date_Format)_Name, Format des Namen für die Sicherungsdatei
1.0.64 = In der "hbridge.cfg" Date_SicName=1 Name_Date.tar.gz, 2 = Date_Name.tar.gz, BugFix, formatDate, Date_Format
1.0.63 = In der "hbridge.cfg" Restart_Services="" eingeführt, wenn diese leer ist dann werden Instanzen gesucht,
Restart_Services="reporter deconz homebridge homebridge-hue" diese Services werden beendet/gestartet
Restart_Services="reporter deconz hbridge+" durch "hbridge+", wird nach weiteren "homebridge*" Instanzen gesucht und diese auch enspr. beendet/gestartet
HB_hue_sic_Device="" und HB_hue_sic_Pfad="" eingeführt für mount/umount und seperaten backup Point für Hue-Sicherung
1.0.62 = deCONZ download Quelle angepasst, BugFixing
1.0.61 = reporter.service first stop / last start
1.0.60 = deconz_service="" # deconz/deconz-gui/leer wenn Service beendet/gestartet werden soll, Service-Name eintragen
Wenn diese Variable gesetzt ist, wird diese Instanz mit beendet/gestartet (in Bridge_new und raspiBackup)
hbridge_new.sh,
HB_bkp_Deconz_user="046FFFFFFF # Phoscon user für Deconz Config-Backup (Anmeldung aus config.json \"00212EFFFFFFFFFF\": \"046FFFFFFF\" nur dir Ziffern nach
HB_bkp_Deconz_ip="" # ip Adresse des deconz_service, default localhost:80
Wenn diese Variable gesetzt ist, wird vor dem Bridge-backup die config von deCONZ gesichert in /.local/share/dresden-elektronik/deCONZ/deCONZ.tar.gz
raspiBackup.sh
gzImage="0" # 0 = disable, zip/gz = im Anschluss wird die img-Datei gepackt (*.zip/*.img.gz)
Wenn diese Variable gesetzt ist, wird nach dem erstellen der img-Datei diese gepackt (entweder als gz oder zip)
entpacken möglich mit: "raspiBackup.sh unpack"
1.0.69 es können die HUE und deCONZ Einstellungen gesichert werden
1.0.57 start/stop deCONZ Dienste eingebunden (auch in raspiBackuo.sh 0.4.5), in der "hbridge .cfg" Variable " deconz_service="""
setzen (leer/deconz/deconz-gui)
1.0.56 start/stop deCONZ Dienste eingebunden (auch in raspiBackuo.sh 0.4.4), installieren/deinstallieren Homebridge-Dashboard Tool (Übersichtsseite beim Einloggen)
(by Nastra & sschuste ), es wird die aktuellen Version aus dem git-hub runtergeladen
1.0.55 support Install-/ deinstallieren von Homebridge-Dashboard von Nastra Nastra und BugFix (siehe "hbridge_new.sh -?")
1.0.54 BugFix,mqtt = de-/install MQTT-Broker, -s --r InstanzName = Instanz deinstallieren
1.0.52a BugFix, "-i AirPlay" installieren Music stream (Radio Webstream) auf AirPlay Lautspercher, auf Basis von forked-daapd, ab 3 Lautsprecher leider Aussetzer und teilw. asynchron
1.0.52 BugFix, "pi_clean" erweitert
1.0.51 neu "pi_clean" RasPi von Altlast befreien, vorher eine Sicherung anlegen!!
1.0.49 optional config-ui-x als standalone Instanz beim erstellen einer neuen Instanz (-s)
1.0.38 bitte unbedingt erst mit "hbridge_new.sh ?" die neuen Optionen ansehen!!
kurze Parameter und Optionen jetzt möglich
Parameter Option
-u = update -l = list
-r = remove -i = install
-i = install -r = remove
-p = plugin -ld = list detail
-s = service -c = ctrl
-d = deconz -s = search
-rs = restart Service(s)
-hue = hue (-i/-d/-b/-r)
-npm = mpm-check -od = outdate
-mqtt = mqtt
-ov = online Version
-h(?) = Hilfe
z.B.: "hbridge_new.sh -p -l" entspricht "hbridge_new.sh plugin list" listet alle installierten Plugins inkl. Versionsnummer auf
1.0.31 neue Parameter: "service list", "service start/stop", "service ctrl", "update npm/node" ....
am besten mal "hbridge_new.sh ?" starten und lesen.
1.0.28c Parameter "restore" wiederherstellen einer oder alle Dateien aus einer Sicherungs-Datei neueParameter
1.0.28b Parameter "backup", "backup del" und "backup nodel"
macht eine Sicherung der homebridge Daten bzw. wenn vorhanden was in der "hbridge_backup.cfg" steht.
siehe "hbridge_new,sh ?" und "hbridge_backup-example.cfg" im Tools-Packet.
Die Sicherung kann als cron Job laufen (wiederkehernd), die Anzahl der zu behaltenden, der Ziel-Ort und der Name kann angegeben werden.
(in der hbridge.cfg)
1.0.26 enthält die System Überwachungsdienste, logwatch, reporter und fritzbox-reboot von Nastra .
Diese Dienste können mit dem Parameter "ctrl_service" beim ersten Aufruf installiert und beim zweiten Aufruf gelöscht werden.
Eine Beschreibung gibt es hier:
Homebridge-Tool's zum System, Update und Instanzen überwachen mit Telegram
1.0.24 wird zum konfigurieren und einstellen bestimmter Vorgaben benutzt (für beide Tools).
Datei: "/home/pi/hbridge_install/hbridge.cfg"
ab:
1.0.14 für "backup" einführen der Datei, hbridge_backup.cfg welche angibt was gesichert werden soll, falls nicht vorhanden, Versuch der autom. Erkennug. (siehe hbridge_backup-example.cfg)
=============================================================================
hbridge_new.sh:
Direkter Link zum Tool:
https://www.dropbox.com/s/u69m…ridge_install.tar.gz?dl=0
https://www.dropbox.com/s/0mqy…nstall_1.0.35.tar.gz?dl=0
enthält die Versionen:
hbridge_new.sh 1.0.82
raspiBackup.sh 0.4.21
files/netz_tool.sh 0.41d
files/WiFi_Check.sh 0.19f
(Optionen anzeigen, jeweils mit: Programmname -?)
reporter.sh 0.1.7b
oder im Terminal eingeben
Diesen Link mit rechts anklicken und "Link-Adresse kopiern" auswählen.
Dann im Terminalfenster hinter "sudo wget " einfügen.
hbridge_install.tar.gz in /home/pi speichern
Mit "tar -xvzf hbridge_install.tar.gz" entpacken.
"cd hbridge_install"
"./hbridge_new.sh parameter" s.u. (oder eingeben "./hb+TAB-Taste+Enter")
Der erste Start muss mit Pfadangabe erfolgen: "/home/pi/hbridge_install/hbridge_new.sh",
nach dem ersten start reicht: "hbridge_new.sh" zum starten.
Als erstes bitte starten mit: "./hbridge_new.sh ?" um sich einen Überblick und die Möglichkeiten zu verschaffen.
Mit demTool ist es möglich schnell mal auf dem RasPi / Debian X86 die "homebridge" komplett neu zu installieren/aktualisieren.
In dem Fall ich das Image von: Homebridge Image & Tool - Raspbian Stretch Lite - Raspberry Pi ein.
1. Image auf die SD Karte ,
2. starte den RasPi,
3. erweitere das Filesystem,
4. kopiere meinen gesicherten "homebridge" Ordner nach /var/ ,
5. kopiere meine "hbridge_plugin.inst" Datei nach "/home/pi/hbridge_install/" und installiere mit
6. "hbridge_new.sh plugin" alle Plugins die ich brauche, das war alles.
Bei einer neustallation werden die zu installierende npm-, Node-, homenridge Version während der Installation abgefragt.
Mit „tar -xvzf hbridge_install.tar.gz“ kann das Tool-Paket noch einmal entpackt werden. (ist auch im Image enthalten)
Im Ordner "/home/pi/hbridge_install/" ist eine Demo-Datei "hbridge_plugin-example.inst" und dient als Vorlage
für einen eigene "hbridge_plugin.inst".
Wenn man eine Datei mit "nano /home/pi/hbridge_install/hbridge_plugin.inst" nach diesem Muster erstellt,
(einfach pro Zeile ein gewünschtes Plugin eintragen, ohne "homebridge-". )
Kann man mit "/home/pi/hbridge_install/hbridge_new.sh plugin" diese Plugins automatisch in einem Rutsch installieren.
Wer schnell mal die "homebridge" neu installieren will, gibt einfach ein:
"hbridge_new.sh remove"
(das vorhandene homebridge inkl. Plugins und nodejs wird entfernt und nach Rückfrage neu installiert.)
Einfach mal "hbridge_new.sh ?" aufrufen, dann werden alle mögl. Parameter angezeigt.
hbridge_new.sh -?
Es wird das Script: hbridge_new.sh in der Version: 1.0.79 benutzt !!
(die Angaben in () werden mit Enter/autom. übernommen)
(Die Homebridge läuft auf einem: Raspbian-System)
(Die Datei: "hbridge.cfg v0.0.02" wurde gefunden und eingelesen)
(Die Datei: "hbridge.fkt v0.0.11d" wurde gefunden und eingelesen)
(Benachrichtigung per "Telegram" ist aktiviert)
Benutze: /usr/bin/hbridge_new.sh [-u (update) {-d/npm/node} | -r (remove) | -i (install) | -p (plugin) {-l/ld/-s/-is}
| -s (service) {-i/c/r/l} | -d (deconz) {-r/s} | -wd (wait2deconz) | -hue {-i/d/b/r} | cam | reboot
| -rs (restart service) | backup | restore | swap {-l} | config | debug {hbridge/backup/cfg}
| -dashboard | pi_clean (rcl) | -mqtt | -npm (npm-check) {-od} | mount/umount {-hue}
| -hue {-i/-d/-b/-r} | -ov/ov | ?]
mögl. Eingaben sind:
y | Y | yes | YES | j | J | ja | Ja,
n | N | no | NO | nein | Nein,
bei Enter wird immer () genommen!!
Hinnweis: Support mehrere Instanzen (Services) für die "homebridge" wird unterstützt.
Beim ersten Aufruf von service wird die standard Instanz "homebridge" eingerichtet.
Ab dem zweiten Aufruf von service können weitere Instanzen angelegt werden.
Verzögertes starten einer Instanz kann mit wait2deconz eingerichtet werden.
mögl. Parameter:
-u (update) - aktualisiert RasPi/Debian Pakete und Kernel
-u (update) node - aktualisiert das Node.js auf die letzte aktuelle Version
-u (update) node 14.13.1 - aktualisiert das Node.js auf Version: 14.13.1
-u (update) npm - aktualisiert das npm Paket auf die letzte aktuelle Version
-u (update) npm 6.14.8 - aktualisiert das npm Paket auf die Version: 6.14.8
-u (update) node npm - aktualisiert erst node (latest) und dann npm (latest)
-u (update) homebridge - aktualisiert das homebridge Paket auf die letzte aktuelle Version
-u (update) -d - update deConz (latest)
-r (remove) - entfernt alle Instanzen, homebridge, node, npm und Plugins, nicht die config.json
-r (remove) npm-check - entfernt das Plugin "npm-check"
-i (install) - installiert node, npm, homebridge, links und notwendige tools
-i (install) AirPlay - Erstinstallation support für AirPlay Lautsprecher auf Basis von forked-daapd
-p (plugin) - liest die zu installierenden Plugins aus der
Datei: /home/pi/hbridge_install/hbridge_plugin.inst ein
(siehe Bsp-Datei: hbridge_plugin-example.inst)
(# am Zeilenanfang, kommentiert das Plugin aus)
(@ am Zeilenanfang, installiert Plugin aus dem web/git)
(@2.1.0 am Ende vom Pluginname, installiert Plugin in dieser Version)
-p (plugin) -l (list) - Anzeige aller installierten Plugins (inkl.Version)
-p (plugin) -ld (list detail) - Detail-Anzeige aller installierten Plugins (inkl.Version)
-p (plugin) -s (search) - suche "homebridge" Plugins und zeige die akt. Inet-Version an
-p (plugin) -s -nuki - suche nach "homebridge-nuki" Plugins und zeige die akt. Inet-Version an
-p (plugin) -s miio - suche nach "miio" Plugins und zeige die akt. Inet-Version an
-p (plugin) -is - InternetSuche, liest die Plugins aus, sucht die akt. Version im Inet und zeigt dies an
-s (service) - installiert den homebridge-Dienst, ab dem 2ten Aufruf werden weitere
Instanzen eingerichtet ("/etc/default/homebridge" muss vorhanden sein)
(inkl. Abfrage: -selective Plugin laden, -standalone config-ui-x)
-s (service) -i (install) InstanzName - installiert einen Dienst mit dem Namen "homebridge-InstanzName.service"
-s (service) -c (ctrl) - erstellen/löschen von Services die das System kontrollieren
reporter.service - überwachen der Services und bei Ausfall, Nachricht per Telegram möglich
logwatch.timer - Systemstatus, Systemupdate Pluginupdate prüfen, Nachricht per Telegram möglich
fritzbox-reboot.timer - Fritz-Box und/oder Fritz-Repeater geplant neu starten, Nachricht per Telegram mögl.
-s (service) -r (remove) - löschen von homebridge-Instanzen, inkl. standalone config-ui-x Instanz (wenn vohanden)
-s (service) -r (remove) InstanzName - löscht eine homebridge-Instanz, ("hue" = homebridge-hue.services)
-s (service) -l (list/status) - Anzeige der eingerichteten Homebridge- und Ctrl-Instanzen
-s (service) start/stop/restart - alle installierten Instanzen re-starten/stoppen (inkl. der Ctrl-Instanzen)
-s (service) start/stop/restart InstanzName - eine Instanz "InstanzName" re-starten/stoppen
-s (service) stop nuki - stoppt die Instanz "homebridge-nuki.service"
-s (service) start/stop/restart mosquitto (mqtt) - start/stop/restart'e die Instanz "mosquitto.service"
-s (service) start/stop/restart deconz (deconz-gui) - start/stop/restart'e diese Instanz
weiter mit Enter...(15sec)
-d (deconz) - Firmware und deCONZ für Raspbian oder Debian installieren/updaten (starten als Dienst oder X11 Anwendung)
-d (deconz) -r (remove) - deCONZ-Paket für Raspbian oder Debian deinstallieren
-d (deconz) -s (service) - den start von deCONZ einrichten (X11/Dienst)
-wd (wait2deconz) - Verzögerung beim start'en/reboot'en der Dienste einrichten/entfernen
-hue -i - installieren der benötigten Tools zur sicherung der HUE-Bridge
-d - deinstallieren der benötigten Tools
-b - backup HUE-Bridge konfiguration sichern (/home/pi/hbridge_install/backup/20201025_hue-sic.json)
-r - restore HUE-Bridge konfiguration wieder herstellen
cam - Kamera am CamPort (nur Raspberry) aktivieren, vorher (sudo raspi-config -> 5 -> P1 + reboot) ausführen
reboot - startet den RasPi/Debian neu
-rs (restart) - restart Service(s), alle homebridge-Instanzen (Dienste) beenden und neu starten
-rs Instanz1 Instanz2 - restarte "homebridge-Instanz1.service" und "homebridge-Instanz2.service"
-rs nuki - restarte die Instanz "homebridge-nuki.service"
-rs .deconz-gui - restarte "deconz-gui", eine nicht "homebridge-" Instanz
-bkp (backup) - liest (wenn vorhanden) die "/home/pi/hbridge_install/hbridge_backup.cfg" ein und sichert die
Dateien/Ordner die in dieser Datei angegeben wurden. Falls nicht vorhanden, wird der homebridge-
Datenordner gesucht und gesichert. Die Service-Dateien, hbridge.cfg und hbridge_plugin.inst sowie
(wenn vorhanden) /home/pi/Desktop, /home/pi/Documents und /home/pi/Downloads werden mit gesichert.
Wenn vorhanden, werden auch die deConz- und HUE- Einstellungen mit gesichert.
Die Variablen HB_sic_Device, HB_sic_Pfad, HB_sic_Name, HB_sic_Anzahl, Date_Format, Date_SicName
in der cfg-Datei beachten.
Sicherungsdatei: "/home/pi/hbridge_install/backup/Datum_20201025_homebridge.tar.gz"
backup del - alle Sicherungsdateien löschen, danach Sicherung durchführen
backup nodel - keine Sicherungsdateien löschen, danach Sicherung durchführen
backup - 4 alte + aktuelle Sicherungsdateien bleiben erhalten, einstellbar in "Backup_Anzahl=5"
-rst (restore) - rücksichern einer(aller) Dateien aus der Datei: "/home/pi/hbridge_install/backup/Datum_20201025_homebridge.tar.gz"
swap - erstellen/entfernen einer SWAP-Datei: "/var/swap" (von 1024MB bis 2048MB)
swap -l (list) - anzeigen der aktuellen SWAP-Datei
config - anzeige/erstellen einer minimalen config Datei in: "/home/pi/hbridge_install/hbridge.cfg"
save - wenn latest höher als stabile Version ist, die latest als letzte stabile Version sichern.
debug - anzeige von Debug Info's aus der Datei: "/home/pi/hbridge_install/hbridge.dbg"
debug hbridge - anzeige von Debug Info's für die Datei: "hbridge_new.sh"
debug backup - anzeige von Debug Info's für die Datei: "raspiBackup.sh"
debug cfg - anzeige der Datei: "/home/pi/hbridge_install/hbridge.cfg"
-dashboard (dashboard) - in-/deinstall dashboard, zur Anzeige eines Homebridge-Dashbord beim SSH-Login,
(installiert npm-check wenn nötig)
Es wird die aktuelle Version von "https://github.com/Nastras/homebridge-dashboard"
runtergeladen und installiert
-npm (npm-check) - startet "npm-check" für Plugin Updates, (installiert npm-check wenn nötig)
-npm -od - suche und Anzeige von Modulen die "outdated" sind.
-mqtt - de-/installiere MQTT-Broker für das Plugin "homebridge-camera-ui"
-ov - online Version einlesen "node, deConz, deConz_Rpi-FW, deConz_deConBeeII-FW"
mount/umount - mounten/unmounten des Sicherungsmedium für "backup"
mount -hue - mounten/unmounten des Sicherungsmedium für "-hue -b/r"
pi_clean (rcl) - RaspBerry von Ballast befreien (Pakete/Logs löschen u.s.w.)
mögliche Kurzbefehle für Parameter/Optionen: "hbridge_new.sh Parameter Option (InstanzName)"
Parameter Option
-u = update -l = list
-r = remove -i = install
-i = install -r = remove
-p = plugin -ld = list detail
-s = service -c = ctrl
-d = deconz -s = search
-rs = restart Service(s) -p -is = Plugin inet search
-dbrd = dashboard
-hue = hue (-i/-d/-b/-r)
-npm = mpm-check -od = outdate
-mqtt = mqtt
-bkp = backup
-rst = restore
-ov = online Version
-h(?) = Hilfe
weiter mit Enter...(15sec)
Hinnweis zu den Variablen:
(in der Datei: "/home/pi/hbridge_install/hbridge.cfg")
SendTelegram=0 keine Benachrichtigung via "Telegram" vom User "pi" senden
TToken_hbridge_new= den Telegram-API Token eintragen
TChat_ID_hbridge_new= die Telegram Chat-ID für den "bot Chat" eintragen
TeleAnhang= eine Datei die per Telegram gesendet werden soll
TelePhoto= ein Bild das per Telegram gesendet werden soll
Logfile="" aktiviert das loggen in eine Datei (verzögert die Anzeige etwas) bzw. "journal" in syslog
hb_ServicesRestart= 1=starten/stoppen, 0= nicht starten/stoppen der homebridge Dienste
Distri="" das aktuelle System festlegen, "Raspbian" für Raspberry oder "Debian" für Debx86
Restart_Services="" welche Services beendet/gestartet/restartet werden (="reporter deconz-gui homebridge-")
" hbridge+" am ende, bewirkt das danach nach "homebridge*" Instanzen gesucht wird
Date_Format="Jahr" Datumformat "Tag"=09122019, "Jahr"=20191209, "Monat"=12092019
Date_SicName="0" 0=Name, 1=Name+Date_Format, 2=Date_Format+Name, Format des Namen für die Sicherungsdatei
HB_hue_ip="" IP-Adresse der Hue, "IP1 IP2"kann aus der Plugin config.json genommen werden
HB_hue_api="" API-Key, "API1 API2" (API1 gehört zu IP1, API2 gehort zu IP2 usw.) kann aus der
Plugin config.json von "users" der Teil nach dem :"ApiKey"
HB_hue_sic_Device="" hier das externer Sicherungs-Device eintragen ("\dev\sda1" oder "192.168.6.168:/volume1")
HB_hue_sic_Pfad="" Pfad für HUE-Sicherung
HB_hue_sic_Name="" Name der HUE-Sicherungsdatei, ""="hue-sic_168-01.json"
(168=letzte 3 Ziffern der IP, 01=max. 30/Tag, .json) wird autom. angefügt
Versionen installiert: als letzte stabile Version hat sich erwiesen:
- node.................: 14.8.0 14.13.1 akt. Vers. siehe: https://nodejs.org/download/release/latest
- npm..................: 6.14.8 6.14.8 akt. Vers. siehe: https://github.com/npm/cli/tree/latest
- homebridge...........: 1.2.3 1.2.3 akt. Vers. siehe: https://github.com/nfarina/homebridge
- deConz (Raspberry)...: 2.05.84 2.05.84 akt. Vers. siehe: https://deconz.dresden-elektronik.de/raspbian/beta
- deConz (Debian)......: 2.05.84 akt. Vers. siehe: https://deconz.dresden-elektronik.de/ubuntu/beta
- deConz-FW (Rpi)......: 0x26390500 0x26390500 akt. Vers. siehe: https://deconz.dresden-elektronik.de/deconz-firmware?C=M;O=D
- deConz-FW (ConBeeII).: 0x26660700 0x26660700 akt. Vers. siehe: https://deconz.dresden-elektronik.de/deconz-firmware?C=M;O=D
- deConz-FW (RaspBeeII): 0x26660700 0x26660700 akt. Vers. siehe: https://deconz.dresden-elektronik.de/deconz-firmware?C=M;O=D
Neue Version(en)! install.: online: Benutze:
deCONZ (Beta) 2.05.84 2.05.86 "hbridge_new.sh -u -d" (m wählen)
deCONZ (Stable) 2.05.84 (zur Info)
node 14.8.0 15.0.1 "hbridge_new.sh -u node"
Mögliche Parameter sind:
siehe Spoiler oben
hier die" hbridge.cfg"
in dieser Datei werden die benötigten Variablen gesetzt
########################################################################################################################
# Gemeinsame Configdatei #
# "/home/pi/hbridge_install/hbridge.cfg" #
########################################################################################################################
Version_cfg="v0.0.02"
########################################################################################################################
# Allgemein #
########################################################################################################################
# "no"= keine Überprüfung, "Raspbian" für RaspBerry oder "Debian" für x86 System
Distri=""
# "" kein mit loggen, in einer Datei "/var/log/hbridge.log" oder "journal"
Logfile=""
# "1"= über Telegram API benachrichtigen, "0"= keine Nachricht senden
SendTelegram="0"
# Services die beendet/gestartet werden soll, Service-Name eintragen "reporter deconz-gui homebridge-hue" usw.
# "deconz-gui mosquitto" wenn diese Service beendet/gestartet werden soll
# "deconz-gui hbridge+" deconz-gui beenden/starten danach homebridge* Instanzen suchen und beenden/starten
#Restart_Services="deconz-gui hbridge+"
Restart_Services=""
# Datumformat "Tag"=09122019, "Jahr"=20191209, "Monat"=12092019
Date_Format="Jahr"
# "0"=ohne Date_Format, "1"=Name_(Date_Format), "2"=(Date_Format)_Name, Format des Namen für die Sicherungsdatei
Date_SicName="0"
########################################################################################################################
# hbridge_new.sh #
########################################################################################################################
# Vorgabe: "1"=stoppen/starten, "0"=nicht stoppen, aller Dienste
hb_ServicesRestart="1"
# hier das externer Sicherungs-Device eintragen ("/dev/sda1", "/dev/sdc1" oder "192.168.6.68:/volume1")
HB_sic_Device=""
# Pfad für Sicherungsdatei (wenn leer: "$HOME/hbridge_install/backup/")
HB_sic_Pfad=""
# Name der Sicherungsdatei "-01.tar.gz" wird autom. angefügt (wenn leer: "homebridge_Date_Format-01.tar.gz")
HB_sic_Name=""
# Anzahl der SicherungsDateien im Sicherungsordner, 2 alte Sicherungen bleiben erhalten +1 (aktuelle Sicherung)
HB_sic_Anzahl="3"
# Phoscon user für Deconz Config-Backup (Anmeldung aus config.json "00212EFFFFFFFFFF": "046FFFFFFF" nur die Ziffern nach
HB_bkp_Deconz_user=""
# ip Adresse des deconz_service, default localhost:80
HB_bkp_Deconz_ip=""
# "1"= config.json mit selective Plugin laden, "2"= selective und UI-X standalone für erstellen von Instanzen
Load_Plugin_selective=""
# Homebridge Token für Telegram API
TToken_hbridge_new=""
# CHAT ID für Telegram bot Chat
TChat_ID_hbridge_new=""
# Datei an Telegram senden
TelegramAnhang=""
# Photo an Telegram senden
TelegramPhoto=""
# IP-Adresse(n) der Hue, "192.168.2.2 192.168.2.5", kann aus der Plugin config.json genommen werden
HB_hue_ip=""
# API-Key(s), "xxx yyy", API1 zu IP1, API2 zu IP2 usw., aus der Plugin config.json von "users" der Teil nach dem :"ApiKey"
HB_hue_api=""
# hier das externer Sicherungs-Device eintragen ("/dev/sda1", "/dev/sdc1" oder "192.168.6.68:/volume1")
HB_hue_sic_Device=""
# Pfad für HUE-Sicherung (wenn leer: "$HOME/hbridge_install/backup/")
HB_hue_sic_Pfad=""
# Name der HUE-Sicherung, "hue-sic", (HB_sic_Pfad/HB_hue_sic_Name) "_xxx-01.json" wird angefügt,xxx=letzte Zahl der IP-Adresse
HB_hue_sic_Name=""
########################################################################################################################
# raspiBackup.sh #
########################################################################################################################
# Das Boot-Device eintragen (Achtung ohne Ziffer, "sda", "sdb", "mmcblk0")
Boot_Device=""
# hier das Sicherungs-Device eintragen ("/dev/sda1", "/dev/sdc1" oder "192.168.6.68:/volume1")
Backup_Device=""
# Backup Ziel (""= /mnt/USB_Device) oder z.B. "/mnt/sda1" eintragen
Backup_Pfad=""
# 3 alte Backups bleiben erhalten +1 (aktuelle Backup)
Backup_Anzahl="3"
# "0"= nichts löschen "nodel", "1"= max. AnzBackup-1 Img bleiben auf dem Stick, "2"= alle Img löschen "del"
Del_Img="1"
# Anzeige der Uhrzeit vor und nach der Sicherung/Shrinking "1"= an, "0"= aus
DispSicTime="1"
# "1"= Batch-Modus an, "0"= Batch-Modus aus
Run_Batch="0"
# Dateiname der Sicherungsdatei vorgeben (das Datum, wird autom. angefügt)"MM2_`echo ${KRNL_REL%-*}`"
image_Name=""
# "0"=disable, "zip"/"gz"= im Anschluss wird die img-Datei gepackt (*.img.zip/*.img.gz)
gzImage="0"
# "1"= eine Kommentar-Datei zum Backup anlegen (Bestätigung mit Enter notwendig!)
Backup_txt="0"
# Anzahl der Zeilen für die Kommentar-Datei
KommentarZeilen="5"
# "1"= mini Log-Datei zum Backup mit erstellen
Backup_Log="1"
# "0"= Image nicht shrinken, "1"= Image shrinken
Shrink_Image="0"
# true = kein autom. erweitern des Filesystem nach dem Restore, false = Filesystem autom. erweitern
Skip_Autoexpand="false"
# true= komprimiere image nach dem shrinken mit gzip
Shrink_compress="false"
# true= Use advanced filesystem repair option if the normal one fails
Shrink_advRepair="true"
# Token für Telegram API
TToken_raspiBackup=$TToken_hbridge_new
# CHAT ID für Telegram bot Chat
TChat_ID_raspiBackup=$TChat_ID_hbridge_new
########################################################################################################################
# logwatch.sh #
########################################################################################################################
# Telegram API Token, logwatch senden
TToken_lwatch=$TToken_hbridge_new
# Telegram CHAT ID für "bot Chat", logwatch senden
TChatID_lwatch=$TChat_ID_hbridge_new
########################################################################################################################
# reporter.sh #
########################################################################################################################
# Telegram API Token, report senden
TToken_reporter=$TToken_hbridge_new
# Telegram CHAT ID für "bot Chat", report senden
TChatID_reporter=$TChat_ID_hbridge_new
########################################################################################################################
# fritzbox-reboot.sh #
########################################################################################################################
# User-Name zur Anmeldung an der Fritz-Box
Fritz_User=""
# Password zur Anmeldung an der Fritz-Box und Repeater
Fritz_Passwort=""
# IP-Adresse der Fritz-Box
FritzBox_IP=""
# IP-Adresse der Repeater = "192.168.178.1 192.168.178.2"
FritzRepeater_IP=""
# Telegram CHAT ID für "bot Chat", fritzbox senden
TChatID_fritz=$TChat_ID_hbridge_new
# Fritz Telegram API Token, fritzbox senden
TToken_fritz=$TToken_hbridge_new
########################################################################################################################
# Notiz Timerzeiten #
########################################################################################################################
#logwatch.timer: # OnCalendar=Mon-Sun *-*-* 00:00:00
#raspiBackup.timer: # OnCalendar=Mon-Sun *-*-* 01:00:00
#fritzbox-reboot.timer: # OnCalendar=Sun *-*-* 02:00:00
#system-reboot.timer: # OnCalendar=Sun *-*-* 02:30:00
########################################################################################################################
# Beispiele #
########################################################################################################################
# Logfile="journal" # "journal" loggen in /var/log/syslog mit "sudo journalctl -f"
# Logfile="/var/log/hbridge_new.log" # logge alle Ausgaben in dieser Datei mit
# TelegramAnhang="/home/pi/findgrep.sh" # Datei an Telegram senden
# TelegramPhoto="/home/pi/6.jpg" # Photo an Telegram senden
# Backup_Device="192.168.6.68:/volume1/Backup-HBS" # Sicherungs-Device
# Backup_Pfad="/home/pi/hbridge_install/Backup-HBS" # Backup Ziel
# Restart_Services="deconz deconz-gui hbridge+" # deconz und dann homebridge Services vor dem Backup beenden/starten
#
Eine Wiederherstellung, ist mit dem Parameter "restore" möglich.
- erst muss die Sicherung-Datei eingegeben werden, danach die Datei (oder Enter für alle) zum wiederherstellen.
Mit "hbridge_new.sh remove" wird das installierte "homebridge", node, npm und alle Plugins entfernt,
(Der Daten-Ordner /var/homebridge bleibt komplett erhalten)
anschliessend kommt die Frage ob man neu installieren ("install") will (bei Eingabe von "J" oder "Enter").
Es folgt die Abfrage nach den zu installierenden Versionen von node, npm und homebridge.
Danach kommt die Frage "Plugins installieren ?" ("plugin"). Falls die Datei "hbridge_plugin.inst" existiert,
wird diese eingelesen und die enthaltenen Plugins installiert.
Danach ob man homebridge als "Dienst einrichten ?" ("service") möchte.
Evtl. ob "Raspberry neu starten ?"
Zuletzt die Frage "Dienst starten?".
(jeder Schritt kann einfach mit Enter bestätigt werden, dabei wird das grüne übernommen)
Wer ein laufendes System auf homebridge "Dienst" umstellen will, macht folgendes:
"sudo mkdir /var/homebridge"
(kopieren der bisherigen homebridge des User pi)
"sudo cp -r /home/pi/.homebridge /var/homebridge"
"sudo chmod -R 0755 /var/homebridge"
"hbridge_new.sh service"
=============================================================================
raspiBackup.sh:
(im ToolPacket enthalten)
einzel Download:
https://www.dropbox.com/s/p0r11hiteay694u/raspiBackup.sh
letzte Version ohne separate cfg Datei:
https://www.dropbox.com/s/j82u925l8g0367i/raspiBackup_ohne-cfg.sh
speichern und Rechte setzen:
Das Tool dient zum sichern der SD-Karte auf einen Backupmedium
Unterstützt werden zur Zeit Raspbian und Debian X86 Systeme.
ACHTUNG!! Shrink für NOOBS image wird aktuell nicht unterstützt !!
NEU ab:
0.4.22b = start/stop MM2 integriert
0.4.22 = BugFix, TypoFix, Bug "q" Abfrage
0.4.21 = MM2 erkannt -> MM2 beenden/starten, BugFix,
0.4.20d = -z/-gz, -sz Parameter, BugFix, scan nach Parameter DBG
0.4.19e = DBG u. functions Datei eingebunden (vorbereitung Zukunft), -img BugFix, mount_image, pack_file, unpack_file
0.4.19c = BugFixing, Cleaning SicFile exist -> rename; clean_file_typ; shrink_Image
0.4.19b = autom. ermitteln Backup_Device, Typo BugFix, new pishrink.sh, add new Variables (cfg-Datei): Shrink_compress, Shrink_advRepair,
- Cleaning SicFile exist -> rename; clean_file_typ, shrink_Image
0.4.16b = BugFix, Bereinigung-Backupmedium, Code cleaning
0.4.15 = wenn in der Variable „Restart_Services“ ein "hbridge+" am Ende ist, wird nach weiteren "homebridge*" Instanzen gesucht,
reporter.service first-stop / last-start, ein Datumsformat und Typ wurde integriert
0.4.11 = BugFix -l, Date_Format, final
0.4.10 = Variable in "hbridge.cfg", Restart_Services="" , HB-Instanzen werden gesucht,
Restart_Services="deconz homebridge", diese Dienste beim Backup beenden/starten
0.4.8c
Variable gzImage="0" # 0 = disable, zip/gz = im Anschluss wird die img-Datei gepackt (*.zip/*.img.gz)
Wenn diese Variable gesetzt ist, wird nach dem erstellen der img-Datei diese gepackt (entweder als gz oder zip)
entpacken möglich mit: "raspiBackup.sh unpack"
Variable "deconz_service" eingeführt, wenn gesetzt wird diese Instanz mit beendet/gestartet
0.2.9
auch ohne cfg-Datei lauffähig,
0.2.8c
img mount - ein Backup-Image mounten nach "/mnt/image", dadurch erhält man Dateitzugriff auf den Inhalt.
img umount - das Backup-Image wieder entladen
format - USB-Device Partition löschen, anlegen, formatieren (nur exFAT) und Namen vergeben (ab Version 0.2.8b)
Aufruf: z.B. für das starten aus dem cmdtrigger-Plugin heraus, in der config.json eintragen:
evtl. den User pi anpassen.
Die Sicherungs-Datei (.img) wird so gross wie die SD-Karte ist.
Bei einer 8GB SD-Karte wird die Datei auch 8GB gross, diese sollte natürlich auch auf den Backupmedium passen.
Am Anfang wird einmalig gefragt ob der Support für NTFS bzw. exFAT nachinstalliert werden soll, wenn noch nicht installiert ist.
Mit dem zusätzlichen Parameter "shrink" kann das erstellte Backup geschrumpft werden.
Dazu wird das Backup kopiert und danach gekürzt. Dafür muss auf dem Backupmedium der Platz für 2x8GB frei sein
(bei einer 8GB SD-Karte).
Achtung!!
Während der Sicherung werden alle "homebridge*" Dienste beendet (nicht im Batchmodus cmd).
- hbridge_install.tar.gz runter laden und auf RasPi entpacken
- Backupmedium extern (FAT32 (Datei max. 4GB ), exFAT (Datei max. 512TB) oder NTFS (Datei max. 16TB) formatieren
und mit dem HB-System verbinden (ca. 10sec warten!)
- raspiBackup.sh starten und warten
- wen die Sicherung fertig ist, das Backupmedium entfernt werden
Der erste Start muss mit Pfadangabe erfolgen: "/home/pi/hbridge_install/raspiBackup.sh"
nach dem ersten start reicht: "raspiBackup.sh" zum starten.
Start möglichkeiten:
- im Terminal (der homebridge Dienst wird beendet):
cd hbridge_install
"./raspiBackup.sh" oder
"./raspiBackup.sh del" (siehe mögl. Parameter)
Batch-Modus:
- im CmdTriger (der homebridge Dienst wird NICHT beendet):
"command": "/home/pi/hbridge_install/raspiBackup.sh cmd" oder
"command": "/home/pi/hbridge_install/raspiBackup.sh del cmd"
forum.smartapfel.de/attachment/2986/
Konfiguriert wird "raspiBackup.sh" in der Datei "/home/pi/hbridge_install/hbridge.cfg" s.o.
oder ab Version 0.2.9 die Variablen am Anfang der Datei setzen.
ab #Distri=
bis #TChat_ID_raspiBackup=
und "#" am Zeilenanfang entfernen.
(sonst werden die Standardwerte benutzt!)
#!/bin/bash
#set -x
#set -e
#
## ============================================================
# User Variablen
# in der Datei: /home/UserName/hbridge_install/hbridge.cfg festlegen
## ============================================================
#
# Author: det (@SmartApfel Forum)
Version="0.4.15"
#
grep -iq debug <<< "${Version}" # debug version?
is_Debug=$((! $? )) # "debug" in "$Version" = 1
[ "${is_Debug}" -eq 1 ] && set -x
#
# Mit diesem Script kann man:
# - Das komplette Raspberry/DebianX86 System in einer IMG-Datei sichern.
# Mit oder ohne beenden (Batch Modus) der homebridge Instanzen.
# Diese wird auf einem USB-Stick bzw. NAS gesichert.
# Wenn gewünscht,ist im Anschluss das packen (shrinking) des Image möglich. (kein Support für NOOB-Image)
# - einstellbare Anzahl der IMG-Datei die auf dem Backupmedium verbleiben sollen
# - das Backupmedium mounten/umounten
# - Anzeige der .img-, .log-, .txt- Dateien und freien Speicher auf dem Backupmedium
# - Benachrichtigung via Telegram möglich
# - KommentarDatei.txt anlegen zur BackupDatei.
#
# Beschreibung siehe "/home/UserName/hbridge_install/raspiBackup.sh ?"
#
# Default mässig wird das Script über die Datei: "/home/UserName/hbridge_install/hbridge.cfg" konfiguriert.
# Bei Benutzung ohne cfg-Datei, sind die folgenden Variablen zu setzen und am Zeilenanfang das "#" entfernen !!
#
########################################################################################################################
# Anfang Configuration raspiBackup.sh #
########################################################################################################################
#Distri="Raspbian" # "no"= keine Überprüfung, "Raspbian" für RaspBerri oder "Debian" für x86 System
#Logfile="" # kein mit loggen, in einer Datei oder journal
#SendTelegram="0" # 1= über Telegram API benachrichtigen, 0= keine Nachricht senden
#Restart_Services="" # Services die beendet/gestartet werden soll, Service-Name eintragen "reporter deconz-gui" usw.
# # "deconz-gui mosquitto" wenn diese Service beendet/gestartet werden soll
# # "deconz-gui hbridge+" deconz-gui beenden/starten danach homebridge* Instanzen suchen und beenden/starten
#
#Boot_Device="" # Das Boot-Device eintragen (Achtung ohne Ziffer, "sda", "sdb")
#Backup_Device="" # hier das Sicherungs-Device eintragen (\"\dev\sda1\", \"\dev\sdc1\" oder \"192.168.6.68:/volume1\")
#Backup_Pfad="" # Backup Ziel ("" = /mnt/USB_Device) oder z.B. "/home/UserName/hbridge_install" eintragen
#Backup_Anzahl="3" # 2 alte Backups bleiben erhalten +1 (aktuelle Backup)
#Del_Img="1" # 0= nichts löschen "nodel", 1= max. AnzBackup-1 Img bleiben auf dem Stick, 2= alle Img löschen "del"
#DispSicTime="1" # Anzeige der Uhrzeit vor und nach der Sicherung/Shrinking 1= an, 0= aus
#Run_Batch="0" # 1= Batch-Modus an, 0= Batch-Modus aus
#image_Name="" # Dateiname der Sicherungsdatei vorgeben (das Datum, wird autom. angefügt)
#Date_Format="Jahr" # Datumformat "Tag"=09122019, "Jahr"=20191209, "Monat"=12092019
#Date_SicName="1" # 0=Name_(Date_Format), 1=(Date_Format)_Name; Format des Namen der Sicherungsdatei
#gzImage="0" # 0 = disable, zip/gz = im Anschluss wird die img-Datei gepackt (*.img.zip/*.img.gz)
#Backup_txt="0" # 1 = eine Kommentar-Datei zum Backup anlegen (Bestätigung mit Enter notwendig!)
#KommentarZeilen="5" # Anzahl der Zeilen für den Kommentar
#Backup_Log=0 # 1= mini Log-Datei zum Backup mit erstellen
#Shrink_Image="0" # "0"= Image nicht shrinken, "1"= Image shrinken
#Skip_Autoexpand="true" # true = kein autom. erweitern des Filesystem nach dem Restore, false = Filesystem autom. erweitern
#Shrink_compress="false" # true= komprimiere image nach dem shrinken mit gzip
#Shrink_advRepair="true" # true= Use advanced filesystem repair option if the normal one fails
#TToken_raspiBackup= # Token für Telegram API
#TChat_ID_raspiBackup= # CHAT ID für Telegram bot Chat
########################################################################################################################
# Ende Configuration raspiBackup.sh #
########################################################################################################################
Alles anzeigen
Benutze
: "/home/pi/hbridge_install/raspiBackup.sh ?"
mögliche Parameter sind:
raspiBackup.sh -?
Es wird das Script: raspiBackup.sh in der Version: 0.4.21 benutzt !!
(ohne Eingabe wird (grün) nach 10sec autom. übernommen)
(Die Homebridge läuft auf einem: Raspbian-System)
(Die Datei: "hbridge.cfg v0.0.02" wurde gefunden und eingelesen)
(Die Datei: "hbridge.fkt v0.0.11d" wurde gefunden und eingelesen)
(Benachrichtigung per "Telegram" erlaubt)
Mit diesem Script wird das kompl. Device: mmcblk0 auf das Medium: /dev/sda1 gesichert!
Benutze: /usr/bin/raspiBackup.sh [ -nd (nodel) | -d (del) | -s (shrink|-sz) | -b (cmd) | -c -n (comment(notiz)) |
-lg (log) | mount | umount| -nz | img mount/umount | listdev | format |
-l (list(free)) | -db (debug) | -d (debug) cfg | help(?/-?)]
mögliche Parameter sind:
(Parameter in dieser Farbe beenden das Tool ohne eine Sicherung)
nodel (-nd) - keine Sicherung vom Backupmedium löschen
del (-d) - löschen aller Sicherungen vom Backupmedium
ohne "del" oder "nodel" - die letzten 2, +1 Sicherung bleiben auf dem Backupmedium
shrink (-s) - Image nach dem erstellen schrumpfen (verkleinern), benötigt den doppelten Platz
auf dem Backupmedium und die Datei "pishrink.sh"
(mit Abfrage ob die org. Partitiongrösse wiederhergestellt werden soll)
(aktuell kein Support für NOOBS-Image)
cmd (-b) - Batch-Modus (homebridge* Dienste werden NICHT beendet)
z.B.: zum starten aus dem cmdtrigger-Plugin in der config.json mit:
"command": "/home/pi/hbridge_install/raspiBackup.sh cmd"
comment(notiz) (-c -n) - nach der Sicherung wird eine gleichnamige Kommentar-Datei.txt angelegt
Anzahl der Zeilen kann eingestellt werden (Bestätigung mit Enter notwendig!)
log (-lg) - es wird zum Backup eine gleichnahmiges mini Log angelegt
mount - bindet das Backupmedium ins Filesystem ein
umount - entfernt das Backupmedium aus dem Filesystem
pack "/mnt/sda1/hbridge_sic" - packt ein Image in eine *.zip (gzImage="zip"), /Pfad/ImageName ohne .img.
Ohne /Pfad/Name = Anzeige der *.img Dateien vom Pad aus der Variable: Backup_Pfad=""
unpack - entpackt ein komprimiertes Image (*.img.zip/*.img.gz -> *.img)
img mount - ein Backup-Image unter "/mnt/image" mounten, dadurch hat man Dateizugriff auf den Inhalt
img umount - ein geladenes Backup-Image unter "/mnt/image" wieder entladen
listdev - anzeigen der akt. Devices zum ermitteln des Sicherungs-Device und Boot-Device
format - USB-Device Partition löschen, anlegen, formatieren (nur exFAT) und beNamen
list (-l) - zeigt die Img-, Log-, Txt- Dateien und den freien Speicherplatz auf dem Backupmedium an
free - siehe list
noZip (-nz) - Image nicht packen, trotz gesetztem gzImage="zip/gz" in der cfg-Datei
zip (-z) - Image nach der Sicherung in eine zip-Datei packen
shrink (-s) - Image shrinken nach der Sicherung
-s "/Pfad/Dateiname" - vorhandenes Image shrinken, "/mnt/sda1/imageName" (ohne .img) angeben
-sz - Image nach der Sicherung shrinken und anschliessend mit gzip packen
-sz "/Pfad/Dateiname" - vorhandenes Image shrinken, "/mnt/sda1/imageName" (ohne .img) angeben
-gz - Image nach der Sicherung in eine gz-Datei packen
debug (-db) - anzeige von Debug Info's für die Datei: "raspiBackup.sh"
debug (-db) cfg - anzeige der Datei: "/home/pi/hbridge_install/hbridge.cfg"
help (-h) - diese Hilfe
? - siehe help
mögliche Kurzbefehle für Parameter/Optionen: "raspiBackup.sh Parameter Option"
Parameter Option
-d = del -nd = nodel
-l = list -db = debug
-b = cmd -nz = noZip
-s = shrink -cfg = cfg
-n = notiz -lg = log
-c = comment -z/gz = zipformat
-h(?) = Hilfe
weiter mit Enter...
Hinweis zu Variablen:
(in der Datei: /home/pi/hbridge_install/hbridge.cfg)
image_Name= festlegen des Dateinamen für die Sicherungsdatei (Datum wird autom. angefügt)
Date_Format="Jahr" Datumsformat "Tag"=09122019, "Jahr"=20191209, "Monat"=12092019
Date_SicName=1 0= Name, 1= Name_Datum, 2= Datum_Name, Format des Namen der Sicherungsdatei
gzImage="0" zip/gz= komprimiertes Image erstellen (*.img -> *.img.zip/*.img.gz)
Backup_Anzahl="3" Anzahl der Backup's auf dem Backupmedium, 2 alte Backups bleiben erhalten +1(aktuelle Sicherung)
DispSicTime="1" ein/aus Anzeige der Uhrzeit vor und nach der Sicherung/Shrinking
SendTelegram="0" Benachrichtigung via "Telegram" vom User "pi" senden
TToken_raspiBackup= den Telegram-API Token eintragen
TChat_ID_raspiBackup= die Telegram Chat-ID für den "bot Chat" eintragen
TelegramAnhang= eine Datei die per Telegram gesendet werden soll
TelegramPhoto= ein Bild das per Telegram gesendet werden soll
Logfile="" aktiviert das loggen in eine Datei (verzögert die Anzeige etwas) bzw. "journal" in syslog
Del_Img="1" 0=nichts löschen "nodel", 1=max. 3-1 Backips bleiben auf dem Backupmedium, 2=alle Backups löschen "del"
Run_Batch="0" 1=Batch-Modus an, 0= Batch-Modus aus, siehe "cmd"
Backup_Device="" =hier das Sicherungs-Device eintragen ("/dev/sda1", "/dev/sdc1" oder "192.168.6.68:/volume1")
Backup_Pfad="" =Backup Ziel ("" = gefundenes /mnt/sd?) oder z.B. "/mnt/sda1" eintragen
Boot_Device="" hier das Boot-Device eintragen (ohne Ziffer, "sda", "sdb")
Distri="" das aktuelle System festlegen, "Raspian" für Raspberry oder "Debian" für x86 System
gzImage="0" "0"=disable, "zip"/"gz"= im Anschluss wird die img-Datei gepackt (*.img.zip/*.img.gz)
Backup_txt="0" "1"= eine Kommentar-Datei zum Backup anlegen (Bestätigung mit Enter notwendig!)
Shrink_Image="0" "0"= Image nicht shrinken, "1"= Image shrinken
Skip_Autoexpand="true" "true" = kein autom. erweitern des Filesystem nach dem Restore, false = Filesystem autom. erweitern
Shrink_compress="false" "true" = komprimiere image nach dem shrinken mit gzip
Shrink_advRepair="true" "true" = Use advanced filesystem repair option if the normal one fails
KommentarZeilen="5" Anzahl der Zeilen für den Kommentar in der txt-Datei
Backup_Log="0" 1=eine (mini) LOG-Datei zur Sicherung anlegen
Restart_Services="" welche Services beendet/gestartet/restartet werden (="reporter deconz-gui hbridge+")
" hbridge+" am ende, bewirkt das danach nach "homebridge*" Instanzen gesucht wird
mögl. Beispiele:
"raspiBackup.sh del cmd notiz (-d -b -n)"
- löscht die Sicherungsdateien, beendet die "homebridge" NICHT und startet die Sicherung
und fragt danach die Daten für eine Kommentar-Datei ab
"raspiBackup.sh del (-d)"
- löscht alle Sicherungsdateien, beendet/startet "homebridge"
"raspiBackup.sh nodel (-nd)"
- löscht keine Sicherungsdateien, beendet "homebridge" und startet die Sicherung
"raspiBackup.sh cmd (-b)"
- beendet die "homebridge" NICHT und startet die Sicherung
(es verbleiben 3 Sicherung auf dem Backupmedium)
"raspiBackup.sh"
- beendet die "homebridge" startet die Sicherung, startet die "homebridge" wieder
(es verbleiben 3 Sicherung auf dem Backupmedium)
(zur Wiederherstellung benutze "Win32DiskImager", "Etcher" bzw. "PiBaker")
Wenn der Parameter "del" NICHT beim Start des Script angegeben wird.
Werden alle Backups bis auf die 2 (=Backup_Anzahl-1) neusten gelöscht und das aktuelle Backup kommt hinzu.
Nach der Sicherung sind dann 3 (default Einstellung=Backup_Anzahl) Backups auf dem Stick.
Das bedeutet, bei einer 4GB SD-Karte müssen also mind. 3 x 4GB = 12GB auf den USB Stick passen.
Zum Wiederherstellen wird die Sicherungsdatei auf eine SD-Karte geschrieben,
die ist möglich mit den Tools:
- "Win32DiskImager" unter Windows
- "PiBaker" unter iOS auf einem MAC
oder ein manuelles Restore ist möglich mit:
evtl. die gepackte Datei erst entpacken mit:
jetzt kann die *.img Datei auf die SD-Karte geschrieben werden.
=============================================================================
netz_tool.sh
(akt. Version siehe oben)
Eingabe und sichern der benutzten Homebridge Ports (aller Instanzen)
Anzeige des Port Status und Anzahl der Connections.
Suche und Anzeige aller bereits benutzten Ports von allen Instanzen.
Testen ob alle hombridge Ports up sind, sonst die entsprechende Instanz neu starten.
netz_tool.sh -?
Starting netz_tool.sh (v0.41d) use iface: eth0
Benutze: netz_tool.sh [port|-nr|-fi (port)|-fp (all)|-sp (port)|-c|-r|-p|-l (all)|-log (-l/-rm)|-h/-?/?]
((port) optional, sonst werden die gesicherten Ports benutzen)
Parameter:
ohne - testet ob die gesicherten Ports aktiv sind, wenn inaktiv = Instanz neustart
port - testet ob die Instanz mit diesem Port aktiv ist, sonst wird die Instanz neu gestartet
-h/-?/? - Hilfe, Anzeige der autom. Erkennung (exit=-1)
-nr - no restart der Instanz, wie "ohne" aber nur Anzeige
-r - entferne Systemlink (exit=1)
-p - Aufforderung zur Eingabe und Sicherung der HB-Ports (prüfen mit "netz_tool.sh -?")
-l - durchsuche HB-Daten, liste gefundene HB-/UI-x Details inkl. Status (sichern möglich) (exit=6)
(wenn ("DispInvers=1" ist, wird die Liste invers/normal angezeigt)
-l all - liste alle HB-Daten Details (exit=6)
-l inv - wird "inv" mit angegeben, wird die Anzeige (der Liste) Zeilenweise invers/normal (exit=6)
-lp - list Ports, zeige alle gefundenen Ports und den Status an
-fp - finde Ports, zeigt den HB und Config-UI-X Port von jeder HB-Instanz an (exit=3)
-fp all - Anzeige aller benutzten Ports von jeder HB-Instanz an (exit=3)
-fi (port) - finde Instanz, welche den (port) benutzt (exit=2)
-c - connect, zeigt homebridge Connections (Adresse/Port) an (Abbruch CTRL+C) (exit=7)
-sp (port) - Summe der Connection pro Port (exit=5)
-si InstanzNummer - Suche Instanznummer und zeige diese an (exit=8)
keinen Datenordner gefunden -> Variable manuell anpassen (exit=4)
Bei gesetzter Variable: ntool_log="/var/log/netz_tool.log" = Pfad und Name der Logdatei
werden bei "-l" einige Daten geloggt und dazu logrotate angelegt
-log - anzeigen der Log-Datei /var/log/netz_tool.log (exit=10)
-log -rm/remove - löschen der Log-Datei /var/log/netz_tool.log und logrotate (exit=10)
(ist gedacht um die Startzeit der Instanzen zu sichern und später zu vergleichen,
ob die Instanzen autom. neu gestartet wurden)
Info (autom. Erkennung)
HostIP="192.1xx.xxx.xxx"
Interface="eth0"
ToolDir="/home/pi/hbridge_install/files"
DatenDir="/var/homebridge"
DispInvers=0
LogFile="/var/log/netz_tool.log"
ports="51826 51830 51831 51833 51834 51835 51836 51838 51840 51841 51842"
siehe Beitrag:
Homebridge-Tool zur Netzwerk- / Port- Kontrolle
=============================================================================
WiFi_Check.sh
(akt. Version siehe oben)
Überwachen der WLAN Verbindung vom RaspBerry zum Gateway, wenn keine Verbindung mehr besteht.
Wird das WLAN Interface vom RaspBerry neu gestartet.
v0.19e = optional , wenn alle WLAN-Reset nichts bewirkten kann der Raspberry neu gestartet ,
Parameter -conf = configure Variablen maximale Anzahl reset_Wlan und ob Rasberry danach resettet werden soll
v0.19 = Variablen:
reset_WLAN=9 # after 9 WLAN-Reset -> reset_Rasby=1 -> Raspberry restart
reset_Rasby=0 # =0 no restart, 1= restart Raspberry
v0.18 = Variable max_Reset=9 # after 9 WLAN-Reset -> Raspberry reboot
- wenn nach 9 Resets des WLAN der Gateway nicht erreicht werden kann, wird der Raspberry neu gestartet
WiFi_Check.sh -?
Starting WiFi_Check.sh (v0.19f) use iface: eth0
(mit Raspberry Reset nach 9 WLAN-Reset)
Use: WiFi_Check.sh [-r|-kill|-h/?]
Parameters:
-h/? - shows the help and displays the automatically determined variables (exit -1)
-r - removes the system link (exit 1)
-kill - kill the Process while it is still running (exit 3)
-conf - configure Variables reset_WLAN and reset_Rasby (exit 4)
Config:
reset_WLAN=9 # Number of WLAN reset before Raspberry reset
reset_Rasby=0 # 0= no, 1= reset Rasperry after 9 WLAN reset
Info (automatic recognition):
Interface="eth0"
Gateway="192.1xx.xxx.xxx"
ToolDir="/home/pi/hbridge_install/files"
siehe Beitrag:
Homebridge-Tool RaspBerry reconnect WLAN
=============================================================================
Viel Spass
PS:
- Die Tool's sind getestet, aber dennoch kan ich nicht Fehler ausschliessen
- Ab Version 0.9.1 von meinem Tool "hbridge_new.sh" und "raspiBackup.sh" existiert ein Symbolischer Link im System (im Image),
diese werden mit "hbridge_new.sh install" automatisch angelegt.
(dadurch kann man einfach mit "hbridge_new.sh" und "raspiBackup.sh" in der Konsole das Tool starten, ohne Pfadangabe)
Aber trotzdem alles OHNE Garantie, Verwendung auf eigene Gefahr !!
(legt euch vorher eine Sicherung an !!)
(habe keinen anderen Hoster gefunden der mir zusagt, wir testen mal ob es klappt)