NEWS
Test Adapter rpi2 2.x
-
@laser kannst du mal folgendes testen:
/opt/iobroker/iobroker rebuild rpi2 --install
Funktioniert das? Irgendwelche Fehlermeldungen? Falls nicht bitte einmal Instanz neu starten und nochmal testen.
-
@janga sagte in Test Adapter rpi2 2.x:
/opt/iobroker/iobroker rebuild rpi2 --install
Passiert das Gleiche:
rpi2.0 Zeit debug Nachricht rpi2.0 2024-09-10 16:51:55.693 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'output') rpi2.0 2024-09-10 16:51:55.693 debug Port 23 direction: out rpi2.0 2024-09-10 16:51:55.692 debug GPIO chip undefined initialized rpi2.0 2024-09-10 16:51:55.692 debug Got chip: undefined rpi2.0 2024-09-10 16:51:55.692 debug Buttons are pull down. rpi2.0 2024-09-10 16:51:55.692 debug Inputs are pull down. rpi2.0 2024-09-10 16:51:55.692 debug Got 4 from Raspberry Pi 4 Model B Rev 1.4. rpi2.0 2024-09-10 16:51:55.691 debug STDERR: rpi2.0 2024-09-10 16:51:55.690 debug CPU Info: Raspberry Pi 4 Model B Rev 1.4 rpi2.0 2024-09-10 16:51:55.682 debug undefined rpi2.0 2024-09-10 16:51:55.597 debug Creating gpio.24.isInput rpi2.0 2024-09-10 16:51:55.564 debug Creating gpio.23.isInput rpi2.0 2024-09-10 16:51:55.239 debug SETSTATE FOR rpi2.0.wlan.wifi_send VALUE = 0 rpi2.0 2024-09-10 16:51:55.238 debug ---> POST: for wifi_send in [object Object] rpi2.0 2024-09-10 16:51:55.181 debug SETSTATE FOR rpi2.0.wlan.wifi_received VALUE = 0 rpi2.0 2024-09-10 16:51:55.180 debug VALUE: 0 POST: $1*-1 rpi2.0 2024-09-10 16:51:55.179 debug ---> POST: $1*-1 for wifi_received in [object Object] rpi2.0 2024-09-10 16:51:55.168 debug -1 rpi2.0 2024-09-10 16:51:55.167 debug CURRENT = wlan true rpi2.0 2024-09-10 16:51:55.111 debug SETSTATE FOR rpi2.0.uptime.uptime VALUE = 451142.1 rpi2.0 2024-09-10 16:51:55.110 debug ---> POST: for uptime in [object Object] rpi2.0 2024-09-10 16:51:55.099 debug -1 rpi2.0 2024-09-10 16:51:55.098 debug CURRENT = uptime true rpi2.0 2024-09-10 16:51:55.046 debug SETSTATE FOR rpi2.0.temperature.soc_temp VALUE = 49.66 rpi2.0 2024-09-10 16:51:55.045 debug VALUE: 49660 POST: $1/1000 rpi2.0 2024-09-10 16:51:55.044 debug ---> POST: $1/1000 for soc_temp in [object Object] rpi2.0 2024-09-10 16:51:55.035 debug -1 rpi2.0 2024-09-10 16:51:55.035 debug CURRENT = temperature true rpi2.0 2024-09-10 16:51:54.975 debug SETSTATE FOR rpi2.0.swap.swap_used VALUE = 198.01 rpi2.0 2024-09-10 16:51:54.974 debug VALUE: 2036 POST: (rpi.swap_total - $1)/1024 rpi2.0 2024-09-10 16:51:54.973 debug ---> POST: (rpi.swap_total - $1)/1024 for swap_used in [object Object] rpi2.0 2024-09-10 16:51:54.914 debug SETSTATE FOR rpi2.0.swap.swap_total VALUE = 200 rpi2.0 2024-09-10 16:51:54.913 debug VALUE: 204796 POST: $1/1024 rpi2.0 2024-09-10 16:51:54.912 debug ---> POST: $1/1024 for swap_total in [object Object] rpi2.0 2024-09-10 16:51:54.897 debug -1 rpi2.0 2024-09-10 16:51:54.896 debug CURRENT = swap true rpi2.0 2024-09-10 16:51:54.840 debug SETSTATE FOR rpi2.0.sdcard.sdcard_boot_used VALUE = 63.14 rpi2.0 2024-09-10 16:51:54.839 debug VALUE: 64654 POST: $1/1024 rpi2.0 2024-09-10 16:51:54.839 debug ---> POST: $1/1024 for sdcard_boot_used in [object Object] rpi2.0 2024-09-10 16:51:54.787 debug SETSTATE FOR rpi2.0.sdcard.sdcard_root_used VALUE = 5716.88 rpi2.0 2024-09-10 16:51:54.786 debug VALUE: 5854088 POST: $1/1024 rpi2.0 2024-09-10 16:51:54.786 debug ---> POST: $1/1024 for sdcard_root_used in [object Object] rpi2.0 2024-09-10 16:51:54.735 debug SETSTATE FOR rpi2.0.sdcard.sdcard_boot_total VALUE = 509.99 rpi2.0 2024-09-10 16:51:54.734 debug VALUE: 522230 POST: $1/1024 rpi2.0 2024-09-10 16:51:54.734 debug ---> POST: $1/1024 for sdcard_boot_total in [object Object] rpi2.0 2024-09-10 16:51:54.683 debug SETSTATE FOR rpi2.0.sdcard.sdcard_root_total VALUE = 29433.42 rpi2.0 2024-09-10 16:51:54.683 debug VALUE: 30139824 POST: $1/1024 rpi2.0 2024-09-10 16:51:54.682 debug ---> POST: $1/1024 for sdcard_root_total in [object Object] rpi2.0 2024-09-10 16:51:54.674 debug -1 rpi2.0 2024-09-10 16:51:54.674 debug CURRENT = sdcard true rpi2.0 2024-09-10 16:51:54.622 debug SETSTATE FOR rpi2.0.network.net_send VALUE = 171955900 rpi2.0 2024-09-10 16:51:54.622 debug ---> POST: for net_send in [object Object] rpi2.0 2024-09-10 16:51:54.569 debug SETSTATE FOR rpi2.0.network.net_received VALUE = -159709199 rpi2.0 2024-09-10 16:51:54.568 debug VALUE: 159709199 POST: $1*-1 rpi2.0 2024-09-10 16:51:54.567 debug ---> POST: $1*-1 for net_received in [object Object] rpi2.0 2024-09-10 16:51:54.557 debug -1 rpi2.0 2024-09-10 16:51:54.557 debug CURRENT = network true
-
@laser ernüchternd. Ich vermute echt, dass da irgendwann nicht funktioniert beim Zugriff auf die C++ Bibliothek. Eventuell klappt da bei der Installation des Adapters das build nicht, aber ich hätte erwartet, dass da irgendein Fehler dann bei der Installation angezeigt würde.
-
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.