NEWS
Test Adapter rpi2 2.x
-
@garfonso said in Test Adapter rpi2 2.x:
@searcher57
Hi,
danke für das Log. Könntest du den rpi2 adapter auf debug umstellen und mir dann nochmal ein log vom neustart geben? (der sollte beim umstellen direkt neugestartet werden, sonst bitte von Hand).Irgendwie ist mir noch nicht klar, warum das GPIO Objekt da undefined ist.
rpi2.0 2024-09-04 12:50:23.537 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch') rpi2.0 2024-09-04 12:50:22.935 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-04 12:50:18.788 info terminating rpi2.0 2024-09-04 12:50:18.288 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason rpi2.0 2024-09-04 12:50:18.288 info terminating rpi2.0 2024-09-04 12:50:18.286 info Got terminate signal TERMINATE_YOURSELF rpi2.0 2024-09-04 12:50:14.578 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch') rpi2.0 2024-09-04 12:50:13.912 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 6.0.11
-
@searcher57 ist libgiod-dev auf dem System installiert? War es schon installiert, als der Adapter installiert wurde? Wenn nicht, Adapter deinstallieren, libgiod-dev installieren und Adapter wieder installieren!
-
@janga Adapter deinstalliert, GPIO- Bibliothek installiert, Beides wieder neu installiert, die gleichen Fehlermeldungen wie oben gezeigt.
-
@laser wenn ich das richtig sehe, hat @Garfonso im letzten Commit die Fehlermeldung erweitert:
this.log.error('Cannot initialize/setMode GPIO: ' + e); this.log.error('Please make sure that libgpiod-dev (on raspian/debian run sudo apt install libgpiod-dev) is installed in the system and then reinstall the adapter.');
Wenn bei dir die Bibliothek schon installiert ist, muss es noch eine andere Ursache für das Problem geben. Du hast den Adapter aber wirklich neu installiert und nicht nur die Instanz gelöscht und wieder erstellt?
-
@janga Nur die Instanz gelöscht. Werde das noch mal wiederholen.
-
@laser Wenn du sichergehen willst, dass du den richtigen Adapter hast, dann installier den über die Shell mit
iob upgrade rpi2@2.0.0
bzw. wenn er gerade deinstalliert ist
iob add rpi2@2.0.0
-
@janga Noch mal den Adapter über die Shell installiert (vorher libgiod und Adapter gelöscht, rebot).
rpi2.0 2024-09-05 11:45:59.188 error GPIO is not initialized! rpi2.0 2024-09-05 11:45:56.857 error GPIO is not initialized! rpi2.0 2024-09-05 11:45:53.430 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'output') rpi2.0 2024-09-05 11:45:52.715 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 5.0.19 rpi2.0 2024-09-05 11:45:49.713 info terminating rpi2.0 2024-09-05 11:45:49.268 info Terminated (NO_ERROR): Without reason rpi2.0 2024-09-05 11:45:49.266 info terminating rpi2.0 2024-09-05 11:45:49.213 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'output') rpi2.0 2024-09-05 11:45:48.419 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.rpi2, node: v18.20.4, js-controller: 5.0.19 rpi2.0 2024-09-05 11:45:44.350 info terminating rpi2.0 2024-09-05 11:45:43.853 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason rpi2.0 2024-09-05 11:45:43.851 info terminating rpi2.0 2024-09-05 11:45:43.845 info Got terminate signal TERMINATE_YOURSELF rpi2.0 2024-09-05 11:45:02.810 warn Port 23 is configured as input and not writable rpi2.0 2024-09-05 11:45:01.121 warn Port 23 is configured as input and not writable rpi2.0 2024-09-05 11:44:59.273 warn Port 23 is configured as input and not writable rpi2.0 2024-09-05 11:44:58.352 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch')
Zuerst den GPIO23 falsch eingestellt, dann korrigiert. Versucht, den Ausgang zu setzen und den Eingang abzufragen. Klappt Beides nicht.
-
-
@janga said in Test Adapter rpi2 2.x:
@searcher57 ist libgiod-dev auf dem System installiert? War es schon installiert, als der Adapter installiert wurde? Wenn nicht, Adapter deinstallieren, libgiod-dev installieren und Adapter wieder installieren!
Danke, ja das habe ich alles schon gemacht.
-
@searcher57 Was für einen Raspberry Pi benutzt du?
-
@janga said in Test Adapter rpi2 2.x:
@searcher57 Was für einen Raspberry Pi benutzt du?
Ich habe einen Raspi 5 im Einsatz. Aber mein Raspi 4 verhält sich genauso. Leider funktioniert nach wenigen Monaten der Freude über eine erfolgreiche Nachbesserung von @garfonso die APP wieder nicht!
-
@searcher57 Wird schon werden! Bevor ich jetzt Klimmzüge mit Scripten auf Debian Ebene mache, warte ich ab.
-
@laser Es gibt auch noch die Möglichkeit eines Javascripts in IOBroker. Habe die Tage irgendwo einen Eintrag gesehen von jemanden, der GPIO ohne den Adapter benutzt hat. Finde das nur leider im Moment nicht...
Bei mir selbst geht der Kram im Moment auch nicht. In meinem Fall liegt es aber an der Art und Weise wie der Adapter bestimmt, welcher Raspberry Pi verwendet wird, und wie er diese Information dann so umsetzt, dass die verwendete GPIO-Bibliothek weiß, wie sie den Chip ansteuern muss. Ich habe einen Raspberry Pi Zero 2 W in einem Schalkasten im Garten und steuere damit die Beleuchtung. Leider kann man Zero 2 W nicht mit dem gleichen Regex in eine Nummer umwandeln wie Raspberry Pi 1,2,3,4 oder 5. Ich habe da auch schon eine Lösung für und habe einen Pull Request auf Github eingereicht. Ich bin nur leider zu unfähig, um meinen eigenen Fix bei mir einzuspielen ohne dass er im Repository ist. Bzw. ich hab einfach zu wenig Zeit, um mich in die IOBroker Adapterentwicklung tief genug einzuarbeiten. Stattdessen muss ich jetzt genau wie du warten, dass @Garfonso meinen oder einen anderen Fix einbaut. Schon bitter, wie hilflos man da ist. -
@janga Man kann Linux Befehle vom IO Broker ausführen. Aber das tue ich nur, wenn nichts Anderes geht. Das wird schnell unübersichtlich, wenn man das System neu aufsetzen muß, grübelt man erst mal, was man Alles umgestrickt hat. Adapter sind sind die bessere Lösung. Wenn Sie funktionieren.
-
@janga said in Test Adapter rpi2 2.x:
@laser Es gibt auch noch die Möglichkeit eines Javascripts in IOBroker. Habe die Tage irgendwo einen Eintrag gesehen von jemanden, der GPIO ohne den Adapter benutzt hat. Finde das nur leider im Moment nicht...
Bei mir selbst geht der Kram im Moment auch nicht. In meinem Fall liegt es aber an der Art und Weise wie der Adapter bestimmt, welcher Raspberry Pi verwendet wird, und wie er diese Information dann so umsetzt, dass die verwendete GPIO-Bibliothek weiß, wie sie den Chip ansteuern muss. Ich habe einen Raspberry Pi Zero 2 W in einem Schalkasten im Garten und steuere damit die Beleuchtung. Leider kann man Zero 2 W nicht mit dem gleichen Regex in eine Nummer umwandeln wie Raspberry Pi 1,2,3,4 oder 5. Ich habe da auch schon eine Lösung für und habe einen Pull Request auf Github eingereicht. Ich bin nur leider zu unfähig, um meinen eigenen Fix bei mir einzuspielen ohne dass er im Repository ist. Bzw. ich hab einfach zu wenig Zeit, um mich in die IOBroker Adapterentwicklung tief genug einzuarbeiten. Stattdessen muss ich jetzt genau wie du warten, dass @Garfonso meinen oder einen anderen Fix einbaut. Schon bitter, wie hilflos man da ist.Ähmm
Ich habe da auch schon eine Lösung für und habe einen Pull Request auf Github eingereicht. Ich bin nur leider zu unfähig, um meinen eigenen Fix bei mir einzuspielen ohne dass er im Repository ist.
Blöde Frage - aber wie hast du den PR gestestet ohne die Codeänderung zu installieren ???
Installieren kannst du den von dir geänderten Adpapter jederzeit via "install from Github" von deinem geforkten Repository in dem du die Änderungen vorgenommen hast. (https://github.com/jangatzke/ioBroker.rpi2 ?)
-
@mcm1957 sagte in Test Adapter rpi2 2.x:
Installieren kannst du den von dir geänderten Adpapter jederzeit via "install from Github" von deinem geforkten Repository in dem du die Änderungen vorgenommen hast. (https://github.com/jangatzke/ioBroker.rpi2 ?)
reicht es nicht die Instanz zu stoppen, die geänderte Datei im Adapterverzeichnis zu tauschen, dann ein upload zu machen und die Instanz wieder zu starten?
-
@homoran
Natürlich - nur sollte man vermeiden direkt im Codetree rumzuwerken. Via GH Installtion hat man in diesem Fall die Sicherheit dass das was man vie PR einreicht auch selbst bei einem läuft -
@mcm1957 Getestet habe ich das gar nicht. Nur weil ich in der Lage bin, drei Zeilen code zu verstehen und anzupassen, heißt das noch lange nicht, dass ich nicht zu dumm bin, diese Änderung in meine Installation einzuspielen.
Mit Install from Github hatte ich es schonmal versucht, habe aber nicht gerafft, wie ich da z.B. einen bestimmten Branch auswähle oder so. Das wirkte jedenfalls nicht selbsterklärend für mich und ich hab da außer Fehlermeldungen nichts zustande gebracht oder gar installiert. Ich habe fest vor mich da einzuarbeiten, werde das aber erst im Herbst angehen können, denke ich. Ich hänge auch noch als letzter aktiver "Entwickler" irgendwie beim MySensors Adapter mit drin und will den eigentlich auch nicht sterben lassen, Motivation ist also reichlich vorhanden, Knowhow aber fast keins. -
@janga said in Test Adapter rpi2 2.x:
@mcm1957 Getestet habe ich das gar nicht. Nur weil ich in der Lage bin, drei Zeilen code zu verstehen und anzupassen, heißt das noch lange nicht, dass ich nicht zu dumm bin, diese Änderung in meine Installation einzuspielen.
Sorry, wenn das so rübergekommen ist. Ich würde nie jemand als (zu) dumm bezeichnen. Das wär völlig unangemessen. Das einzige was ich mit meinem Post hinterfragen wollte ist ob du die Änderung getestest hast. Sorry - hätt ich höflicher formulieren können.
Mit Install from Github hatte ich es schonmal versucht, habe aber nicht gerafft, wie ich da z.B. einen bestimmten Branch auswähle oder so.
cli: iob install jangatzke/ioBroker.rpi2#new-gpio-lib
ui:
.. sollte gehen. UI Url wie auf der Github Seite wenn du den Branch selektierts.
Kanns aber konkret nicht testen, da mein Testsystem Windows basierend ist und da haperts mit den GPIOs ein wenig
DANKE jedenfalls dass du dein Wissen einbringst.
-
Und wenn du Entwicklerhilfe suchst schau in den Telegramm Channels vorbei. Invites auf www.iobroker.dev.