Kannst du auch wenn du dir eine extra Dummy Instanz anlegst.
Homebridge Mehrere Instanzen neue Option Selective load
-
-
Es ist schon offiziel in Homebridge aufgenommen, bei den nächsten Updates wird es daher immer bleiben und du brauchst nichts mehr ändern.
genau ist in der homebridge 0.4.43 enthalten
Hallo,
bzgl. der Config hätte ich nun eine Frage ob ich das so richtig verstanden habe.
aktuell schaut die Config für die Hauptinstanz (homebridge) so aus
Code
Alles anzeigen{ "bridge": { "name": "Osram", "username": "C4:22:3D:E3:CE:10", "port": "51810", "pin": "130-81-537" }, "accessories": [ { "accessory": "Weather", "name": "Weather", "apikey": "apikey", "location": "Muenchen,de" } ], "platforms": [ { "platform": "Hue", "name": "Osram", "host": "192.168.1.10", "users": {"xxxxx": "yyyyy"}, "sensors": true, "excludeSensorTypes": ["CLIP", "Daylight"], "linkButton": false, "lowBattery": "25", "lights": true } ] }
Hier werden nun aber natürlich im Hintergrund trotzdem alle Plugins geladen, wenn ich nun will. Das nur die geladen werden, die in der Config auch stehen muss ich die Config so anpassen oder?
Code
Alles anzeigen{ "bridge": { "name": "Osram", "username": "C4:22:3D:E3:CE:10", "port": "51810", "pin": "130-81-537" }, "plugins": [ "homebridge" ], "accessories": [ { "accessory": "Weather", "name": "Weather", "apikey": "apikey", "location": "Muenchen,de" } ], "platforms": [ { "platform": "Hue", "name": "Osram", "host": "192.168.1.10", "users": {"xxxxx": "yyyyy"}, "sensors": true, "excludeSensorTypes": ["CLIP", "Daylight"], "linkButton": false, "lowBattery": "25", "lights": true } ] }
Bzw. wenn ich die Instanz von People Plugin starten will homebridge-people
müsste die Config von people so sein oder:
Code
Alles anzeigen{ "bridge": { "name": "Homebridge People", "username": "C4:22:3D:E3:CE:50", "port": "51850", "pin": "133-77-331" }, "plugins": [ "homebridge-people" ], "accessories": [ ], "platforms": [ { "platform": "People", "name": "Devices", "threshold": "15", "anyoneSensor": "true", "nooneSensor": "false", "webhookPort": "51828", "cacheDirectory": "./.node-persist/storage", "pingInterval": "5000", "ignoreReEnterExitSeconds": "0", "people": [ { "name": "Desktop", "target": "192.168.1.21", "threshold": "1", "pingInterval": "1000", "ignoreReEnterExitSeconds": "0" }, { "name": "Manuels-iPhone", "target": "Manuels-iPhone", "threshold": "15", "pingInterval": "1000", "ignoreReEnterExitSeconds": "0" }, { "name": "Sarahs-iPhone", "target": "Sarahs-iPhone", "threshold": "15", "pingInterval": "1000", "ignoreReEnterExitSeconds": "0" } ] } ] }
Code
Alles anzeigen{ "bridge": { "name": "Osram", "username": "C4:22:3D:E3:CE:10", "port": "51810", "pin": "130-81-537" }, "plugins": [ "homebridge" ], "accessories": [ { "accessory": "Weather", "name": "Weather", "apikey": "apikey", "location": "Muenchen,de" } ], "platforms": [ { "platform": "Hue", "name": "Osram", "host": "192.168.1.10", "users": {"xxxxx": "yyyyy"}, "sensors": true, "excludeSensorTypes": ["CLIP", "Daylight"], "linkButton": false, "lowBattery": "25", "lights": true } ] }
genau nur bei deiner einen config steht plugin homebridge, da muss dann natürlich die beiden für hue und wetter rein....
Ah, jetzt kapiere ich das mit der config. Ich soll da die Pluginnamen eintragen die ausgeführt werden sollen und nicht den namen der Homebridge-Instanz... ob man bin ich doof.
Mh, irgendwie will es nicht gelingen.
Nachdem die Homebridge startet und auch den QR Code bzw. HomeKit Code erzeugt, kommt folgende Meldung und die die Homebridge stürzt ab.
Zitatevents.js:183
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::51810
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at Server.setupListenHandle [as _listen2] (net.js:1355:14)
at listenInCluster (net.js:1396:12)
at Server.listen (net.js:1480:7)
at EventedHTTPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/eventedhttp.js:60:19)
at HAPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:158:20)
at Bridge.Accessory.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:607:16)
at Server._publish (/usr/local/lib/node_modules/homebridge/lib/server.js:126:16)
at Server.<anonymous> (/usr/local/lib/node_modules/homebridge/lib/server.js:402:14)
Config selbst schaut so aus:
Code
Alles anzeigen{ "bridge": { "name": "Osram", "username": "C4:22:3D:E3:CE:10", "port": "51810", "pin": "130-81-537" }, "plugins": [ "homebridge-weather", "homebridge-hue" ], "accessories": [{ "accessory": "Weather", "name": "Weather", "apikey": "api", "location": "Muenchen,de" }], "platforms": [{ "platform": "Hue", "name": "Osram", "host": "192.168.1.10", "users": { "xxxxx": "yyyyy" }, "sensors": true, "excludeSensorTypes": ["CLIP", "Daylight"], "linkButton": false, "lowBattery": "25", "lights": true }] }
Port ist belegt, mach mal einen Reboot vom System.
Ah, danke für den Tipp. Nun sehe ich das zwar alle Terminals zu sind aber in der Aktivitätenanzeige ist noch 5x homebridge ausgeführt. Also meine 5 Instanzen laufen obwohl die Terminals beendet wurden... Nachdem ich diese Prozesse nun beendet habe, konnte ich die Homebridge wieder starten ohne Fehlermeldung.
Zitat[2018-6-16 15:52:38] Loaded config.json with 1 accessories and 1 platforms.
[2018-6-16 15:52:38] ---
[2018-6-16 15:52:38] Loaded plugin: homebridge-hue
[2018-6-16 15:52:38] Registering platform 'homebridge-hue.Hue'
[2018-6-16 15:52:38] ---
[2018-6-16 15:52:38] Loaded plugin: homebridge-weather
[2018-6-16 15:52:39] Registering accessory 'homebridge-weather.Weather'
[2018-6-16 15:52:39] ---
[2018-6-16 15:52:39] Loading 1 platforms...
[2018-6-16 15:52:39] [Osram] Initializing Hue platform...
[2018-6-16 15:52:39] [Osram] homebridge-hue v0.9.6, node v8.11.2, homebridge v0.4.43
[2018-6-16 15:52:39] Loading 1 accessories...
[2018-6-16 15:52:39] [Weather] Initializing Weather accessory...
Liest sich nun auch so als ob wirklich nur diese 2 Plugins geladen sind
Nun sehe ich das zwar alle Terminals zu sind aber in der Aktivitätenanzeige ist noch 5x homebridge ausgeführt. Also meine 5 Instanzen laufen obwohl die Terminals beendet wurden... Nachdem ich diese Prozesse nun beendet habe, konnte ich die Homebridge wieder starten ohne Fehlermeldung.
ihm startest du dein Instanzen alle manuell? was ist bei Stromausfall oder so, keine Autostart? (systemctl)
ihm startest du dein Instanzen alle manuell? was ist bei Stromausfall oder so, keine Autostart? (systemctl)
Ich nutze keine Pi, sondern habe einem Mac mini laufen. Dort habe ich mir, für jede Instanz, kleine Apps geschrieben über den Apple Script Editor und diese sind als Anmeldeobjekte hinterlegt.
Wenn also auf Grund eines Stromausfalls, der Mac mini neustarten muss. Werden so auch die Instanzen dann wieder gestartet.
Moin Leute
Mir ist gerade etwas dummes passiert... Ich hatte die tage mal eine Instanz angelegt mit det seinem tool wie gehabt nichts besonderes. Ich hatte allerdings die Instanz noch nicht konfiguriert und diese erstmal nicht gestartet.
Dort wird ja die config im Standard geschrieben mit den port, pin und username...
Nun wollte ich da mal beigehen heute und habe gedacht ich kann mit der App "File Explorer" die config ändern. Das ging tatsächlich auch und ich hatte mich zunächst gefreut. Jedoch als ich die Datei gespeichert habe um aus einer anderen config eine passage zu kopieren und dann wieder zurück in die neue config wolle war diese LEER....
Ich habe keine Ahnung was das nun soll und warum diese jetzt leer ist.
Schlimmer ist allerdings das ich nun nicht mehr diese Daten wie Username, pin, port weiß.
Wie kriege ich das denn nun raus?
die Bridge ist ja noch nicht mal hinzugefügt deshalb keine Ahnung welche Sachen ich da eingetragen hatte. Und so kann ich sie ja nicht hinzufügen.
PS: der Name der homebridge ist der eigentlich völlig egal und kann beliebig geändert werden oder muss da das stehen was man anfangs beim erstellen der Instanz eingetragen hat? Geht darum, manchmal installiert man halt doch noch ein plugin mehr in einer Instanz und da wäre es schon hilfreich die Instanz so nennen zu können entsprechend der plugins.
Ich hab´s jetzt. Konnte eigentlich nur eine Möglichkeit sein. Hab ja ein Schema. Bin gerade nicht zuhause aber müsste ich die Bridge mittels VPN nicht hinzufügen können? Oder muss man doch tatsächlich zuhause sein?
PS: der Name der homebridge ist der eigentlich völlig egal und kann beliebig geändert werden oder muss da das stehen was man anfangs beim erstellen der Instanz eingetragen hat?
Ich hab meine Bridge neulich im laufenden Betrieb umbenannt. Machte keine Probleme.
Stefan
Ich hab meine Bridge neulich im laufenden Betrieb umbenannt. Machte keine Probleme.
Stefan
In der config richtig?
Ja. Homebridge-Konfiguration geändert und neugestartet.
Damit ich es jetzt auch verstehe ....
macht selective Load nur Sinn wenn man mehrere Instanzen von Homebridge laufen hat ... oder auch innerhalb einer Instanz ?
lg Richard
Das ist ja gerade s dafür da, damit die einzelnen Instanzen nur ihre eigenen benötigten Plugins laden. Ist beim Start etwas schneller (muss man dran glauben ?), aber insbesondere stabiler, damit kaputte oder Test-Plugins nicht die komplette Instanz lahmlegen
Der große vorteil von Selective Load weswegen SeydX und ich damals überhaupt auf die Idee gekommen sind und einen Pull gemacht haben ist zu der Stabilität der Instanzen das wenn nicht mehr jedes installierte Plugin in jeder Instanz geladen wird enorm viel Arbeitsspeicher eingespart wird und dadurch auf dem Pi auch mehr als 10 Instanzen installiert werden können.