NEWS
Test Adapter rpi2 2.x
-
Hi,
sorry, dass ich mich nicht gemeldet hab. Hatte ne Zeit lang keine Energie für Forum.
Wenn ihr ganz sicher sein wollt, dass mit der Bibliothek alles stimmt, dann führt mal im Ordner
/opt/iobroker
das Kommanto aus:npm list opengpio
Das Ergebnise sollte dann sowas sein:iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.0.0 └── opengpio@1.0.14
Falls es zu opengpio keine Treffer gibt (sieht dann so aus):
iobroker.inst@1.3.1 /opt/iobroker └── (empty)
dann fehlt die Bibliothek für die GPIOs.
Ich hab gerade mal auf meinem Test-PI rumgefummelt. Wenn der Adapter installiert ist, aber die Bibliothek noch nicht installiert war, daher die optionale dependency nicht installiert ist, ist das tatsächlich etwas fummelig... der rebuild Befehl funktioniert dann nicht.
Stell mal sicher, dass die Bibliothek da ist, z.B. mit:
sudo apt install --reinstall libgpiod-dev
danach den rpi2 Adapter neuinstallieren, dazu hab ich den Befehliob upgrade rpi2@2.0.0
genommen. Da hat mich iobroker dann gefragt, ob ich den adapter neu installieren will, worauf ich mit Ja geantwortet hab. Da muss dann die Instanz nicht gelöscht werden, soweit ich das sehe. Man muss aber ggf. die Version anpassen, wenn man das später nochmal braucht.Danach zeigt dann npm list das opengpio modul korrekt an. Ich fürchte das ist, wo es bei den meisten immer noch hängt.
@mcm1957 wie gehen wir damit am besten um? Am besten eine Info, wenn man auf 2.0.0 umstellt, oder? Hm. -
@garfonso said in Test Adapter rpi2 2.x:
Hi,
sorry, dass ich mich nicht gemeldet hab. Hatte ne Zeit lang keine Energie für Forum.
Wenn ihr ganz sicher sein wollt, dass mit der Bibliothek alles stimmt, dann führt mal im Ordner
/opt/iobroker
das Kommanto aus:npm list opengpio
Das Ergebnise sollte dann sowas sein:iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.0.0 └── opengpio@1.0.14
Falls es zu opengpio keine Treffer gibt (sieht dann so aus):
iobroker.inst@1.3.1 /opt/iobroker └── (empty)
dann fehlt die Bibliothek für die GPIOs.
Ich hab gerade mal auf meinem Test-PI rumgefummelt. Wenn der Adapter installiert ist, aber die Bibliothek noch nicht installiert war, daher die optionale dependency nicht installiert ist, ist das tatsächlich etwas fummelig... der rebuild Befehl funktioniert dann nicht.
Stell mal sicher, dass die Bibliothek da ist, z.B. mit:
sudo apt install --reinstall libgpiod-dev
danach den rpi2 Adapter neuinstallieren, dazu hab ich den Befehliob upgrade rpi2@2.0.0
genommen. Da hat mich iobroker dann gefragt, ob ich den adapter neu installieren will, worauf ich mit Ja geantwortet hab. Da muss dann die Instanz nicht gelöscht werden, soweit ich das sehe. Man muss aber ggf. die Version anpassen, wenn man das später nochmal braucht.Danach zeigt dann npm list das opengpio modul korrekt an. Ich fürchte das ist, wo es bei den meisten immer noch hängt.
@mcm1957 wie gehen wir damit am besten um? Am besten eine Info, wenn man auf 2.0.0 umstellt, oder? Hm.Hallo,
ich habe gerade den Befehl getestet.pi@Raspi58GB:/opt/iobroker $ npm list opengpio iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.0.0 └── opengpio@1.0.16 pi@Raspi58GB:/opt/iobroker $
Leider ohne Erfolg! Weiter oben sind weitere Infos zu meinem Problem.
-
@searcher57 said in Test Adapter rpi2 2.x:
@garfonso said in Test Adapter rpi2 2.x:
Hi,
sorry, dass ich mich nicht gemeldet hab. Hatte ne Zeit lang keine Energie für Forum.
Wenn ihr ganz sicher sein wollt, dass mit der Bibliothek alles stimmt, dann führt mal im Ordner
/opt/iobroker
das Kommanto aus:npm list opengpio
Das Ergebnise sollte dann sowas sein:iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.0.0 └── opengpio@1.0.14
Falls es zu opengpio keine Treffer gibt (sieht dann so aus):
iobroker.inst@1.3.1 /opt/iobroker └── (empty)
dann fehlt die Bibliothek für die GPIOs.
Ich hab gerade mal auf meinem Test-PI rumgefummelt. Wenn der Adapter installiert ist, aber die Bibliothek noch nicht installiert war, daher die optionale dependency nicht installiert ist, ist das tatsächlich etwas fummelig... der rebuild Befehl funktioniert dann nicht.
Stell mal sicher, dass die Bibliothek da ist, z.B. mit:
sudo apt install --reinstall libgpiod-dev
danach den rpi2 Adapter neuinstallieren, dazu hab ich den Befehliob upgrade rpi2@2.0.0
genommen. Da hat mich iobroker dann gefragt, ob ich den adapter neu installieren will, worauf ich mit Ja geantwortet hab. Da muss dann die Instanz nicht gelöscht werden, soweit ich das sehe. Man muss aber ggf. die Version anpassen, wenn man das später nochmal braucht.Danach zeigt dann npm list das opengpio modul korrekt an. Ich fürchte das ist, wo es bei den meisten immer noch hängt.
@mcm1957 wie gehen wir damit am besten um? Am besten eine Info, wenn man auf 2.0.0 umstellt, oder? Hm.Hallo,
ich habe gerade den Befehl getestet.pi@Raspi58GB:/opt/iobroker $ npm list opengpio iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.0.0 └── opengpio@1.0.16 pi@Raspi58GB:/opt/iobroker $
Leider ohne Erfolg! Weiter oben sind weitere Infos zu meinem Problem.
Hier nochmal ein aktuelles Log:
rpi2.0 2024-09-16 16:55:21.468 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch') rpi2.0 2024-09-16 16:55:20.795 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 6.0.11 rpi2.0 2024-09-16 16:55:16.595 info terminating rpi2.0 2024-09-16 16:55:16.096 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason rpi2.0 2024-09-16 16:55:16.096 info terminating rpi2.0 2024-09-16 16:55:16.094 info Got terminate signal TERMINATE_YOURSELF rpi2.0 2024-09-16 16:52:02.829 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch') rpi2.0 2024-09-16 16:52:02.182 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 6.0.11 rpi2.0 2024-09-16 16:51:57.916 info terminating rpi2.0 2024-09-16 16:51:57.416 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason rpi2.0 2024-09-16 16:51:57.415 info terminating rpi2.0 2024-09-16 16:51:57.414 info Got terminate signal TERMINATE_YOURSELF rpi2.0 2024-09-16 16:51:31.690 error Cannot setup port 17 as input: Error: EINVAL: invalid argument, write rpi2.0 2024-09-16 16:51:31.689 error Cannot setup port 23 as input: Error: EINVAL: invalid argument, write rpi2.0 2024-09-16 16:51:31.400 error Cannot evaluate: Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf/dev/mmcblk0p2 60841608 12947520 44784636 23% //1024 rpi2.0 2024-09-16 16:51:31.400 error Cannot evaluate: Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf/dev/mmcblk0p2 60841608 12947520 44784636 23% //1024 rpi2.0 2024-09-16 16:51:31.244 info starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 6.0.11 rpi2.0 2024-09-16 16:51:26.942 info terminating rpi2.0 2024-09-16 16:51:26.441 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason rpi2.0 2024-09-16 16:51:26.441 info terminating rpi2.0 2024-09-16 16:51:26.440 info Got terminate signal TERMINATE_YOURSELF
-
@searcher57 sagte in Test Adapter rpi2 2.x:
Version 1.3.2 in /opt/iobroker/node_modules/iobroker.rpi2
Da läuft noch die Version 1.3.2.
Was auch die Meldungen erklärt:2024-09-16 16:51:31.400 error Cannot evaluate: Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf/dev/mmcblk0p2 60841608 12947520 44784636 23% //1024
Die erscheinen nämlich in der 2.0.0 Beta nicht mehr.
-
@thomas-braun said in Test Adapter rpi2 2.x:
@searcher57 sagte in Test Adapter rpi2 2.x:
Version 1.3.2 in /opt/iobroker/node_modules/iobroker.rpi2
Da läuft noch die Version 1.3.2.
Was auch die Meldungen erklärt:2024-09-16 16:51:31.400 error Cannot evaluate: Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf/dev/mmcblk0p2 60841608 12947520 44784636 23% //1024
Die erscheinen nämlich in der 2.0.0 Beta nicht mehr.
Hallo,
danke für den Hinweis. Nach einem iob restart kommen diese Meldungen:rpi2.0 2024-09-16 17:17:34.634 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch') rpi2.0 2024-09-16 17:17:33.526 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 6.0.11
-
@searcher57 said in Test Adapter rpi2 2.x:
@thomas-braun said in Test Adapter rpi2 2.x:
@searcher57 sagte in Test Adapter rpi2 2.x:
Version 1.3.2 in /opt/iobroker/node_modules/iobroker.rpi2
Da läuft noch die Version 1.3.2.
Was auch die Meldungen erklärt:2024-09-16 16:51:31.400 error Cannot evaluate: Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf/dev/mmcblk0p2 60841608 12947520 44784636 23% //1024
Die erscheinen nämlich in der 2.0.0 Beta nicht mehr.
Hallo,
danke für den Hinweis. Nach einem iob restart kommen diese Meldungen:rpi2.0 2024-09-16 17:17:34.634 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch') rpi2.0 2024-09-16 17:17:33.526 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 6.0.11
Nach wie vor diese Ausgabe:
-
@garfonso said in Test Adapter rpi2 2.x:
@mcm1957 wie gehen wir damit am besten um? Am besten eine Info, wenn man auf 2.0.0 umstellt, oder? Hm.
Sorry fürs späte melden.
Leider ist mir nicht wirklich klar um was es da geht.Wenn opengpio ein optionaler npm Modul sein soll / muss, dann sollte es ja normal sein, dass der ggF nicht installiert ist. Der Adapter muss dann ja auch damit rechnen dass das Modul nicht installiert ist und kann - wenn das sinnvoll erscheint - eine entsprechende Warnung (oder Info) loggen. Und wenn der Adapter ohne opengpio nicht funktionier warum ist die dependency optional?
Prinzipiell könnte man natürlich auch bei der Installation des Adaperts auch sudo apt ... ausführen... Wobei dann das Problem zu managen wäre, dass das ev. nicht auf allen O/S so geht.
Eine zu bestätigende Meldung dass xyz zu installieren ist wäre natürlich auch möglich
-
@searcher57
Kannst du mir mal deine GPIO Konfiguration zukommen lassen?
Am besten das komplette Objektsystem.adapter.rpi2.0
als JSON. -
@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.