NEWS
Test Adapter rpi2 2.x
-
Wie angekündigt, habe ich ein "bookworm" System völlig neu aufgesetzt.
pi@iobroker-24d-test:~ $ node -v v20.16.0 pi@iobroker-24d-test:~ $ nodejs -v v20.16.0 pi@iobroker-24d-test:~ $ npm -v 10.8.1 pi@iobroker-24d-test:~ $
Beim Abarbeiten von „Erstes ioBroker Setup“ dann nur den Javascript Adapter ausgewählt, den ich immer brauche.
Anschließend das Repository auf "latest" umgestellt, die dann angebotenen neusten Versionen der Admin-, Javascript-, BackItUp- und Gerätesuche-Adapter installiert.Obwohl ich wusste, dass unter "bookworm" das Paket "python" so nicht mehr existiert, nochmal den im rpi2-github geforderten Befehl
sudo apt-get install -y build-essential python
ausgeführt. Ergebnis:
pi@iobroker-24d-test:~ $ sudo apt-get install -y build-essential python Reading package lists... Done Building dependency tree... Done Reading state information... Done Package python is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source However the following packages replace it: python-is-python3 2to3 E: Package 'python' has no installation candidate pi@iobroker-24d-test:~ $
Dann habe ich getestet, ob die Pakete "python-is-python3" und "2to3" installiert sind. Ergebnis:
pi@iobroker-24d-test:~ $ sudo apt-get install -y python-is-python3 2to3 Reading package lists... Done Building dependency tree... Done Reading state information... Done python-is-python3 is already the newest version (3.11.2-1+deb12u1). The following NEW packages will be installed: 2to3 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 10.0 kB of archives. After this operation, 31.7 kB of additional disk space will be used. Get:1 http://deb.debian.org/debian bookworm/main arm64 2to3 all 3.11.2-1 [10.0 kB] Fetched 10.0 kB in 0s (157 kB/s) Selecting previously unselected package 2to3. (Reading database ... 140363 files and directories currently installed.) Preparing to unpack .../archives/2to3_3.11.2-1_all.deb ... Unpacking 2to3 (3.11.2-1) ... Setting up 2to3 (3.11.2-1) ... Processing triggers for man-db (2.11.2-2) ... pi@iobroker-24d-test:~ $
"2to3" wurde also nachinstalliert, vermutlich wird es aber nicht benötigt.
Im nächsten Schritt dann vom Admin Adapter aus "rpi2 2.0.0" installiert. Ergebnis:
rpi2.0 2024-08-07 09:33:36.755 error Cannot initialize/setMode GPIO: Error: Cannot find module 'opengpio' Require stack: - /opt/iobroker/node_modules/iobroker.rpi2/lib/gpioControl.js - /opt/iobroker/node_modules/iobroker.rpi2/main.js
Für mich sieht es danach aus, dass das Modul "opengpio" nicht automatisch mit installiert wird.
Nächste Idee -> evtl. wird ja doch die Freigabe „Remote GPIO“ in „raspi-config“ bvenötigt.
Rpi2 Adapter im Admin deinstalliert, „Remote GPIO enabled“ gesetzt und "rpi2 2.0.0" wieder installiertpi@iobroker-24d-test:/opt/iobroker $ npm ls opengpio iobroker.inst@3.0.0 /opt/iobroker └─┬ iobroker.rpi2@2.0.0 └── opengpio@1.1.0 pi@iobroker-24d-test:/opt/iobroker $
Das sieht schon mal besser aus. Wenn ich jetzt einzelne GPIO’s konfigurieren möchte, kommt
rpi2.0 2024-08-07 10:02:25.431 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch') rpi2.0 2024-08-07 10:10:47.138 error Cannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'output')
Diese Fehlermeldung wurde hier im Forum bereits diskutiert und bedeutet wohl „warten auf den Entwickler“.
Trotzdem werde nochmal bei Null beginnen und vor der Erstinstallation des rpi2-Adapters „Remote GPIO enabled“ setzen. Mal sehen, ob dann das „open_gpio“ Thema vom Tisch ist, man müsste den Schritt in „raspi-config“ dann nur mal in der Doku erwähnen (oder ich habe es überlesen).
-
Mein Usecase für rpi-Adapter: vor ca. 2 Jahren den Gaszähler ausgelesen. Heute habe ich eine Wärmepumpe, und kürzlich habe ich mich daran gemacht, deren Stromzähler auszulesen, über die S0 Schnittstelle. Ist im Prinzip ein Taster, der mit jeder verbrauchten Wh kurz schließt.
Vorher habe ich alles wunderschön auf Stand gebracht, iobroker und auch raspian, jetzt auf bookworm, und nun das.
Fehler bei mir, wenn der Adapter startet, wie obenstehendCannot initialize/setMode GPIO: TypeError: Cannot read properties of undefined (reading 'watch')
-
Was tun denn die Leute, die sich standhaft weigern, die GPIO's zu benutzen? I2C Bus mit E/A Baugruppen anschließen? Oder benutzen nur wenige Binäre Ein/Ausgänge?
-
@laser sagte in Test Adapter rpi2 2.x:
die sich standhaft weigern
was soll das denn?
wieso weigern?das braucht schlicht und einfach fast niemand am RasPi
-
@homoran OK. Ich habe das immer für etwas Tolles gehalten. Ein/Ausgänge ohne Zusatzbaugruppen. Klar, bei Fehlverschaltung riskiert man möglicherweise den gesamten Pi.
-
@homoran sagte in Test Adapter rpi2 2.x:
@laser sagte in Test Adapter rpi2 2.x:
das braucht schlicht und einfach fast niemand am RasPi
Ich würde es auch brauchen (für meinen Reed Sensor an der Gasuhr) ich hoffe es kommt bald ne Lösung. Ich möchte ungern auf einen esp umsteigen.
-
Um die Erwartungshaltung ggF anzupassen wiederhole ich:
Vor Ende August wird sich hier sicher nichts tun da der Dev derzeit urlaubsbedingt offline ist.
Es wird daran gearbeitet. Aber da der Support im Betriebsystem grundlegend geändert wurde und die früher verwendete hardwarenahe Bibliothek nicht mehr aktualisisert wurde ist das Anpassen keine Kleinigkeit. Falls die jetzt hier aktiven Poster schon im Juni mit dem Dev Kontakt hatten und mitgetestet haben sollte das bekannt sein. Alle anderen lade ich gerne ein beim weiteren Testen order Anpassen des Codes mitzuwirken. Meiner Kenntnis nach benutzt der Dev die GPIOs selbst nicht und macht diese Anpassungen nur für euch.
-
Tut euch keinen Zwang an. Ich werde derweil mal ausprobieren, wie das mit einem wemos d1 mini funktioniert.
-
@mcm1957 Urlaub muß sein. Es ist toll, daß sich dieser GPIO Sache jemand annimmt. GPIO's gehören nun mal zum Pi. Sind ja nicht umsonst sogar fest verlötet.
-
@thomas-braun said in Test Adapter rpi2 2.x:
@jrgsch sagte in Test Adapter rpi2 2.x:
Wird es nicht automatisch mit dem Adapter installiert?
Eigentlich schon.
Jain.. es ist eine optionale dependency. Die wird nur installiert, wenn das systempaket libgpiod-dev bereits installiert ist.
An @jrgsch:
Ich hab die Readme mal entsprechend angepasst, auf dem Rapi mal den Befehl ausfüren: `sudo apt install -y libgpiod-dev.
https://github.com/iobroker-community-adapters/ioBroker.rpi2/blob/master/README.mdIch dachte, ich hätte das Readme entsprechend angepasst... hab ich aber wohl übersehen.
Und für die "undefined watch of" oder so Fehlermeldungen würde mir ein issue inklusive der Konfiguration der GPIOs vermutlich helfen.
-
- Adaptername: RPI 2.0.0
- Link zu Adapterrepository: https://github.com/iobroker-community-adapters/ioBroker.rpi2
- Adapterversion: 2.0.0
- js-controller Version: v20.16.0
- Admin Version: ...
- Hardwaresystem: Pi4B
- Arbeitsspeicher: 8GB
- Festplattenart: SSD
- Betriebssystem: Linux
- Nodejs-Version: v20.16.0
- NPM-Version: 10.8.1
- Installationsart: Skrip
- Image, Docker genutzt: Nein
- Ort, Name der Imagedatei: ...
Fehler: Vermutlich seit dem Update der NodeJs gehen die GPIOs des Raspi nicht mehr. Vorher funktionierten die GPIOs einwandfrei und Jahrelang
Beim ändern der config kommt folgender Fehler:
rpi2.0 2024-08-20 10:55:18.200 error Cannot initialize/setMode GPIO: Error: error requesting GPIO lines: Device or resource busy rpi2.0 2024-08-20 10:56:01.757 error GPIO is not initialized!
Downgrade auf NodeJS 18 und RPI 1.3.2 haben nichts verändert.
iob diag:
iobroker [command] Commands: iobroker setup Setup ioBroker iobroker start [all|<adapter>.<instance>|<adapter>] Starts the js-con troller or a specified adapter instance or all instances of an adapter iobroker stop [<adapter>.<instance>|<adapter>] stops the js-cont roller or a specified adapter instance or all instances of an adapter iobroker restart [<adapter>.<instance>|<adapter>] Restarts js-contr oller or a specified adapter instance or all instances of an adapter [aliases: r] iobroker debug <adapter>[.<instance>] Starts a Node.js debugging session for the adapter instance iobroker info Shows the host in fo iobroker logs [<adapter>] Monitor log iobroker add <adapter> [desiredNumber] Add instance of a dapter [aliases: a] iobroker install <adapter> Installs a specif ied adapter [aliases: i] iobroker rebuild [<module>] Rebuild all nativ e modules or path iobroker url <url> [<name>] Install adapter f rom specified url, e.g. GitHub, if a package name is provided instead of an url, it will be installed from npm iobroker del <adapter> Remove adapter an d all instances from this host [aliases: delete] iobroker del <adapter>.<instance> Remove adapter in stance [aliases: delete] iobroker update [<repositoryUrl>] Update repository and list adapters iobroker upgrade Upgrade managemen t iobroker upload [all|<adapter>] Upload management [aliases: u] iobroker object Object management [aliases: o] iobroker state State management [aliases: s] iobroker message <adapter>[.instance] <command> [<message>] Send message to a dapter instance/s iobroker list <type> [<filter>] List all entries, like objects iobroker chmod <mode> <file> Change file right s iobroker chown <user> <group> <file> Change file owner ship iobroker touch <file> Touch file iobroker rm <file> Remove file iobroker file File management iobroker user User commands iobroker group group management iobroker host <hostname> Set host to given hostname iobroker set <adapter>.<instance> Change settings o f adapter config iobroker license <license.file or license.text> Update license by given file iobroker cert Certificate manag ement iobroker clean <yes> Clears all object s and states iobroker backup Create backup iobroker restore <backup name or path> Restore a specifi ed backup iobroker validate <backup name or path> Validate a specif ied backup iobroker status [all|<adapter>.<instance>] Status of ioBroke r or adapter instance [aliases: isrun] iobroker repo [<name>] Show repo informa tion iobroker uuid Show uuid of the installation [aliases: id] iobroker unsetup Reset license, in stallation secret and language iobroker fix Execute the insta llation fixer script, this updates your ioBroker installation iobroker nodejs-update [<major-version>] Upgrade the Node. JS installation to the current LTS iobroker multihost Multihost managem ent iobroker compact compact group man agement iobroker plugin Plugin management iobroker vendor <passphrase> [<vendor.json>] Update the vendor information using given passphrase iobroker version [<adapter>] Show version of j s-controller or specified adapter [aliases: v] Options: --help Show help [boolean]
MOD-EDIT: Code in code-tags gesetzt!
-
-
- Warum englisch?
- Wenn
iob diag
schon nicht vorhanden ist, vermute ich ein völlig veraltetes Betriebssystem.
Was hast Du da am Start?
cat /etc/os-release
-
@samson71
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" -
@dfred sagte in Raspberry 4B GPIOs since Update NodeJs 20.x are not Working:
Vermutlich seit dem Update der NodeJs gehen die GPIOs des Raspi nicht mehr.
Das hat mit nodejs@20 nix zu tun.
iob stop iob fix iob start
Und dann funktioniert auch
iob diag
-
@dfred
hello, IOB diag nun richtig:======================= SUMMARY ======================= v.2024-05-22 Static hostname: IOBMain Icon name: computer Operating System: Raspbian GNU/Linux 11 (bullseye) Kernel: Linux 6.6.35-v8+ Architecture: arm64 Installation: native Kernel: aarch64 Userland: 32 bit Timezone: Europe/Berlin (CEST, +0200) User-ID: 1000 Display-Server: false Boot Target: graphical.target Pending OS-Updates: 0 Pending iob updates: 0 Nodejs-Installation: /usr/bin/nodejs v20.16.0 /usr/bin/node v20.16.0 /usr/bin/npm 10.8.1 /usr/bin/npx 10.8.1 /usr/bin/corepack 0.28.2 Recommended versions are nodejs 20.16.0 and npm 10.8.1 Your nodejs installation is correct MEMORY: total used free shared buff/cache available Mem: 7.8G 1.8G 4.4G 0.0K 1.6G 5.9G Swap: 99M 0B 99M Total: 7.9G 1.8G 4.5G Active iob-Instances: 44 Upgrade policy: none ioBroker Core: js-controller 6.0.10 admin 7.0.22 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: + system.adapter.admin.0 : admin : IOBMain - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.web.0 : web : IOBMain - enabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 40910 States: 35311 Size of iob-Database: 38M /opt/iobroker/iobroker-data/objects.jsonl 15M /opt/iobroker/iobroker-data/objects.json.migrated 15M /opt/iobroker/iobroker-data/objects.json.bak.migrated 4.0K /opt/iobroker/iobroker-data/objects.json.old 0 /opt/iobroker/iobroker-data/objects.json.broken 44M /opt/iobroker/iobroker-data/states.jsonl 5.5M /opt/iobroker/iobroker-data/states.json.old 3.5M /opt/iobroker/iobroker-data/states.json.migrated 3.5M /opt/iobroker/iobroker-data/states.json.bak.migrated 0 /opt/iobroker/iobroker-data/states.json.broken =================== END OF SUMMARY ====================
-
@thomas-braun said in Raspberry 4B GPIOs since Update NodeJs 20.x are not Working:
iob stop iob fix iob start
Und dann funktioniert auch
das hab ich schon mehrfach probiert. Iob diag funkt
-
@dfred sagte in Raspberry 4B GPIOs since Update NodeJs 20.x are not Working:
IOB diag nun richtig:
nein!
leider nur die Zusammenfassung. -
Für die BETA 2.0.0 von rpi2 gibts einen eigenen Thread. Sollte DORT diskutiert werden,
https://forum.iobroker.net/topic/75290/test-adapter-rpi2-2-xUnd ja, 2.0.0 ist noch beta und es funktioniert noch nicht alles. Siehe oben genannten Thread und Issues im Repo. DANKE fürs Testen der BETA Version.
@Homoran
Ich rege an das zu mergen. -
@mcm1957 erledigt!
@mcm1957 sagte in Test Adapter rpi2 2.x:
Und ja, 2.0.0 ist noch beta
Das war mir nicht bewusst.
ich dachte @dfred wäre noch im stable unterwegs.