NEWS
Test Adapter rpi2 2.x
-
@mcm1957
die dependency ist optional, aber zwingend erforderlich für die GPIO Funktionalität. (wenn man das nicht nutzt, brauch man es auch nicht und der Adapter funktioniert tatsächlich ohne und beschwert sich ohne und wenn man GPIOs konfiguriert hat entsprechend)Das Problem ist, dass man vor dem update die Systembibliothek installieren muss (also mal
sudo apt install libgpiod-dev
ausführen). Sonst muss man den adapter neu installieren, damit die optionale dependency nochmal versucht wird zu installieren... was anderes hab ich bisher nicht finden können.Bisher (<2.0.0) brauchte man die Bibliothek nicht.
-
@garfonso Ich erinnere mich dunkel, dass z.B. der ZWave Adapter auch ziemlich umfangreiche Voraussetzungen hatte, die dann bei Installation des Adapter automatisch mit installiert wurden. (Oder die Installation brach mit Fehler ab, falls Voraussetzung nicht vorhanden, bin mir da nicht mehr ganz sicher) Eventuell kann man sich da etwas abschauen?
-
@janga
Es ist ja keine zwingende Voraussetzung für den Adapter. Das ist ja gerade das "Problem". Du könntest den RPI2 Adapter ja auch nutzen, um nur die Werte des Raspberry Pi zu monitoren. Dann brauchst du die gpio Bibliothek nicht.Das wäre die andere Möglichkeit, den GPIO Teil aus dem Adapter rauswerfen und dafür einen dedizierten neuen Adapter machen, der dann nur das macht. Der könnte die Bibliothek dann zwingend voraussetzen.
Wobei ich dann vorschlagen, würde den rpi2 Adapter grundsätzlich zu beerdigen und das andere als Linux-Status oder so etwas weiterzuführen, weil das dann doch relativ brauchbar überall nutzbar sein sollte. Wobei es da auch schon so etwas gibt, oder? (Moma, wenn ich mich recht entsinne).
-
Wobei mir moma jetzt auch nicht so 'topaktuell gehalten' erscheint:
moma github: 1.2.9 latest: 1.2.9 for 37 months stable: 1.2.9 for 37 months
Da würde ich vermutlich eher nicht drauf wetten.
-
@garfonso Der Adapter ist für Raspberry Pi Systeme. Jeder RPi verfügt über GPIO. Die zusätzliche Voraussetzung ist alles andere als ein Schwergewicht. Vom Bauchgefühl hätte ich gesagt, du machst dir da zu viele Gedanken. Pack das als feste Voraussetzung rein und das Problem ist erledigt. Der Nachteil GPIO nicht zu nutzen und eine Abhängigkeit zu viel auf dem System zu haben, wiegt lange nicht so schwer wie der Aufwand, das ganze jetzt in zwei neue Adapter zu überführen. Nur meine Meinung dazu...
-
Naja, so 'Eierlegendewollmilchsau'-Adapter sind halt schwerer zu maintainen.
Einen Split in 'Auslesen von Systemwerten' (ggfls. dann über den moma-Adapter) und 'Steuerung von GPIOs' fänd ich gar nicht so schlecht. -
@garfonso said in Test Adapter rpi2 2.x:
Es ist ja keine zwingende Voraussetzung für den Adapter. Das ist ja gerade das "Problem". Du könntest den RPI2 Adapter ja auch nutzen, um nur die Werte des Raspberry Pi zu monitoren. Dann brauchst du die gpio Bibliothek nicht.
Also ich seh kein Problem wenn der Adapter die Bibliothek zwingend erfordert. Eben da er ja nur auf dem Pi verwendbar ist. Was anderes wäre es wenn er auf allen Linuxsystem laufen soll. Oder gar auch auf anderen OS. Aus dem Bauch geschätzt glaub ich auch dass der Großteil der User den Adapter nur wegen der GPIOs installiert.
Alternativ könnte / sollte der Adapter ohne die GPIO Funktionalität die entsprechenden States gar nicht anlegen. Dann würde das "funktioniert bei mir nicht" viel weniger oft auftreten.
Und wenn es wirklich zu Beschwerden kommt dass eine Abhängigkeit zu viel drinnen ist, dann und nur dann kann man über einen abgespeckten Monitoradapter nachdenken.
-
@thomas-braun kommt drauf an, wie man das betrachtet. Das ist ja ein Adapter für RPi Hardware und nicht für ein beliebiges Linux System. Ich betreibe das z.B. mit einem Zero 2 W als IOBroker Slave und da ist nur der eine Adapter installiert. Da ist das halt eine schöne Rumdumglücklichlösung.
-
@janga sagte in Test Adapter rpi2 2.x:
kommt drauf an, wie man das betrachtet.
Das sowas schwerer zu maitainen ist kann man nicht anders betrachten.
Bei dem Adapter haben wir uns das z. B. geteilt. @garfonso hat sich um gpio gekümmert, von mir sind die Änderungen bezüglich der Systemwerte dazu gekommen.Einen gesplitteten Systemwerte-Adapter hätte man z. B. schon mal releasen können.
-
@thomas-braun gut, das richtet ja auf der anderen Seite auch keinen Schaden an. Was das für ein Aufwand ist, wisst ihr besser. So oder so würde ich das machen, was an der Stelle für euch weniger Ärger und Aufwand bedeutet. Egal was es wird, ich biete mich gerne als Tester an!
-
@garfonso
Also ich wär da pragmatisch:Die optionale dependency als normale dependency eintragen.
Da npm - wenn ich es richtig lese - auch ein Script triggern kann wenn das Package installiert wird, sollte es möglich sein, bei der Adapterinstallation das sudo apt ... automatisiert abzusetzen:
https://docs.npmjs.com/cli/v10/using-npm/scripts#life-cycle-operation-orderTest wär da ja eher minimal invasiv - einfach ins package,json eintragen und testen.
Solange niemand sagt dass das stört bzw. mit unverhältnismäßigen Risiken verbunden ist, würd ich das Paket einfach installieren. Und basta. Zuviel Freiheit stört m.E: auch oft.
-
@thomas-braun said in Test Adapter rpi2 2.x:
Einen gesplitteten Systemwerte-Adapter hätte man z. B. schon mal releasen können.
Sorry - aber die Aussage provoziert folgendes:
Dann tu das...Jeder Adapter hat einen Basisaufwand - sowohl bei der Wartung als auch zur Laufzeit. Die Diskussion über ein Splitting ist m.E. derzeit nicht wirklich angebracht, da es soweit ich es sehe primär drum geht ob die notwendige Bibliothek optional installiert werden soll oder verpflichtend. Meine Meinung (einfach immer installieren) hab ich schon kund getan. Aber es steht dir frei einen eigenen / getrennten Adapter zu erstellen. Garfonso sollten wir aber jetzt nicht mit einer Diskussion splitten / zusammenführen / optional was tun / oder nicht belasten. Er hat genug Arbekit und DANKE dass er sich sises Adapters überhaupt annimmt. Da der Adapter via LATEST verfügbar ist wird m.E. auch kein User blockiert.
-
-
@garfonso said in Test Adapter rpi2 2.x:
@searcher57
Kannst du mir mal deine GPIO Konfiguration zukommen lassen?
Am besten das komplette Objektsystem.adapter.rpi2.0
als JSON.Kannst du mir bitte sagen, wie ich das mache?
-
@mcm1957 said in Test Adapter rpi2 2.x:
Also ich seh kein Problem wenn der Adapter die Bibliothek zwingend erfordert. Eben da er ja nur auf dem Pi verwendbar ist. Was anderes wäre es wenn er auf allen Linuxsystem laufen soll. Oder gar auch auf anderen OS. Aus dem Bauch geschätzt glaub ich auch dass der Großteil der User den Adapter nur wegen der GPIOs installiert.
Genau so ist es bei mir!
-
@searcher57 Guck mal im Object Browser in IOBroker, da gibt es einen Ordner System und so weiter. Ich denke, du musst den Expertenmodus aktivieren.
-
- Object-View im Admin aufrufen
- Experten Ansicht aktivieren (Knopf mit dem Kopf oben in der Mitte)
system.adapter.rpi2.0
in die ID-Suche einfügen (oder selber suchen, system taucht nur in Expertenansicht auf)- (da ich nur das eine Objekt brauche) auf den Edit-Stift vom Objekt ganz rechts klicken, im Editfeld CTRL+A drücken, CTRL+C drücken, dann sollte das ganze JSON kopiert sein.
- Das JSON in einer Datei speichern (z.B. mit Notepad) und entweder hier anhängen oder mir per mail schicken ( garfonso@mobo.info oder so)
-
@mcm1957
Es gibt in der io-package.json osDependencies, damit "sollte" der js-controller das Paket für mich mit installieren. Zumindest auf Systemen, wo er das kann.Witzigerweise hatte ich da die Bibliothek eh schon eingetragen. hust
Hab jetzt die NPM-Abhängigkeit daher auch, wie vorgeschlagen, von optional auf zwingend umgestellt und noch einmal die Fehlermeldungen klarer gemacht bzw. verhindert, dass er mit gpios weiter hampelt, wenn er den Chip nicht starten konnte (da war noch ein Fehler).Mal sehen, was die 2.0.1 so macht.
Dabei habe ich auch festgestellt, dass ein "upgrade" auf die bereits installierte Version den adapter per npm neuinstalliert (egal ob in admin oder mit iob upgrade). Was man alles lernt.
-
@garfonso said in Test Adapter rpi2 2.x:
Dabei habe ich auch festgestellt, dass ein "upgrade" auf die bereits installierte Version den adapter per npm neuinstalliert (egal ob in admin oder mit iob upgrade). Was man alles lernt.
Die Reinstallation wurde mit js-controller 6 adaptiert. Da npm da viel optimiert war bisher die Reinstallation mehr eine nop Operation. Mit js-controller 6 deinstalliert ioBroker auf npm Ebene den Adapter und installiert ihn neu. Dadurch ist sichergestellt dass der Adapter und alle seine Dependencies wirklich dem entsprechen was im Paket ist (- früher wurden bei einer Reinstallation geänderte Dateien des Adapter snicht auf den Stand des npm Pakates gebracht -) aber OHNE dass Einstellungen, Custom Attribute etc. verloren gehen.
-
@garfonso hast du eventuell Lust und Gelegenheit, dir nochmal die Änderung bezüglich RPi Zero anzusehen, die ich als Pullrequest eingereicht hatte? Ich hatte das nach deiner Anmerkung nochmal überarbeitet. Bei mir ist das jetzt seit einigen Tagen so im Einsatz und läuft stabil. Wenn du das mergen könntest, kann ich meinen Fork einstampfen und wieder User sein.