NEWS
npm raspi-i2c modul ladefehler
-
Guten Abend.
Seit Tagen versuche ich den Raspi-I2C in JS zu nutzen.
gefunden habe ich den hier: https://www.npmjs.com/package/raspi-i2c
Ich habe IO Broker auf einem Nuke und ein Slave auf einem Raspi 4
auf beiden maschinen sind folgende versionen
am raspi habe ich einen i2c extender angeschlossen, adresse 3e, der bus ist in der config configuriert
mit i2cdetect - y 1
erhalte ich das
ich schliesse daraus dass die verbindung i2c modul - raspberry funktioniert
nun wollte ich das in java script auch ansprechen und habe JS auf dem Pi installiert
aber ich erhalte immer eine fehlermeldung
ich komme hier einfach nicht weiter, habe alles nochmal "sauber" installiert aber selber effekt
-
hier noch der inhalt der angegebenen Log datei2020-07-12T18_11_06_775Z-debug.log
-
@grooovie Schaut so aus, als wenn der User iobroker keine sudo-Rechte hätte.
Und nicht als root einloggen!iobroker fix
Mal ausführen
-
danke für die schnelle antwort
habe ich nun gemachttrotzdem keine änderung leider
komischerweise kommt der rote fehlerblock 3x hintereinander
-
allerdings habe ich iobroker fix "im" raspi eingegeben
muss das im iobroker master ausgeführt werden eventuell?
wenn ja, das hatte ich schon vor langer zeit noch als root installiert. wie kann man dann den befehl ausführen ohe sich als root anzumelden?
-
Das Modul wirst du übers Webinterface nicht installiert bekommen. ioBroker erlaubt passwordless sudo nur für bestimmte Befehle und der, der hier versucht wird auszuführen, gehört nicht dazu.
Am besten installierst du manuell per Konsole nach (auf dem Gerät, wo der Skript-Adapter inklusive Modul laufen soll):cd /opt/iobroker/node_modules/iobroker.javascript npm i raspi-i2c
-
das habe ich nun probiert, werde aber nach dem Passwort von iobroker gefragt.
das standartpasswort "iobroker" funktioniert nicht. was nun ? die installation von iobroker ist frisch gestern aufgespielt, passwörter habe ich nicht vergeben oder geändert, nur das von dem user "pi" -
@grooovie Versuch Mal die Installation per
sudo -u iobroker npm i raspi-i2c
Und Konsolenoutput bitte nicht als Screenshot sondern als reinen Text in Code Tags hier rein. Dann kann man damit auch was anfangen.
-
@grooovie Schwieriger Fall...
Der Nutzer iobroker hat kein Passwort, d.h. du kannst auch keins eingeben.
Allerdings wird npm im iobroker-Ordner zwangsweise als der Nutzer iobroker ausgeführt.Probier mal folgendes:
- Modul installieren ohne postinstall-Skript:
cd /opt/iobroker/node_modules/iobroker.javascript npm i raspi-i2c --ignore-scripts
- Das postinstall-Skript manuell ausführen:
cd /opt/iobroker/node_modules/iobroker.javascript/node_modules/raspi-i2c sudo env "PATH=$PATH" script/enable_i2c.js
@Thomas-Braun
npm
läuft im ioBroker-Ordner bereits alsiobroker
. -
[GELÖST]
Klasse, das lief jetzt durch und in Javascipt kann ich alles ansprechen wie gedacht
DANKE sehr für Eure Hilfe.
codepi@192.168.2.85's password: Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Jul 13 13:12:58 2020 from 192.168.2.96 pi@raspberrypi:~ $ cd /opt/iobroker/node_modules/iobroker.javascript pi@raspberrypi:/opt/iobroker/node_modules/iobroker.javascript $ npm i raspi-i2c --ignore-scripts + raspi-i2c@6.2.4 updated 1 package and audited 21 packages in 2.962s 1 package is looking for funding run `npm fund` for details found 0 vulnerabilities pi@raspberrypi:/opt/iobroker/node_modules/iobroker.javascript $ cd /opt/iobroker/node_modules/iobroker.javascript/node_modules/raspi-i2c pi@raspberrypi:/opt/iobroker/node_modules/iobroker.javascript/node_modules/raspi-i2c $ sudo env "PATH=$PATH" script/enable_i2c.js Checking if I2C is enabled at boot time Enabled I2C at boot time YOU MUST REBOOT YOUR PI BEFORE USING I2C! pi@raspberrypi:/opt/iobroker/node_modules/iobroker.javascript/node_modules/raspi-i2c $ _text
-
Bis JavaScript 4.6.17 alles ok
Gestern Update gemacht auf 4.6.22
Wieder das gleiche Problem. Alle Schritte angefangen mit iobroker fix bis zur manuellen Installation. Keine Chance. Wirft den hleicht Fehler aus wie weiter oben beschrieben (kann Paket raspi-i2c nicht finden)
Warum ist es eigentlich so schwer irgendwas mit i2c und iobroker auf dem raspi zu machen. Ich komme mir vor als wäre ich der einzige der Software sucht und vor hat
Nachdem ich das vor dem Update von js erstellte Image des raspis der im multihost als slave läuft wieder aufgespielt hatte am Master gave ich nichts zurückgesetzt. So läuft es wieder. Sobald ich update die js ist Ende. HABE die ganze Nacht alles mögliche probiert.hilfeee
-
@grooovie sagte in npm raspi-i2c modul ladefehler:
manuellen Installation. Keine Chance. Wirft den hleicht Fehler aus
Bitte poste mal genau was dabei angezeigt wird.
-
@AlCalzone Danke für Deine Antwort.
Eigentlich das gleiche was Eingangs beschrieben ist.
Der Witz nun wollte ich es nochmal dokumentieren und posten, also habe ich nochmal das update gemacht, jetzt ist der Fehler weg, ohne das ich irgendwas verändert habe. Ich habe mir am Freitag bis früh um 4 die Haare gerauft.
Keine Ahnung warum es jetzt geht.
Bin sprachlos.
-
-
@grooovie sagte in npm raspi-i2c modul ladefehler:
Raspi-I2C in JS zu nutzen
Hi Grooovie
Wofür verwendest du das raspi-i2c Modul? Hast du gesehen, dass es einen einen Adapter für I2C gibt?
https://forum.iobroker.net/topic/7023/adapter-iobroker-i2c
Falls dort irgend etwas fehlt, lass es mich wissen und ich erweitere den Adapter gerne um die Funktionalität.
/UncleSam
-
@UncleSam danke, ja habe ich gesehen, läuft auch bei mir aber da war nur ein Device hinterlegt, der 8fach I2c expander. ich benutze einen SX1509. mit dem Raspii2c modul konnte man direkt auf den bus zugreifen, das war gar nicht schlecht
Im übrigen funktioniert es immer noch nicht.
Ich dachte nur alles ist gut, aber die Aktualisierung von JS von 4.6.17 auf 4.6.22 verursacht die Fehler.
Als ich weiter oben schrieb ich bin sprachlos es geht war der Grund das ich die Aktualisierung nur auf dem Master durchgeführt hatte. Auf dem Slave (Raspi mit i2c Anbindung des SX1509) läuft noch die 4.6.17 VersionIch dokumentiere euch das mal
aktuell der Slave Version 4.6.17, der Master hat bereits 4.6.22
das Script besteht nur noch aus den 2 Zeilen, alles andere ist auskommentiert.
Script geht prima.nun update
jetzt läuft auf dem Master UND auf dem Slave 4.6.22so, nun wieder script starten:
und zack fehler!im Log steht:
javascript.1 2020-08-05 17:17:08.033 error (13851) at Script.runInContext (vm.js:131:20) javascript.1 2020-08-05 17:17:08.032 error (13851) at script.js.Mein_Haus.ZaehlerRaum.I2C:28:33 javascript.1 2020-08-05 17:17:08.032 error (13851) TypeError: Cannot read property 'I2C' of undefined javascript.1 2020-08-05 17:17:08.032 error (13851) ^ javascript.1 2020-08-05 17:17:08.031 error (13851) const I2C = require('raspi-i2c').I2C; javascript.1 2020-08-05 17:17:08.031 error (13851) script.js.Mein_Haus.ZaehlerRaum.I2C: script.js.Mein_Haus.ZaehlerRaum.I2C:28 javascript.1 2020-08-05 17:17:08.028 error (13851) at Script.runInContext (vm.js:131:20) javascript.1 2020-08-05 17:17:08.028 error (13851) at script.js.Mein_Haus.ZaehlerRaum.I2C:28:13 javascript.1 2020-08-05 17:17:08.027 error (13851) at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:390:36) javascript.1 2020-08-05 17:17:08.027 error (13851) at require (internal/modules/cjs/helpers.js:72:18) javascript.1 2020-08-05 17:17:08.026 error (13851) at Module.require (internal/modules/cjs/loader.js:1026:19) javascript.1 2020-08-05 17:17:08.025 error (13851) script.js.Mein_Haus.ZaehlerRaum.I2C: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../raspi-i2c'
das Modul wurde wie ganz oben beschrieben manuell installiert.
Wenn ich das Image auf den Raspi von vor dem Update einspiele geht es wieder.
Bitte um Hilfe.
-
@grooovie sagte in npm raspi-i2c modul ladefehler:
ich benutze einen SX1509
Ich habe für den I2C Adapter ein Issue erfasst und werde (sobald die Hardware da ist) den SX1509 implementieren:
https://github.com/UncleSamSwiss/ioBroker.i2c/issues/45 -
@UncleSam sagte in npm raspi-i2c modul ladefehler:
und werde (sobald die Hardware da ist) den SX1509 implementieren:
Das nenne ich prompten Einsatz!
wobei
expected delivery in 30-50 days,
das deine Reaktionszeit etwas begrenzt -
@UncleSam
das ist ja coolich habe hier 10 stück, geht es besser wenn ich Dir einen sende? brauche nur Deine Anschrift
-
was wird mit dem raspi-i2c Modul, ist das jetzt nutzlos seit dem JS update?