CCU Addons - warum Node.js mitliefern obwohl es schon da ist?

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
Fonzo
Beiträge: 1316
Registriert: 22.05.2012, 08:40

CCU Addons - warum Node.js mitliefern obwohl es schon da ist?

Beitrag von Fonzo » 14.10.2018, 09:16

jmaus hat geschrieben:
11.10.2018, 09:16
In der Tat sollte das jetzt mit NodeJS auf CCU3 und RaspberryMatic kein Problem mehr sein. Es sollte also ein leichtes sein ein entsprechendes CCU Addon zu schreiben.
Wird langsam OT, weil dies hat ja nicht mehr direkt was mit der ursprünglichen Fragestellung zu tun. Wenn das also nicht passt bitte in seperaten Thread verschieben.

Ich hätte eine Frage zur Funktionsweise von CCU3 Add Ons, da ich mich damit nie beschäftigt habe und mich selber nicht auskenne. Wie werden gemeinsame Quellen wie NodeJS auf einer CCU3 abgelegt? Wenn zwei Add Ons NodeJS nutzen wie z.B. RedMatic und der NEO Server, der ja schon auf der CCU3 vorinstalliert ist, nutzen diese dann gemeinsam NodeJS oder wird das dann irgendwie zwei mal auf einer CCU bzw. RaspberryMatic installiert?

hobbyquaker
Beiträge: 2574
Registriert: 12.07.2009, 20:01
Kontaktdaten:

Re: Welche iOS App für CCU3

Beitrag von hobbyquaker » 14.10.2018, 12:48

Fonzo hat geschrieben:
14.10.2018, 09:16
Wenn zwei Add Ons NodeJS nutzen wie z.B. RedMatic und der NEO Server, der ja schon auf der CCU3 vorinstalliert ist, nutzen diese dann gemeinsam NodeJS oder wird das dann irgendwie zwei mal auf einer CCU bzw. RaspberryMatic installiert?
Das bei CCU3/RaspberryMatic mitgelieferte Nodejs (das dann afaik auch von Neo genutzt wird), liegt Linux-üblich in /usr/bin/ und /usr/lib/node_modules
Das Nodejs das RedMatic mitbringt liegt in /usr/local/addons/redmatic/bin und /usr/local/addons/redmatic/lib/node_modules

Fonzo
Beiträge: 1316
Registriert: 22.05.2012, 08:40

Re: Welche iOS App für CCU3

Beitrag von Fonzo » 14.10.2018, 13:28

hobbyquaker hat geschrieben:
14.10.2018, 12:48
liegt Linux-üblich in /usr/bin/ und /usr/lib/node_modules
Gibt es denn eine Möglichkeit für ein Add On das einfach mit zu nutzen? Oder macht das kein Sinn da man ja eventuell unterschiedliche Versionen nutzt? Auf alle Fälle entsteht ja so auch ziemlich Overhead wenn jedes Add On Dependencies immer eigenständig mitführt und im Add On Ordner ablegt.

hobbyquaker
Beiträge: 2574
Registriert: 12.07.2009, 20:01
Kontaktdaten:

Re: Welche iOS App für CCU3

Beitrag von hobbyquaker » 14.10.2018, 14:01

Mja, eine gewisse Platzverschwendung ist das natürlich, sind circa 56MB für Node.js (30MB) und npm (26MB).

Warum ich das so mache: "kurz gesagt" - damit es funktioniert ;-)

Ausführlich:
* Nodejs/npm hat - im Gegensatz zur eQ-3 CCU Firmware - ziemlich kurze Release Zyklen. Das Node.js das eQ-3 liefert war schon beim Release veraltet.
* eQ-3 liefert kein git mit, d.h. das "eq3-npm" kann keine Dependencies installieren die via git eingebunden werden, das wird bei RedMatic jedoch benötigt.
* Dependencies die Binärmodule mitliefern sind auf eine bestimmte Nodejs ABI angewiesen. Wenn eQ-3 irgendwann mal ihr Node aktualisiert auf eine Version die eine andere ABI-Version hat als die Module von RedMatic erwarten würde RedMatic nicht mehr funktionieren, das vermeide ich dadurch dass ich "mein eigenes" Node mitliefere
* Falls ich mal aus irgendwelchen Gründen von Node8 auf Node10 umsteigen will/muss will ich nicht warten müssen bis eQ-3 das tut ;)

Ich denke die Vorteile wiegen hier den Nachteil von 56MB Platzverschwendung auf, bei einer 8GB SD ist das ja nicht mal 1% ;-)

Ah - und noch ein weiterer Aspekt: als ich RedMatic angefangen hab gab es noch gar kein Node.js in der eQ-3 Firmware und RaspberryMatic, da hatte ich garkeine Wahl.

Fonzo
Beiträge: 1316
Registriert: 22.05.2012, 08:40

Re: CCU Addons - warum Node.js mitliefern obwohl es schon da ist?

Beitrag von Fonzo » 14.10.2018, 14:14

Dank Dir für die Infomation, das macht das Ganze für mich klarer warum zwei NodeJS mitgeführt werden.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“