Mit -X würde es schon funktionieren aber es soll halt über die config integriert werden. Macht ja auch irgendwie Sinn. Derzeit halt das Problem das einige Plugins den jetzigen Weg noch nicht mögen.
Homebridge Mehrere Instanzen neue Option Selective load
-
-
Ich habe bisher bei einem plugin das Problem das es durch das globale laden in jeder Instanz auch erscheint obwohl es nicht mal in der config der anderen Instanzen ist. Das würde sich dann ja auch erübrigen. Finde ich super die Idee!
Mein Kommentar im issue ist auch bereits drin.
Nochmal richtig
Habe ich gesehen. Danke
Die Homebridge wartet gerade auf einen neuen Merge und einer neuen tollen Funktion. Sie nennt sich "Selective load".
Die Idee stammt aus diesem Forum und SeydX wurde jedoch etwas anders gelöst. Ich habe gerade die entsprechende Datei bei meiner homebridge ausgetauscht (lib/server.js) und es funktioniert perfekt. Du kannst jetzt die Plugin welche du laden möchtest in der config.syseingeben. Dies sieht dann wie folgt aus:
{
"bridge": {
"name": "Homebridge",
"username": "CD:30:3E:E8:CE:32",
"port": 51880,
"pin": "035-35-959"
},
"plugins": [
"homebridge-config-ui-x",
"homebridge-motion-switch",
"homebridge-mi-gateway-security",
"homebridge-people"
],
"accessories": [...
Perfekt wenn man mehrer Instanzen hat oder aber bestimmt Plugins gerade testen will oder nicht benötigt. So hindert man homebridge daran diese zu laden. Unter Plugins in der config müßt ihr einfach den Pfad der Plugin welche Ihr nutzen möchtest eingeben.
theo69 Habe deinen Thread verschoben um eine bessere Verbindung zu dem eigentlichen Kernthema und den Hintergründen herzustellen. Denke nicht das wir noch einen extra Thread brauchen der in der Rubrik Anleitung ist.
Für alle die Interesse haben die Funktion vorab zu testen gem. Beitrag 47 hier der Link zum aktuellen Pull Request für weitere Details.
Kohle_81 Ja wenn du nichts in der Config hinzufügst bleibt alles beim alten.
Thread Name wurde angepasst.
Danke und ja genau man braucht nix ändern...
Die Homebridge wartet gerade auf einen neuen Merge und einer neuen tollen Funktion. Sie nennt sich "Selective load".
Die Idee stammt aus diesem Forum und SeydX wurde jedoch etwas anders gelöst. Ich habe gerade die entsprechende Datei bei meiner homebridge ausgetauscht (lib/server.js) und es funktioniert perfekt. Du kannst jetzt die Plugin welche du laden möchtest in der config.syseingeben. Dies sieht dann wie folgt aus:
{
"bridge": {
"name": "Homebridge",
"username": "CD:30:3E:E8:CE:32",
"port": 51880,
"pin": "035-35-959"
},
"plugins": [
"homebridge-config-ui-x",
"homebridge-motion-switch",
"homebridge-mi-gateway-security",
"homebridge-people"
],
"accessories": [...Perfekt wenn man mehrer Instanzen hat oder aber bestimmt Plugins gerade testen will oder nicht benötigt. So hindert man homebridge daran diese zu laden. Unter Plugins in der config müßt ihr einfach den Pfad der Plugin welche Ihr nutzen möchtest eingeben.
Hab mir die pull requests eben auch noch mal zu Gemüte geführt und finde das absolut klasse ! Vielen Dank für diese Funktion allen Beteiligten.
Also wurde die -X Funktion verworfen und es wird jetzt komplett über die config / selective load Option dann geregelt ja?
Die Plugins verbleiben in dem Pfad wo sie auch sonst installiert werden?Du sprichst von Pfaden der Plugins in der config angeben. Du meinst einfach den plugin Namen mit Homebridge- davor nehme ich an?
Ich bin gespannt auf den Release und es zu testen !
Du sprichst von Pfaden der Plugins in der config angeben. Du meinst einfach den plugin Namen mit Homebridge- davor nehme ich an?
Ja die Plugins bleiben wie und wo sie sind und nein, also den Dateipfad damit meine ich z.B. homebridge-mi-aqara nicht den Namen also z.B. MiAqaraPlatform
Ja gemäß der config wie du sie oben gezeigt hast ist ja super!
Und geplant ist das ganze in Homebridge 0.5 umzusetzen?
Und geplant ist das ganze in Homebridge 0.5 umzusetzen?
nö sobald mehrer schreiben es funktioniert, geht es in das nächste Update. Also jederzeit!
Der Pull Request wurde übernommen und hinzugefügt. Die Option selective load ist jetzt offiziell in Homebridge verfügbar. Einfach Homebridge erneut Installieren falls später nicht noch ein Update angeboten wird. Zusätzlich wie in Post #47 erklärt die Config anpassen.
Super!
Der Pull Request wurde übernommen und hinzugefügt. Die Option selective load ist jetzt offiziell in Homebridge verfügbar. Einfach Homebridge erneut Installieren falls später nicht noch ein Update angeboten wird. Zusätzlich wie in Post #47 erklärt die Config anpassen.
Update jetzt da, man kann jetzt normal updaten z.B. auch über config-ui-x.
Hi, klingt ja alles spannend, aber...
wenn ich das so eintrage
{
"bridge": {
"name": "Homebridge",
"username": "CD:30:3E:E8:CE:32",
"port": 51880,
"pin": "035-35-959"
},
"plugins": [
"homebridge-config-ui-x",
],
dann so weiter?
"accessories": [],
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"auth": "form",
"theme": "blue-grey",
"restart": "sudo systemctl restart homebridge",
"temp": "/sys/class/thermal/thermal_zone5/temp",
"tempUnits": "c",
"sudo": true,
"log": {
"method": "systemd",
"command": "sudo journalctl -fau homebridge"
}
},….. und der Rest?
Sollten dann noch weitere Einträge unter Platforms sein, werden die dann nicht ausgeführt?
Danke
Hi, klingt ja alles spannend, aber...
wenn ich das so eintrage
{
"bridge": {
"name": "Homebridge",
"username": "CD:30:3E:E8:CE:32",
"port": 51880,
"pin": "035-35-959"
},
"plugins": [
"homebridge-config-ui-x",
],
dann so weiter?
"accessories": [],
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"auth": "form",
"theme": "blue-grey",
"restart": "sudo systemctl restart homebridge",
"temp": "/sys/class/thermal/thermal_zone5/temp",
"tempUnits": "c",
"sudo": true,
"log": {
"method": "systemd",
"command": "sudo journalctl -fau homebridge"
}
},….. und der Rest?
Sollten dann noch weitere Einträge unter Platforms sein, werden die dann nicht ausgeführt?
Danke
Der Bereich mit plugin ist einfach zusätzlich und wenn du nicht alle plugins die du unten aufführst oben einträgst bekommst du einen ERROR. Denn die homebridge lädt ja jetzt nur die oben aufgeführten Plugins und kann dann mit dem rest in der config nix anfangen. Und nach dem letzten "homebridge-plugin" Eintrag bitte kein Komma.
ich habe jetzt mal folgendes gemacht...
,
"plugins": [
"homebridge-config-ui-x"
],
"accessories": [],
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"auth": "form",
"theme": "blue-grey",
"restart": "sudo systemctl restart homebridge",
"temp": "/sys/class/thermal/thermal_zone5/temp",
"tempUnits": "c",
"sudo": true,
"log": {
"method": "systemd",
"command": "sudo journalctl -fau homebridge"
}
},
{
"platform": "Fritz!Box",
"name": "My FritzBox",
"username": "yyyyyyy",
"password": "xxxxxxxx",
"url": "https://x.x.x.x",
"interval": 60,
"hide": [
"wifi",
"<ain>"
],
"concurrent": true,
"options": {
"strictSSL": false
}
},
{
"platform": "MaxCubePlatform",
"name": "MaxCube Platform",
"ip": "192.168.2.222",
"port": 62910,
"allow_wall_thermostat": false,
"default_temp": 15,
"off_temp": 5
},
und mehr.......
und bekomme folgenden Fehler:
Jun 08 08:40:25 386pi systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE
Jun 08 08:40:25 386pi systemd[1]: homebridge.service: Unit entered failed state.
Jun 08 08:40:25 386pi systemd[1]: homebridge.service: Failed with result 'exit-code'.
Jun 08 08:40:35 386pi systemd[1]: homebridge.service: Service hold-off time over, scheduling restart.
Jun 08 08:40:35 386pi systemd[1]: Stopped Node.js HomeKit Server.
Jun 08 08:40:35 386pi systemd[1]: Started Node.js HomeKit Server.
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] Loaded config.json with 0 accessories and 5 platforms.
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] ---
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] Loaded plugin: homebridge-config-ui-x
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] Registering platform 'homebridge-config-ui-x.config'
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] ---
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] Loading 5 platforms...
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] [Config] Initializing config platform...
Jun 08 08:40:37 386pi homebridge[26981]: [2018-6-8 08:40:37] [Config] Spawning homebridge-config-ui-x with PID 27001
Jun 08 08:40:37 386pi systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE
Jun 08 08:40:37 386pi systemd[1]: homebridge.service: Unit entered failed state.
Jun 08 08:40:37 386pi systemd[1]: homebridge.service: Failed with result 'exit-code'.
Wenn du keine mehrere Instanzen nutzt brauchst du den Pluginzusatz in der Config überhaupt nicht.
So würde das bei einer eigenen Instanz aussehen für nur das Plugin AutomationCalendar
"plugins": [
"homebridge-automation-calendar"
],
"accessories": [
{
"accessory": "AutomationCalendar",
"name": "Zeitensensor Zu Hause",
"latitude": ,
"longitude":
}
],
"platforms": [
]
}
Kombiniert mit der Config -ui -x würde es so aussehen:"plugins": [
"homebridge-config-ui-x",
"homebridge-automation-calendar"
],
"accessories": [
{
"accessory": "AutomationCalendar",
"name": "Zeitensensor Zu Hause",
"latitude": ,
"longitude":
}
],
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"auth": "form",
"theme": "blue-grey",
"restart": "sudo systemctl restart homebridge",
"temp": "/sys/class/thermal/thermal_zone5/temp",
"tempUnits": "c",
"sudo": true,
"log": {
"method": "systemd",
"command": "sudo journalctl -fau homebridge"
}
]
}
Wenn du nur eine Instanz Homebridge hast wo alle Plugins in der Config sind, dann lass wie oben schon gesagt alles so wie es war.Ok, danke.
Dachte ich könnet das zum Testen von einzelnen Plugins nehmen.
Ala, Config ist follständig, aber nur das eine wird geladen.