Beiträge von sschuste
-
-
Oder gibt es einen leichteren Weg das Plugin zu installieren?
Noch leichter? Ich finde, leichter geht es kaum. Wer Aber mehr so der Klicki-Bunti-Maus-Typ ist, also so einer wie ich, der verwendet homebridge-config-ui-x zur Verwaltung der Plugins.
-
Alles anzeigen
Kann man relativ "einfach" umgehen.
Oben links bei Google Maps auf Menü > Karte teilen oder einbetten > Karte einbetten.
Dort dann den Wert für "width" auf 960 und für "height" auf 540 setzen.
Den generierten Code kopieren und eine HTML-Datei auf dem Raspberry erstellen.
Zum Beispiel so:
sudo nano /home/gmaps.html
Dort den kopierten Code einfügen und speichern.
In der Config dann bei der Zeile für die URL einfach folgendes eingeben:
"url": "file:///home/gmaps.html",
Hoffe das hilft!

Sehr gute Idee.

Ich würde die Datei gmaps.html an eine andere Stelle legen und zwar entweder nach /home/homebridge/gmaps.html oder nach /var/homebridge/gmaps.html.
Stefan
-
Amazing. Alternativ kannst du auf deinem Mac eingeben:
scp [email protected]:/var/homebridge/config.json .
und hast die config.json auf deinen Mac kopiert. Natürlich musst du die IP-Adresse deines Raspi verwenden.
Stefan
-
gibt es ein Tool, das mit aus dem Backup meiner Config, gespeichert in PDF eine vernünftige kopierbare Version macht?
Ähm. Wozu muss die config.json denn als PDF gespeichert werden?
-
Die Fehlermeldung sagt aus, dass du Homebridge starten willst, obwohl sie schon läuft.
Stefan
-
Gibt es diese Logs auch als Datei?
Ja, die Datei heißt /run/log/journal/a9a7b3a0acc14d00902380d8411b6718/system.journal wobei das a9a7b3a0acc14d00902380d8411b6718 bei dir bestimmt anders heißt. Die Datei ist im Binärformat und kann von dir nicht gelesen werden, es sei denn du verstehst:
LPKSHHRH^@^@^@^@^B^@^@^@^A^@^@^@^@^@^@^@^Z^Av^R?Ha<8F><F8><FD>+<EA><A2> ?<A7><B3><A0><AC><C1>M^@<90>#<80><D8>AESCg^X<EB>+^<D1>^V2I<87><9F><AC><EB>W3J<F4>Yz<F3>Y<9C><96>jN/<A0><95><F3><C9>G1&<A2><F0>^@^@^@^@^@^@^@^P<BF>\^@^@^@^@^@<E0>^U^@^@
^@^@^@^@<80><93>^B^@^@^@^@^@^@^A^@^@^@^@^@^@<D0>^T^@^@^@^@^@^@0<AD>/^@^@^@^@^@q0^@^@^@^@^@^@n^L^@^@^@^@^@^@?^@^@^@^@^@^@i<8C>^@^@^@^@^@^@ <B7>^B^@^@^@^@^@Fc<D5>^U^\<89>^E^@<E7><F1><EB><B3>9<89>^E^@N"<F3><B2>8^A^@^@<F9>^Z^@^@^@^@^@^@$^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@<E4>^H^@^@^@^@^@^@^E^@^@^@^@^@^@^@<E0>^T^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
Stefan
-
Wie muesste ich jetzt meine config, die vorher auf dem selben PI lief aendern, damit sie auf den anderen PI zugreift?
Also zwei Raspis. Den einen nenne ich mal homepi und den anderen holepi.
Um Kommandos von homepi aus auf holepi auszuführen, kann man das ssh-Kommando verwenden:
homepi:~$ ssh pi@holepi /usr/local/bin/pihole enable
Voraussetzung dafür ist, dass der User pi@holepi die Rechte hat, Pi-Hole zu anzuhalten und zu restarten. Das Dumme ist nur, dass der Rechner holepi ein Passwort von dir verlangt. Gut, das kannst du ja eingeben, aber wenn die Homebridge später den Befehl ausführt, kann die das nicht. Also brauchst eine passwortlose Verbindung von homepi zu holepi, genauer gesagt: von homebridge-user@homepi zu pihole-user@holepi. Das kannst du mit SSH private und public keys machen.
Wenn deine Homebridge unter dem User homebridge läuft, machst du auf dem homepi folgendes:
sudo su - homebridge (macht dich zum User homebridge)
ssh-keygen (erstellt das Schlüsselpaar. Alle Fragen mit der Entertaste beantworten, auch die nach der Passphrase)
ssh-copy-id pi@holepi (kopiert den public key an die richtige Stelle auf dem holepi)
Dann testen mit
ssh pi@holepi /usr/local/bin/pihole enable (ein Passwort sollte nicht mehr abgefragt werden)
exit (verlässt den User homebridge wieder)
Du kannst dein vorhandenes cmd-Plugin weiterverwenden. Sieht dann so aus:
Code{ "name": "Pihole 5Min", "on_cmd": "ssh pi@holepi /usr/local/bin/pihole enable", "off_cmd": "ssh pi@holepi /usr/local/bin/pihole disable 5m", "state_cmd": "ssh pi@holepi /usr/local/bin/pihole status | grep blocking", "polling": true, "interval": 60 }Stefan
-
Setze mal in config.json:
"path": "/var/homebridge/omxplayer",
Sieht dann etwa so aus:
Code
Alles anzeigen"platform": "OmxPlayer", "name": "Screeneo Videos", "playPlaylistSwitch": false, "shuffleSwitch": false, "repeatAll": false, "format": "18", "path": "/var/homebridge/omxplayer", "output": "both", "playNextSwitch": false, "pauseSwitch": false, "volumeControl": false, "playlist": [ { "switchName": "OMX Kaleidoscope", "filename": "/mnt/usbstick/Kaleidoscope.mov", "loop": true }, { "switchName": "OMX Orange Octagons", "filename": "/mnt/usbstick/OrangeOctagons.mp4", "loop": true } ] },Ich weiß nicht mehr genau, wie das damals bei meiner Installation lief. Möglicherweise musst du vorher ein
sudo mkdir -p /var/homebridge/omxplayer und dann ein
sudo chmod -R homebridge:homebridge /var/homebridge/omxplayer
machen.
Stefan
-
Ich / wir sind gerade noch mitten in der kompletten Neuentwicklung der SSH Kommunikation.
Ich würde mir eine Verbindung ohne Passwort mit Private/Public Key wünschen.
-
Ich möchte dem oben stehenden Projekt gar nicht die Berechtigung absprechen, aber müssen es dafür wirklich 120€ sein?
Ein Raspi im Gehäuse + Netzteil und Ethernet Kabel, alles zusammen 50€.
Wo denn? Ich habe immer zwischen 60 und 65€ bezahlt.
Die kostenfreie Software selbst nach Anleitung installieren und dabei sogar noch neue Kenntnisse erwerben, umsonst (nicht im Sinne von vergebens)..
Das muss nicht jedermanns Sache sein. Auch wenn ich behaupte, dass die Installation des Raspis und der Homebridge ein Klacks ist, den wirklich jeder hinbekommt, gibt es genug Leute, die es nicht so mit Computern haben und die sich nicht wohlfühlen, selber Hand anzulegen. Das geht mir beispielsweise ganz genauso beim Brettersägen oder Löcherbohren, da weiß ich immer schon vorher, dass das nix wird, auch wenn es gar nicht der Fall sein sollte. Also kaufe ich diese Dienstleistung lieber ein.
Mit Linux irgendwelche Dinge zum Laufen zu bekommen ist mein Beruf. Also installiere ich so eine Homebridge auch selbst, und ich muss zugeben, dass meine erste Installation ein Kampf war. Ich habe die Forenanleitung eigentlich nur verfasst, um mir selber das Leben zu vereinfachen und hier im Forum nicht immer die gleiche Fragen stellen zu müssen, wenn mal wieder irgendwo eine Homebridge herumzickte: als welcher User hast du sie gestartet (Antwort: "keine Ahnung.")? Wo liegt deine config.json (Antwort: "keine Ahnung")? Benutzt du systemctl oder init (Antwort: "Hä")? Tatsächlich war das meine Motivation. Dass sich meine Anleitung langsam quasi zum deutschen Standard zur Installation von Homebridge entwickelt, hätte ich nie geglaubt. Nicht dass ich damit je kommerzielle Interessen verfolgen wollte, aber es stellt sich auch die Frage, wieviel denn diese Dienstleistung Homebridge-Usern wert gewesen wäre. Vielleicht als e-Book für 15€?
Die HOOBS-Leute setzen direkt auf den Dienstleistungsgedanken und verlangen 120€ - warum auch nicht. Ob diese Dienstleistung diesen Preis wert ist, muss jeder für sich selber entscheiden. Für Brettersägen oder Löcherbohren zahle ich persönlich solche Preise.
Man bekommt mit HOOBS auch nicht viel anderes geboten als wenn man es selber machen möchte, zumal es auf unserer Forenanleitung aufbaut (zumindest die Version, die ich vor ein Monaten getestet habe). Der wirklich kniffelige Teil ist aber nicht die Installation, sondern die Konfiguration. Diesen Teil nimmt dir keiner ab, und config.json ist nun mal nicht unbedingt sonderlich intuitiv. Und jeder hat eine andere. Wenn ich hier manchmal sehe, welch haarsträubende Fehler in config.json gemacht werden, dann erinnert mich das sehr genau an meine ersten Schritte mit JSON lange vor Homebridge. Ich kann mir nicht vorstellen, dass die HOOBSies da einen Support geben wollen und es überhaupt nur können. Das muss man selber lernen. Oder einen Guru einkaufen, der es dann für einen macht.
Stefan
-
In der Homebridge-App steht, dass der Standard-Port für den Raspberry 22 lautet.
Nein, der Standard-Port für den Raspi lautet nicht 22. Der Raspi hat nämlich keinen Standard-Port. Damit reiht er sich in die große Anzahl der Computer ein, die so etwas nicht haben, und das sind:
* alle Windows-Computer, egal mit welchem Betriebssystem
* alle Apple-Computer, egal mit welchem Betriebssystem
* alle Unix- und Linux-Computer, egal mit welchem Betriebssystem
* alle anderen hier nicht aufgelisteten Computer, egal mit welchem Betriebssystem.
Es gibt keinen Standard-Port für Computer, genauso wenig wie es Standard-Hausnummern für Straßen gibt oder Standard-Telefonnummern für Wohnzimmer.
Port 22 ist der Standard-Port für den SSH-Server, also dem Stück Software, dass es dir erlaubt, dich auf deinem Raspi per Terminal einzuloggen. Port 80 ist der Standard-Port für einen Webserver, Port 123 ist der Standard-Port für einen NTP-Server, Port 143 ist der Standard-Port für einen IMAP-Server und Port 51826 ist der Standard für den Homebridge-Server. Insgesamt können 65535 Ports geöffnet werden, und hinter jedem würde dann ein Server auf Anfragen warten. Bitte beachte, dass der Begriff Server nie etwas Viereckiges aus Metall oder Plastik bezeichnet, sondern immer eine Software, und beachte bitte auch, dass das Starten von 65535 Servern auf einer einzigen Maschine die Tat von Wahnsinnigen wäre, sogar auf größeren Rechnern als einem Raspi.
Die dazu passenden Clients verwenden die genannten Ports, um sich mit den Servern zu verbinden. So verbindet sich dein ssh-Programm im Terminal automatisch mit Port 22, dein Webbrowser automatisch mit Port 80, dein Mailprogramm automatisch mit Port 143, irgendein Programm mit Port 51826 für die Homebridge, und wenn dein Rechner die Uhrzeit und das Datum einstellen will, dann versucht er das automatisch über Port 123.
So weit erstmal das. Wenn du homebridge-http-webhooks installierst, dann öffnest du einen neuen Port auf deinem Raspi, und der wird dann angesprochen über einen Webbrowser oder ein anderes Programm, das HTTP kann (wie curl oder wget oder ein Homebridge-Plugin) über die Adresse http://192.168.178.180:51828. Der Port 51828 ist bitte nicht zu verwechseln mit dem Homebridge-Port 51826 und wird in der Konfiguration von homebridge-http-webhooks gesetzt.
Aber ist denn homebridge-http-webhooks überhaupt das richtige Tool? Willst du nicht eher homebridge-ifttt verwenden? Homebridge soll doch IFTTT triggern und nicht andersherum, oder?
Mal so nebenbei: du hast völlig recht damit, dass die Adresse 192.168.178.180 aus dem Internet nicht zu erreichen ist. Deshalb willst du dir mit einem Port-Forwarding auf dem Router behelfen. Also sowas wie <externe IP-Adresse>:51828 weiterleiten nach 192.168.178.180:51828. Ich würde Port-Forwarding auf dem Router auch immer dann einsetzen, wenn ich mir sicher wäre, dass homebridge-http-webhooks fehlerfrei programmiert ist und dass die dem Plugin zugrunde liegende homebridge fehlerfrei programmiert ist und dass das der homebridge zugrunde liegende Node fehlerfrei programmiert ist und dass das Node zugrunde liegende Linux fehlerfrei programmiert ist. Leider bin ich mir da nicht völlig sicher.
Stefan
-
Könnte mir sogar vorstellen, das diese Kombination so sogar weniger Stromverbraucht als eine Smartesteckdose und ein Schalter.
Du willst doch nicht behaupten, dass wir den ganzen Smartkram aus Vernunftgründen einsetzen, oder?

-
Ich mache nur drei Dinge in der Hue-App:
- Hue-Update
- Konfiguration der Motion-Sensors
- Erkennen neuer Hue-Geräte
Ich mache nie in der Hue-App:
- Szenen
- Automationen
- Und schon gar nicht synchronisieren. Ich kenne dein Problem und hab's dann irgendwann sein lassen. Spielt eh keine Rolle.
Ich mache in der Home-App:
- Fast alles.
Ich verwende darüber hinaus die EVE-App, die ich für sehr gelungen halte und die einige Möglichkeiten mehr als die Home-App bietet. Kurz: ich mache alles genauso wie @m4d-maNu und wie wahrscheinlich die meisten hier im Forum.
Weder Apple noch Philipps holen das Maximum aus ihren Apps heraus. Dafür sind sie natürlich leichter zu bedienen.
Stefan
-
Die Logs der Homebridge zeigst du im Terminal an mit:
sudo journalctl -au homebridge
seitenweise scrollen = Leertaste
zeilenweise scrollen = Returntaste
rückwärts zeilenweise scrollen = b
suchen = /
nächsten Suchtreffer anzeigen = n
Oder die Live-Anzeige des Logs:
sudo journalctl -fau homebridge
Den Debug-Modus aktivieren:
sudo nano /etc/default/homebridge
Dort die Zeile # DEBUG=* so verändern, dass dort nur noch
DEBUG=*
steht. Dann homebridge restarten:
sudo systemctl restart homebridge
Das Log wird nun mit viel mehr Informationen gefüllt als vorher. Ob die dir helfen, wage ich zu bezweifeln, aber versuch's mal. Debug-Modus wieder ausschalten: die Änderung in /etc/default/homebridge rückgängig machen.
Stefan
-
Ich habe hier: https://github.com/itsmepetrov/homebridge-zigbee/issues/29 einen Hinweis gefunden, dass homebridge-zigbee outdated ist, was immer das bedeuten mag.
Versuch's mal im Terminal mit:
sudo npm install -g --unsafe-perm itsmepetrov/homebridge-zigbee
Das geht bei mir, auch wenn es ziemlich hässliche Warnungen dabei ausgibt. Am Ende steht, und das scheint mir das Wichtigste zu sein:
added 295 packages from 189 contributors in 119.942s
Stefan
-
Für die oben gestellte Aufgabe ist mir nichts anderes eingefallen. Ansonsten mach ich alles über die Homebridge, allein schon deshalb, um mich nicht zu verzetteln.
Ich setze Node Red dann ein, wenn es für meine spezielle Anforderung kein Plugin gibt und auch keins geben wird, beispielsweise: schalte die Lampe auf Rot, wenn die S4 Verspätung hat. Dazu muss man dann aber auch schon (geringe) Javascript- und JSON-Kenntnisse haben, um beispielsweise die Antwort eines Servers auswerten zu können.
Homebridge ist ja eigentlich schon HomeKit für Fortgeschrittene und man kann damit ja auch wirklich fast alles machen. Für alles weitere braucht man Programmierkenntnisse, die ich nicht wirklich habe, und da hilft mir dann Node Red.
Stefan
-
Ich hab jetzt eine Weile über die Aufgabe nachgedacht. Ich finde sie kniffelig. Ich würde versuchen, sie mit Node Red zu lösen .
Das eine Problem liegt darin, den Osram Plug zu schalten. Das zweite Problem liegt darin, in Home den Schalter zu aktualisieren. Zu letzterem Punkt: nehmen wir an, du schaltest deinen virtuellen Schalter aus und damit wird die Platte ungemountet (wasn geiles Wort). Wenn du sie wieder mountest, sollte der virtuelle Schalter wieder eingeschaltet werden. Dazu brauchst du einen Prozess, der kontinuierlich den Mount-Zustand deiner Platte überwacht.
Ein kleines bash-Skript kann den Job erledigen. Wenn deine gemountete Platte /dev/sda1 heißt, dann würde das so aussehen:
Das speichern wir mal als check_mount_status.sh ab. Dieses Skript gibt einen Returncode zurück, der entweder 0 ist (da ist eine Platte gemountet) oder 1 (da ist nix dergleichen). Dieser Returncode soll dann den Schalter in Home aktualisieren.
Mit Node Red kann man sich den Ablauf dann "zusammenmalen". Kernstück des Ganzen ist ein exec-Node, der das Skript check_mount_status.sh alle fünf Sekunden aufruft.
Zusätzlich wird für Node Red die HomeKit-Palette installiert. Die liefert nun einen Schalter, den man in Home sehen kann. Ich habs mit einem USB-Stick getestet: wird er gemountet, geht der Schalter an. Wird er ungemountet, geht der Schalter aus. Darauf kann man nun eine HomeKit-Automation aufbauen, die den Osram Plug ausschaltet.
Ich habe auf diese Art und Weise mit Node Red ein Programm "geschrieben" ohne auch nur eine einzige Zeile Code zu tippen. Ich füge mal das Bild des Flows hier an, auch wenn ich ständig zu blöde bin, hier ein Bild einzufügen. Irgendwas wird schon zu sehen sein, und es soll verdeutlichen, dass es letztendlich einfach ist mit Node Red was zu basteln. Ok, ich habe jetzt auch mal 45 Minuten dareingesteckt, und ich habe schon ungefähr gewusst, was ich tue, aber wenn du dich damit beschäftigen willst, stelle ich dir gern den kleinen Flow zur Verfügung, damit du ihn selber verwenden kannst.
Stefan
-
nachdem meine Smart Life Sirene schon einige Zeit im Keller lag, hab ich diese in einer ruhigen Minute nachdem die kids eingeschlafen sind und meine Frau noch kurz weg musste, aktiviert.
Dass du sie nur (heimlich) aktivierst, wenn deine Frau abwesend ist, kann ich ja noch nachvollziehen. Aber nachdem die Kids eingeschlafen sind? Obwohl: wie soll man sonst herausfinden, dass man von der Sirene auch aufwacht? Je länger ich hier schreibe, um so mehr verstehe ich den Plan dahinter
.Stefan
-
Versuchs mal so:
Code
Alles anzeigen{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Home Smart Home", "platforms": [{ "platform": "config", "name": "Config", "port": 8080, "auth": "form", "theme": "red", "restart": "sudo -n systemctl restart homebridge", "temp": "/sys/class/thermal/thermal_zone0/temp", "sudo": true, "log": { "method": "systemd", "service": "homebridge" } }, { "platform": "Fritz!Box", "name": "My FritzBox", "username": "<username>", "password": "<password>", "url": "http://fritz.box", "interval": 60, "concurrent": false, "devices": { "wifi": { "name": "Guest WLAN", "display": true }, "outlet-1": { "TemperatureSensor": false }, "repeater-1": { "TemperatureSensor": false }, "thermostat-2": { "ContactSensor": false }, "hidden-3": { "display": false } }, "options": { "strictSSL": false } } ] }Bei dir steht zweimal "platforms": drin, und das eine "platforms": steht innerhalb des ersten. In config.json wird "platforms": nur einmal gesetzt.
Sieh dir noch mal das hier ab dem Punkt Plugins: Accessories und Platforms genau an. Das ist alles nicht einfach, aber versuche mal, die Struktur zu verstehen. Ich hab auch ein Weilchen gebraucht. Was ich begreife, begreift ganz sicher auch jeder andere.

Stefan