Beiträge von sschuste

    kann ich denn wenn ich die Bridge ohne Internet aktiviere aber meinen HomePod habe trotzdem die Lampen von unterwegs aus steuern?

    Ja, solange du die Home-App (oder eine andere HomeKit-kompatible App) oder Siri verwendest. Dann geht alles über die iCloud, ganz unabhängig davon, ob die Philips-Bridge am Internet hängt oder nicht. Dein iPhone sendet deine Wünsche an die iCloud, die beauftragt den HomePod und der redet dann intern über dein Netzwerk zu Hause mit der Hue-Bridge.

    Um eine Steckdose mit dem HomePod bzw. der Apple Home App zu steuern muss die Steckdose doch HomeKit fähig sein oder ?

    Ja.

    Und wenn ich dann noch zusätzlich möchte das die Steckdose nicht via wlan sondern via THREAD möchte muss die Steckdose also Thread UND HomeKit kompatibel sein richtig ? Oder reicht es wenn die Steckdose THREAD Kompatibel ist ?

    Du brauchst zwei Dinge: ein Medium und ein Protokoll.


    Thread ist nur das Medium. Über dieses Medium findet die Kommunikation über HAP (HomeKit Accessory Protocol) statt. Also ganz genauso wie: Luft ist nur das Medium. Über dieses Medium findet die Kommunikation in deutscher Sprache statt.


    Andere Medien könnten sein: WLAN, Ethernet-Kabel, Bluetooth. Eine andere Sprache könnte Matter sein.


    Was den HomePod betrifft: er kann als Medium WLAN, Bluetooth und Thread nutzen. Als Sprache (in Computerdeutsch: Protokoll) kann er HomeKit und irgendwann hoffentlich auch Matter.

    Wichtig wäre mit das die Steckdose kein WLAN brauch aber über die Apple Home App (und somit über den HomePod) steuerbar ist.

    Ich habe fünf Steckdosen. Vier davon gehen über Bluetooth (EVE Energy) und eine über WLAN (Parce Plus). Darüber hinaus habe ich drei Steckdosenleisten von Koogeek, die per WLAN angesteuert werden. Die Bluetooth-Steckdosen brauchen ein paar Sekunden, bis sie schalten, die WLAN-Steckdosen und -leisten reagieren sofort. Das ist natürlich super, aber ich bezahle das mit einem höheren Stromverbrauch.


    Eine Thread-fähige Steckdose habe ich leider nicht. Ich würde die Steckerleisten gern irgendwann gegen Thread-fähige tauschen, das spart Strom. Dem spricht nur eins entgegen: dass ich dann funktionierende Elektronik auf den Müll schmeißen müsste, was den dahinter stehenden Nachhaltigkeitgedanken ad absurdum führt.

    Schwer zu sagen, wenn man die Prozessnamen nicht sehen kann, sondern nur die Usernamen, unter den diese Prozesse laufen. Soll heißen, dein Screenshot ist wertlos, auch wenn er auf den ersten Blick nach solider Handwerksarbeit aussieht. Scharf und unverwackelt, nur fehlt halt das Motiv.


    Vielleicht möchtest du zukünftig für solche Aufgaben einen Computer mit einem etwas größeren Display einsetzen. Dann würdest du feststellen, dass die wesentliche Information weiter rechts steht. Ich empfehle es mit Nachdruck.

    jetzt geht es aber auch nicht mit

    /etc/cron.daily/dropbox-sync

    oder geht das nur einmal am Tag ??

    Nein, das geht immer. Allerdings macht es nichts mehr, wenn der Sync bereits erfolgt ist.


    Um zu sehen, ob ein Sync bereits erfolgt ist, musst du das dropbox-sync-Skript abändern. So wie der Sync-Befehl jetzt da steht, unterdrückt er alle Meldungen, die das Programm sonst abgibt und arbeitet völlig stumm. Das solltest du mal ändern, damit du was zu sehen bekommst.


    Öffne das dropbox-sync-Skript im cron.daily-Verzeichnis:

    sudo nano /etc/cron.daily/dropbox-sync


    Lösche das q in dem Befehl (steht für quiet). Danach sieht der Befehl dann so aus:

    /usr/local/bin/dropbox_uploader.sh -s upload /var/lib/homebridge/backups/ /


    Abspeichern und dann aufrufen mit

    /etc/cron.daily/dropbox-sync

    kann ich die Konfig in Homebridge nicht speichern, da FEHLER.

    Das kann man ohne die ganze Konfiguration zu sehen nicht sinnvoll verbessern. Wahrscheinlich fehlt am Ende der Zeile vor dem "startPub" ein Komma.


    Ich möchte an dieser Stelle kurz aus den Forenregeln zitieren und bitte um Beachtung!

    Es geht hier ja auch nicht um ioBroker, Home Assistant oder Node Red, sondern um eine Homebridge-Konfiguration. Wenn ich es korrekt sehe, ist die doch noch erlaubt hier, oder?

    Jun 8 08:00:01 homebridge CRON[11484]: (pi) CMD (/usr/local/bin/dropbox_uploader.sh -sq upload /var/lib/homebridge/backups/ /)

    Jun 8 08:00:01 homebridge CRON[11483]: (CRON) info (No MTA installed, discarding output)

    Doof. Ich hatte gehofft, dass das Log etwas brauchbarer ist, aber es sagt nur, dass kein Mailserver installiert ist, der eine Mail des Cron entgegennehmen würde, um sie an dich zu senden (MTA = Mail Transfer Agent).


    Der Automatische Upload zur Dropbox hat bei mir leider nicht geklappt.

    Auch hier weiß ich nicht, warum es nicht klappt.


    Roger und Vollerpla

    Ich schlage eine andere Vorgehensweise vor, die eigentlich auch viel eleganter ist (und von der ich nicht weiß, warum ich sie nicht gleich so beschrieben habe):


    1. Loggt euch auf dem Raspi ein.
    2. Schmeißt die hinzugefügte Zeile in /etc/crontab wieder raus.
    3. Schreibt ein Skript. Dazu ruft ihr den nano auf: nano dropbox-sync. Dort fügt ihr ein:
      #!/bin/bash
      /usr/local/bin/dropbox_uploader.sh -sq upload /var/lib/homebridge/backups/ /

      Abspeichern mit control-x, y und der Entertaste.
    4. Macht das Skript ausführbar mit dem Befehl chmod +x dropbox-sync.
    5. Testet euer Skript mit dem Befehl ./dropbox-sync. Das sollte nun die Dateien auf eure Dropbox kopieren.
    6. Wenn das klappt, dann werft das Skript dem Cron zum Fraß vor:
      sudo cp dropbox-sync /etc/cron.daily.

    Das sorgt dafür, dass das Skript täglich ausgeführt wird. Bei mir passiert das um 6:25 Uhr. Das kann bei euch zu einer anderen Uhrzeit passieren. Wann genau, steht in /etc/crontab in der Zeile

    Code
    25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

    Vielleicht klappt's damit besser.

    Vollerpla


    Soweit ich sehen kann, passiert folgendes:

    1. Du kopierst die Cron-Job-Zeile aus der Anleitung.
    2. Du fügst sie im nano-Editor an die richtige Stelle ein.
    3. Du beendest den Nano und beantwortest die Frage, ob gespeichert werden soll, mit YES.
    4. Du beantwortest die Frage, ob die Datei /etc/crontab heißen soll nicht mit der Entertaste (für: ja, speichere genau dort), sondern schließt das Terminalfenster und brichst damit den gesamten Vorgang ab.

    Warum schließt du das Fenster, bevor du den Vorgang komplett abgeschlossen hast? Genau diese Frage solltest du dir stellen. Ist so ähnlich wie diese Urlaubsreise, wo du umständlich dein gesamtes Gepäck am Flughafen eincheckst und bei Aufruf deines Fluges das Gebäude durch den Vordereingang verlässt und nach Hause fährst.

    Jun 7 09:00:01 homebridge CRON[13106]: (pi) CMD (/usr/local/bin/dropbox_uploader.sh -s upload /var/lib/homebridge/backups/ / >/dev/null 2>&1)

    Da steht, dass der Job um 9:00 Uhr ausgeführt worden ist. Vielleicht änderst du ihn mal ab, dass er so aussieht:


    0 8 * * * pi /usr/local/bin/dropbox_uploader.sh -sq upload /var/homebridge/backups/ /


    Soll heißen, du entfernst hinten das >/dev/null 2>&1. Das sollte dafür sorgen, dass etwaige Fehlermeldung ebenfalls im Log auftauchen.


    Alle anderen Meldungen im Log haben nichts mit dem Dropbox-Cronjob zu tun, sondern kommen vom Kernel, deCONZ und einem anderen Cronjob sowie dem systemd.

    Das beantworte ich mal mit einem klaren: "ja", und ich schränke es auch gleich wieder ein durch ein "keine Ahnung wie, hab kein Synology-NAS". Der Trick wird darin bestehen, auf dem NAS ein Verzeichnis freizugeben und auf dem Raspi zu mounten. Wie das freigegeben wird, weiß ich leider nicht, wahrscheinlich per NFS.

    Generell traue ich Anleitungen im Internet per Google nicht mehr wirklich über den Weg - da war mein Raspi schon mal nicht mehr betriebsfähig… Da frage ich lieber noch mal die Leute, die wirklich was davon verstehen.

    Von denen du nicht beurteilen kannst, was sie wissen und können. Und die dir dann per Internet irgendwas schreiben. Beispielsweise ich.


    Ich würde einen cron-Job auf meinem Mac einrichten und von dort Dateien auf der Dropbox löschen. Der Cronjob könnte den dazu notwendigen Befehl direkt ausführen (wäre meine bevorzugte Art) oder aber ein Skript aufrufen, dass den Befehl ausführt.


    Bei einem einzigen Befehl bietet sich das Skript nicht an. Das nimmt man eigentlich dann, wenn es komplexer wird und viele Befehle ausgeführt werden müssen oder irgendwelche Bedingungen mit if und else abgefragt werden sollen. Dann ist das Skript einfach übersichtlicher. Bei nur einem einzigen Befehl ist es übersichtlicher, ihn direkt in die crontab zu schreiben.


    Aber warum den cron-Job auf dem Mac einrichten und den Löschbefehl von dort ausführen? Das liegt daran, dass es auf dem Mac ein Verzeichnis gibt, dass die Dropbox-Dateien enthält. Legt man da was rein, wird es durch die installierte Dropbox-Software automatisch zur Dropbox-Cloud hochgeladen. Löscht man eine Datei, verschwindet sie auch aus der Dropbox-Cloud.


    Das heißt, man muss sich um den Sync keinen Kopp machen. Man muss nur noch die richtigen Dateien löschen.


    Das Dropbox-Verzeichnis auf meinem Mac heißt /Users/sschuste/Dropbox und mit dem Befehl

    ls -l /Users/sschuste/Dropbox kann ich mir dort die Dropbox-Dateien anzeigen lassen. Deine erste Aufgabe ist also herauszufinden, wo dein Dropbox-Verzeichnis ist und wo vor allem das Backup-Verzeichnis ist. Das bekommst du heraus, in dem du im Finder auf deinen Dropbox-Ordner klickst und dich dann zu deinem Backup-Ordner durchklickst. Bei mir ist das Dropbox:Apps:hb-backup:backups. Wähle also den Ordner backups aus und kopiere ihn mit command-c oder indem du die rechte Maustaste auf dem Ordner klickst und dann auf Kopieren klickst.


    Öffne dann das Textedit-Programm auf deinem Mac. Wenn du dort nun deine Zwischenablage wieder einfügst (command-v), dann steht da so was wie /Users/sschuste/Dropbox/Apps/hb-backup/backups. Natürlich sieht das bei dir etwas anders aus, weil ja dein Username kaum sschuste lauten dürfte.


    Dieser Pfad ist wichtig. Ohne ihn wird nichts funktionieren. Also fahre erst fort, wenn du den folgenden Befehl im Terminal eingeben hast und ein brauchbares Ergebnis erzielst:


    ls -l /Users/sschuste/Dropbox/Apps/hb-backup/backups


    So sollte das dann aussehen:

    BigMac:~ sschuste$ ls -l /Users/sschuste/Dropbox/Apps/hb-backup/backups

    total 0

    drwxr-xr-x 45 sschuste staff 1440 Mai 29 08:00 config-backups

    drwxr-xr-x 293 sschuste staff 9376 Jun 4 08:00 instance-backups

    BigMac:~ sschuste$


    Auch hier sieht das bei dir so ähnlich aus: statt BigMac steht dort der Name deines Macs und statt sschuste steht da dein Username. Auch das Datum wird ein anderes sein und die Zahlen 45 und 293 sind sicherlich auch andere. Was du sehen musst, sind die Verzeichnisse config-backups und instance-backups.


    Der Befehl, der in der crontab stehen soll, lautet:

    find /Users/sschuste/Dropbox/Apps/hb-backup/backups -type f -mtime +365 -exec rm -f {} \;


    Natürlich enthält der Befehl deinen ermittelten Pfad.


    Achtung: wenn du diesen Befehl im Terminal eingibst, wird er ohne jede Rückmeldung ausgeführt und er löscht sofort alle Dateien im Verzeichnis /Users/sschuste/Dropbox/Apps/hb-backup/backups, die älter sind als 365 Tage. Da kommt keine Abfrage wie "Willst du das wirklich?". Da werden ohne jede Rückmeldung Dateien gelöscht. Die sind dann weg. Rückgängig machen ist auch nicht. Im Mülleimer sind sie auch nicht. Also alles so männlich wie Thors Hammer, der die Welt von unerwünschten Elementen befreit. Da gibt's auch kein rückgängig machen.


    Vorher eine Kopie der Dropbox-Dateien zu machen ist also absolut empfehlenwert - für alle Fälle. Am besten von allen Dateien der Dropbox, ob sie mit dem Backup zu tun haben oder nicht. Sicher ist sicher.


    Wenn der obige Befehl erfolgreich die richtigen Dateien gelöscht hat (das geht flott), dann kannst du ihn mit einem cron-Job automatisieren. Du kannst ihn einmal im Jahr laufen lassen, aber ich würde ihn - wie du schon selber richtig erkennst hast - täglich laufen lassen. Das wird im Terminal gemacht und geht so:


    export EDITOR=nano

    crontab -e


    Der Editor wahrscheinlich nichts anzeigen, weil du noch keine cron-Jobs erstellt hast. Schreibe dort einfach hinein (in eine einzige Zeile!):


    55 18 * * * find /Users/sschuste/Dropbox/Apps/hb-backup/backups -type f -mtime +365 -exec rm -f {} \;


    Das wird dafür sorgen, dass der Löschbefehl jeden Tag um 18:55 Uhr ausgeführt wird - natürlich nur dann, wenn dein Mac zu diesem Zeitpunkt auch eingeschaltet ist. Fall du eine andere Uhrzeit bevorzugst, dann setze für die 55 18 andere Zahlen ein, wobei du erst die Minuten hinschreibst und dann die Stunde (beispielsweise 0 15 für 15:00 Uhr oder 12 10 für 12 Minuten nach 10 Uhr). Ja, das ist ein wirklich hässliches Format, aber es funktioniert seit Jahrzehnten.


    Dann speicherst du deinen cron-Job ab, indem du control-x, danach y und dann die Entertaste drückst.


    So, da hast du deine Internet-Anleitung. Um dich noch ein bisschen wuschig zu machen: ich habe davon nix ausprobiert und ich selber setze diesen Löschbefehl auch nicht ein. Ich lösche meine Dropbox-Dateien tatsächlich per Hand, immer wenn ich mal zufällig drauf stoße.

    Gibt es eigentlich eine Möglichkeit, das Löschen der Backups zu vereinfachen?

    Löschen zu vereinfachen ist eigentlich nie eine gute Idee. Eigentlich sollte das so schwer wie möglich sein, damit man sich nicht versehentlich in den Fuß schießt. Meine Füße beispielsweise sind voller Löcher, teilweise schmerzhaften.


    Der Sync-Vorgang, den du mit rsync machst, kann auch so gestaltet werden, dass Dateien, die auf dem Raspi gelöscht werden, auch auf der Dropbox verschwinden. Das ist natürlich im Sinne eines Backups völliger Unsinn, wie du schon richtig bemerkt hast. Aber der Parameter --delete würde das bewirken, also ein rsync -avzP --delete … . Nicht empfehlenswert.


    Um das einmal im Jahr zu machen, könnte man den Parameter --delete aber trotzdem einführen, und zwar in einem Extra-Skript. Das heißt, man bastelt nicht weiter an seinem Backup-Skript herum, sondern baut ein neues, das einmal pro Jahr per Cron-Job aufgerufen wird. Dieses Löschskript würde auf dem Raspi in einem bestimmten Verzeichnis alle Dateien suchen, die älter als ein Jahr sind und diese dann löschen. Danach wird der rsync aufgerufen, der dann auch die Dateien auf dem Zielverzeichnis in der Cloud löscht.


    Ohne es ausprobiert zu haben, sollte das so gehen:


    find /var/homebridge/backups -type f -mtime +365 -exec rm -f {} \;

    rsync -avzP --delete /var/homebridge/backups sschuste@bigmac:"'Library/Mobile Documents/com~apple~CloudDocs/Homebridge/'"


    Das erste Kommando find sucht auf dem Raspi Dateien (-type f) im Verzeichnis /var/homebridge/backups, die älter als 365 Tage alt sind und löscht sie (-exec rm -f). Das zweite Kommando rsync macht einen Sync von /var/homebridge/backups zum Zielverzeichnis auf dem Mac (hier für den User sschuste auf dem Gerät bigmac mit dem Verzeichnis 'Library/Mobile Documents/com~apple~CloudDocs/Homebridge/' und löscht dort ebenfalls die Dateien, die auf dem Raspi gelöscht wurden.


    Wie gesagt: davon habe ich nix ausprobiert.