Beiträge von Nastra

    Ach wenn euch die Idee gefällt und ihr möchtet das es in die Offizielle Version einfließt wäre schön wenn ihr bei GitHub ein Kommentar beim Isst hinterlassen könnt. Ich denke das erhöht die Wahrscheinlichkeit wenn der Bedarf da ist das es dann berücksichtigt wird wenn wir es hinbekommen.


    https://github.com/nfarina/homebridge/issues/1864



    @m4d-maNu Der Arbeitsspeicher alleine ist nicht nur das Ausschlaggebende alleine die Geschwindigkeit zum starten einer Instanz ist dadurch je nachdem wieviele Plugins du nutz um bestimmt 90% geringer, dadurch ist auch ein Reboot bis alles wieder am Start ist erheblich schneller ;)

    Das Plugin ist soweit ich weiß nicht Multi Instanzen fähig und Installieren bzw. Updaten wird es zu 100% global würde ich behaupten.


    Ansonsten keine Ahnung, nutze das Plugin nicht genauso wenig wie die App, bin da etwas Oldschool und verwende lieber mein Terminal da weiß ich wenigstens meistens was ich mache ^^


    Einfach mal ausprobieren.

    theo69


    Habe den ganze Spass jetzt mal durchgetestet mit meinen 24 Instanzen und die Idee ist echt nicht verkehrt, ich habe eine Arbeitsspeicher Verbrauch von 2,5 GB wenn die Plugins global installiert sind und alle Instanzen gestartet sind. Nachdem ich die Plugins lokal installiert habe und alle Instanzen gestartet habe war der Arbeitsspeicher Verbrauch nur noch bei 700 MB. Bedeutet man könnte mit dieser Methode sogar mehr als 10 Instanzen auf einem Pi 3 starten.


    Was mich etwas stört an der ganzen Sache ist das die Plugins lokal gespeichert werden müssen, hierbei sind wieder einige Sachen zu beachten die es für denn unbedarften User etwas schwieriger macht was die Rechte, Installation und Updates der Plugins angeht. Außerdem müssen alle Plugins reinstalliert werden.


    Zusätzlich habe ich ausprobiert über die -P Option die Plugins aus dem Globalen Verzeichnis zu starten das nur dass zugehörige Plugin zur Instanz gestartet wird. Leider ohne Erfolg, hier werden trotz Angabe des Pfades alle Plugins geladen.



    Da ich von der Sache aber überzeugt bin auf Grund der Ressourcen Einsparung und der besseren system Performance, könnte ich mir vorstellen das es ggf. durch eine spezielle Option in der homebridge config auch möglich wäre die global Installierten Plugins isoliert zu starten.


    Daher habe ich mal einen Issue erstellt und deinen vorhandenen Issue verknüpft. Wollen wir mal schauen was draus wird ;)


    Ps:

    Zitat

    setze gerade meine Homebridge neu auf und will dann mehrer Instanzen nutzen, sobald ich soweit bin teste ich es ;)


    Da ich von dir keine Testergebnisse bekommen habe, hoffe ich mal das du nicht immer noch am Installieren bist ^^^^^^:?:

    Zitat

    hab ich noch nicht getestet, da alle plugins derzeit aktuell sind...

    Also hast du es noch nicht lange so im Einsatz. Ich vermute mal das es so sein wird, das du keine Updates machst sondern neu Installierst immer wieder nach node_modules gemäß der Beschreibung oben. Schade das du es noch nicht getestet hast.


    Was passiert denn wenn das Plugin erneut Installierst wird? Normalerweise werden die Plugin Dateien unter node_modules überschrieben so könntest du feststellen ob der Plugin Ordner neu angelegt wird oder wirklich der neue Pfad genutzt wird.

    Alles klar, also neuer Pfad dann /var/homebridge-yeelight/plugin ?


    Edit:

    Jetzt weiß ich auch wie du auf die Idee gekommen bist ;)



    Schon länger nicht mehr gelesen die Dokumentation von Homebridge:rolleyes:


    Wie sieht es denn aus wenn du nach dem Verschieben ein Update machst über npm bzw. werden diese auch an dem neuen Pfad installiert oder musst du diese immer manuell verschieben?

    Zitat

    Okay, du hast eine Instanz, diese liegt z.b. im Ordner .homebridge-yeelightnun fügst du dort einen Unterordner ein nennen wir ihn pluginsjetzt hast du den Pfad .homebridge-aqara/pluginsdort hinein kopierst du nun das yeelight plugin und löscht es aus dem /usr/lib/node_modules raus.

    Glaube das habe ich verstanden ;).


    Neuer Pfad von den Dateien die vorher unter

    /usr/lib/node_modules/homebridge-yeelight


    lagen ist dann


    /usr/lib/node_modules/homebridge-yeelight/plugin richtig?


    Zitat

    Um die Instanz zu starten würdest du ja jetzt in systemctl jahomebridge -U ~/.homebridge-yeelightnutzen nun nutzt du homebridge -U ~/.homebridge-yilight -P ~/.homebridge-yeelight/plugins.

    Zitat

    ich verschiebe das Plugin in den Unterordner Plugin in der entsprechenden Homebridge Instanz und hänge zum starten eben den Zusatz hinten dran

    Sorry ich kann dir bei diesen kurzen knappen aussagen leider nicht folgen wo du was jetzt genau machst. Wenn du von einer Instanz sprichst ist es für mich der Service mit allen Sachen die dazu gehören (Unit, Options etc. und nicht das Plugin was im Ordner node_modules liegt.


    Würde mich freuen wenn du es mal Step by Step mit pfaden erklären würdest ggf. mal eine Beispiel Unit und der Option Datei von dir zeigst.

    Zitat

    dort eben in den Unterordner und es entsprechend startest, dann funktionieren auch die anderen Instanzen ;)

    Wir sprechen vom Ordner /usr/lib/node_modules bzw. /usr/local/lib/node_modules und homebridge Instanz als systemd service eingerichtet wie hier erklärt: Homebridge Instanzen anlegen?


    Du erstellst wo genau diesen Unterordner und schiebst oder installierst dort dann das Plugin?


    Wie sieht deine ExecStart in der Unit dann genau aus?

    Und wo ist dann der Vorteil beim yeelight Plugin? Ich frag deshalb da ich auch sämtliche yeelight Plugins ausprobiert habe aber keines von diesen ist in der Lage mit mehreren Instanzen zu arbeiten. Heißt sobald du die yeelight Instanz startest stoppen alle anderen mit einem Fehler.


    Hat das mit dem Autostart jetzt funktioniert?

    Zitat

    Habe allerdings auch ein Premiumgerät (in D gebaut).

    Vielleicht hat ja mal ein Profi Bock ein PlugIn für HB zu schreiben ?

    Der Profi sollte aber auch so eine Gerät haben, da wird die Luft wieder dünner, außerdem muss es ein offene API für das Gerät geben ;)

    Wenn es eine eigene systemd Instanz ist musst du denn Service Aktivieren dann startet er automatisch.


    sudo systemctl enable homebridge-xxxx

    danach

    sudo systemctl start homebridge-xxxx


    Zitat

    So werden die nicht von allen Instanzen geladen. Wichtig wenn es ein PluGin mit Problemen gibt wie das yeelight plugin oder um Plugins zu testen.

    Erklär das mal bitte genauer wie du da vorgehst. Danke.

    Zitat

    Netzwerkeinstellungen auf dem iPhone löschen ggf. hilft das weiter da es scheinbar ein lokales Wifi / iPhone Problem ist.

    Ich zitier mich ja ungerne selber, aber einmal versuche ich es noch in der Hoffnung nicht wieder übersehen zu werden. Hast du das mal probiert?