NEWS
Homebride Npm-Module manuel bearbeitbar?
-
Ich habe eine generelle Frage zum Homebridge Adapter:
Ich nutze ihn um meine Blauberg Ventlialtoren mit dem homebridge-blauberg-vento Modul zu steuern was auch gut funktioniert, leider ist es in der Version 0.8 noch nicht möglich die Lüftungsrichtung zu steuern. Ein anderer hat nun auf Git einen Commit gemacht, der genau das kann. Leider scheint es so als wäre der Entwickler des Moduls nicht sehr aktiv zur Zeit und gibt den Commit nicht frei.
Gibt es eine Möglichkeit, die geänderten Dateien die man ja auf Git bekommt irgendwie anders einzuspielen?
-
du kannst auf github das repository des entwicklers "forken". Also Knopf "Fork" oben rechts.
Dann wird das komplette Repository in dein Account kopiert.
Dort kannst du nun alles verändern, wie du willst. Ich glaube auch die Pull Requests annehmen und testen
Du kannst dann diesen Adapter im iobroker im Expertenmodus von github laden (also von deinem Account)
Wenn das dann läuft müsste man dann man abstimmen, wie man das weiter verfolgt.
A) du machst mit den Änderungen ein Pull Request und man hofft, das der Original Author den animmt
B) du änderst den Namen des Adapters und reichst ihn neu ein, so das er im beta und stable-Repository aufgenommen wird. Du bist dann der Maintainer
C) Ich glaube das ist auch möglich, aber nur selten gemacht, da es natürlich ein radikaler Schritt gegenüber dem original author ist. Bluefox ist bei jeden Adapter bei NPM (dort lädt der iobroker die ganzen Adapter) ebenfalls als maintainer eingetragen und könnte sozusgen dann dir die Rolle ebenfalls zuordnen und der original author wird entfernt. Auch hier wirst du dann maintainerDu solltest dir überlegen welchen Weg du verfolgen möchtest (bei B+C wirst du oder jemand anders den man dann suchen muss, maintainer)
Die schnelle Lösung, die aber eigentlich nur für dich gut ist ist A -
@oliverio
Guten Morgen,
die Änderung betrifft aber in dem Fall nicht den Adapter als solches, sondern das NPM - Modul.
Da würde doch der Fork des Git's nichts bringen.
Ich kann mich erinnern, dass ich vor vielen Jahren einen Adapter in Verwendung hatte, der eine Zeitlang einen Bug hatte die Lösung aber auf Git im Issue schon stand, da hatte ich das damals einfach bei mir Lokal geändert bis das Update kam.Nur finde ich eben den Ort nicht wo die Module des Ham-Adapters abgelegt sind, um genau das zu versuchen.
Leider wird auch der alternative Blauberg-Adapter anscheinend nicht mehr gepflegt sonst hätte ich einfach den weiter genommen. -
@peoples Poste mal bitte den Link zum PR
-
@peoples
ja, schick mal den Link.
Dann könnte man das andere Paket Forken
Und im Adapter die Dependency dorthin anpassen.
Auch kannst du mal schauen, ob für dieses Paket nicht schon jemand einen fork gemacht hat. Das kann man in github, unter insights/network sehen.
Wenn es da schon etwas gibt, dann muss man im Adapter einfach nur die Dependency dorthin anpassen, wenn es auch ein dazugehöriges NPM Paket gibt -
https://github.com/PaulMT/homebridge-blauberg-vento/pulls
Es gibt einen Fork, aber der hat das dann gleich für ein anderes Lüftermodel angepasst, mit dem sich wieder die Blauberg nicht komplett steuern lassen
-
prüfe mal ob die änderung hier mit drin ist
https://github.com/mbjedk/homebridge-duka-smartfandas ist ein fork von PaulMT wo kein Pullrequest mehr vorliegt und 15 commits weiter ist, wie der original.
Auch zeigt das paket bei npm auf dieses repository
https://www.npmjs.com/package/homebridge-duka-smartfanich verstehe nur noch nicht was das mit dem adapter zu tun hat
https://github.com/ioBroker/ioBroker.ham/blob/master/package.json
in diesem wird weder das alte noch das neue paket verwendet.
oder geht es um einen "anderen" homebridge adapter? -
@oliverio sagte in Homebride Npm-Module manuel bearbeitbar?:
prüfe mal ob die änderung hier mit drin ist
https://github.com/mbjedk/homebridge-duka-smartfanDas ist der Fork der mit einem anderen Model "duka-smartfan" funktioniert
das ist ein fork von PaulMT wo kein Pullrequest mehr vorliegt und 15 commits weiter ist, wie der original.
Auch zeigt das paket bei npm auf dieses repository
https://www.npmjs.com/package/homebridge-duka-smartfanHatte ich gesehen habe ich schon ausprobiert
ich verstehe nur noch nicht was das mit dem adapter zu tun hat
https://github.com/ioBroker/ioBroker.ham/blob/master/package.json
in diesem wird weder das alte noch das neue paket verwendet.
oder geht es um einen "anderen" homebridge adapter?Das sind npm - Module die man in dem Ham Adapter laden kann um Geräte zu steuern, das hat mit dem Adapter Ham an und für sich nichts zu tun.
Deswegen meinte ich ja wo die Module abgelegt werden um diese lokal zu bearbeiten. -
gespeichert werden die pakete immer ausgehend von dem verzeichnis wo man den npm install befehl ausführt im unterverzeichnis node_modules/
aber dort drin zu bearbeiten ist etwas was ich überhaupt nicht rate.
beim nächsten install befehl auf der übergeordneten ebene sind die änderungen wieder weg.
daher der weg den ich oben beschrieben habe.
allerdings nicht auf dem adapter (den betrifft es ja nur indirekt),
sonmdern nur auf dem homebridge plugin.ich verstehe nur nicht, wo das problem jetzt ist.
du hast mir ein repo genannt.
dafür gibt es einen fork, wo scheinbar der PR eingeflossen ist und zu dem es auch ein nmpm paket gibt. du hast dieses alternativpaket auch schon ausprobiert.
was passt jetzt noch nicht? die Änderung aus dem PR funktioniert doch nicht? -
@oliverio sagte in Homebride Npm-Module manuel bearbeitbar?:
ich verstehe nur nicht, wo das problem jetzt ist.
du hast mir ein repo genannt.
dafür gibt es einen fork, wo scheinbar der PR eingeflossen ist und zu dem es auch ein nmpm paket gibt. du hast dieses alternativpaket auch schon ausprobiert.
was passt jetzt noch nicht? die Änderung aus dem PR funktioniert doch nicht?ich trage doch im ham adapter das Plugin ein das ich brauche, und der Adapter installiert es dann von npm.
Mein Problem ist, dass ich nicht weiß wie ich das von Git da rein bekomme -
ich kenne den ham adapter nicht.
daher kenne ich das vorgehen nicht.
normalerweise wird alles anhand des paket-namens von npm installiert.
wie oben geschrieben ist das paket, welches geforkt wurde und dem original repo weiter ist (15 commits), ohne zu wissen ob die betreffende änderung da wirklich enthalten ist
https://github.com/mbjedk/homebridge-duka-smartfanauch auf npm vorhanden
https://www.npmjs.com/package/homebridge-duka-smartfanvon daher müsste es unter diesem namen auch eingetragen werden können
homebridge-duka-smartfanansonsten frag mal den adapter owner, wie das genau vonstatten geht.
-
Kannst du da ev. ein wenig Klarheit reinbringen wie man ein "eigenes" / odifiziertes Modul in den Homebridge Adapter einbinden kann?
-
Am Ende entweder lokal editieren, oder (nicht versucht) die github URL von einem eigenen fork/Branch angeben als Paketname oder halt ein eigenes Paket publizieren
-
@apollon77
magst du mir noch sagen wo im iob-Verzeichnis ich die finde, dann würde ich es lokal versuchen -
@peoples sollte in /opt/iobroker/node_modules/iobroker.ham/node_modules sein wenn der lokale Modus genutzt wird. Beim Wrapper Modus ggf woanders