I2C mit Respi 3

Begonnen von butaluk, 24 Oktober 2016, 09:10:53

Vorheriges Thema - Nächstes Thema

butaluk

Hallo Zusammen,
ich betreibe meine Steuerung (Pi2) mit den PCA9685 als Ausgangsporterweiterung und PCF8574 als Eingangsporterweiterung. Funktioniert soweit alles ganz gut. Jetzt will ich auf Pi3 umsteigen. Das I2C Bus habe ich so wie bei der Pi2 aktiviert und es funktioniert auch. Mit "sudo i2cdetect -y 1" getestet.
Nun wenn ich das I2C im Fhem definiere define <name> RPII2C 1 bekomme ich die Fehlermeldung:
Zitati2c: Error! I2C device not readable: /dev/i2c-1. Please install wiringpi or change access rights for fhem user
In Foren habe ich desbezüglich nichts gefunden. Kennt einer woran es liegen könnte?

Danke!

butaluk

Kann es daran liegen dass bei Pi2 Vollversion drauf ist und auf Pi3 Lite?

schka17

Ich habe hier in der /etc/init.d/fhem ein paar Zeilen eingefügt:
#---> add i2c changes
sudo chown fhem /dev/i2c-*
sudo chgrp dialout /dev/i2c-*
sudo chmod +t /dev/i2c-*
sudo chmod 660 /dev/i2c-*

#----> ab hier wieder original
        perl fhem.pl fhem.cfg


kannst aber auch in beliebeige andere startup scripts einfügen, halt nur bevor FHEM gestartet wird.
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

KölnSolar

ich vermute Du hast die Antwort schon geschrieben:
Zitatdevice not readable: /dev/i2c-1. ....or change access rights for fhem user
Schau Dir mal die Rechte auf dem Pi2 für /dev/i2c-1 an und vergleiche mit dem Pi3. Wird wohl irgendwas unterschiedlich sein. Oder Du startest fhem auf den beiden Rechnern unterschiedlich. Details können Dir dann ggfs. die Linux-Cracks geben, der ich nicht bin.
Grüße Markus
Tsss, und schon war ein Crack schneller als ich.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

butaluk

ZitatSchau Dir mal die Rechte auf dem Pi2 für /dev/i2c-1 an und vergleiche mit dem Pi3.
habe ich. Alles gleich.

butaluk

#5
Ich gehe folgendes vor:
1.   Runterladen und Installieren von Raspbian Jessie Light
2.   Mit ,,sudo raspi-config" Automatisches  Aktivieren vom I2C
3.   Überprüfen dass der I2C Kernel auch wirklich geladen wird. Mit ,,sudo nano /etc/modules"
die Datei öffnen. Überprüfen dass die I2C Schnittstellen eingetragen sind ,,i2C-bcm2708" und ,,i2c-dev".
4.   Unter ,,sudo nano /etc/modprobe.d/raspi-blacklist.conf" überprüfen dass keine i2c eingetragen sind.
5.   Unter" sudo nano /boot/config.txt" am Ende "dtparam=i2c1=on" und "dtparam=i2c_arm=on" eintragen
6.   Das Program i2cdetect installieren "sudo apt-get install i2c-tools"
7.   Mit "sudo i2cdetect –y 1" die i2c function überprüft. Die Tabelle mit angeschlossenen i2c Teilnehmern wird dargestellt.
8.   Wiring Pi Installieren
9.   Fhem Installieren
10.   Fhem auf ,,Update" prüfen
11.   Nun wenn ich im Fhem die i2c Schnittstelle anlege ,,define <name> RPII2C 1"
Bekomme ich die Fehlermeldung" i2c: Error! I2C device not readable: /dev/i2c-1. Please install wiringpi or change access rights for fhem user"

Und wenn ich bei der Datei "/dev/i2c-1" den Schreibschutz aufhebe läuft das zwar, aber beim reboot des Pi3 ist die Datei wieder Schreibgeschützt und ich bekomme wieder die Fehlermeldung.





schka17

Schön, hast du meinen Tip auch gelesen?


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Wernieman

#7
Was für rechte hat denn der /dev/i2c??
ls -lha /dev/i2c-1

@schka17
Wobei Du damit eigentlich nur immer die Rechte am i2c fest an fhem:dialout vergiebst. Währe eigentlich besser zu wissen, welche Rechte genau momentan vergeben sind und welche Rechte fhem braucht (s.o.)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

schka17

Ups, da habe ich jetzt voreilig meine Lösung verraten


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

butaluk

ZitatWas für rechte hat denn der /dev/i2c??
crw-rw---- 1 root i2c

ZitatSchön, hast du meinen Tip auch gelesen?

Ja, habe ich. Ich wollte einmal die Vorgehensweise aufschreiben zu einem, es kann sein dass noch jemand mit gleichen Problem konfrontiert wird und zu anderem, vielleicht ist meine Vorgehensweise nicht Richtig und ich etwas übersehen habe.

Wernieman

Kannst Du fhem in die gruppe i2c mit aufnehmen? Dann sollte es, laut Rechte, gehen ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

butaluk

Zitatfhem in die gruppe i2c mit aufnehmen
Wie geht das?

Ich bin Neuling in Fhem

Wernieman

Ist nicht fhem sondern Linux
https://wiki.ubuntuusers.de/Benutzer_und_Gruppen/

In der Kurfassung:
sudo usermod -aG GRUPPENNAME BENUTZERNAME
sudo usermod -aG i2c fhem


Wobei es auch noch mehr Möglichkeiten gibt ....
https://wiki.archlinux.de/title/Benutzer_und_Gruppen
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

butaluk

Danke!
Die Funktion ,,define <name> RPII2C 1" ist wieder gegeben!

klausw

Oder auch
sudo adduser fhem i2c
wie es in der Commandref steht
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280