1wire auf Raspberry direkt auf GPIO4 mit w1-gpio-Modul

Begonnen von Punkt, 15 Februar 2013, 22:51:04

Vorheriges Thema - Nächstes Thema

Punkt

Hallo,

ich bin gerade dabei mir ein Testsystem mit meinem RaspberryPi aufzusetzen.
Die Installation von FHEM ging ja recht flott innerhalb von ein paar Minuten.

Nun stehe ich aber vor einer Frage, die mir durch die Suche bisher nicht beantwortet wurde (oder ich war zu doof zum Suchen :-) ):

Ich habe meinen 1wire-Bus direkt am RaspberryPi angeschlossen über den GPIO4 und nutze die Kernelmodule w1-gpio und w1-therm um z.B. mit meinen DS18B20 Temperaturen auszulesen.

In den ganzen Anleitungen finde ich allerdings nur Hinweise wie man 1wire-Komponenten über andere Bus-Master in FHEM einbindet (also über USB-Module usw.).

Beim direkten Anbinden des 1wire-Busses am Raspberry befinden sich die devices in /sys/bus/w1/devices und sind dort mit ihrer eindeutigen ID auslesbar.

Gibt es irgendwie eine Möglichkeit, diese 1wire-Komponenten auch in FHEM einzubinden?
Gibt es dazu irgendwo eine Anleitung bzw. Hinweise, wie ich dabei vorgehen kann?


Vielen Dank schonmal im Voraus und
viele Grüße

Michael
Cubieboard-2 mit 1wire-Bus und I2C-Extensions
Datenbank: mysql auf Ubuntu-Server
verschiedene "Satellitensysteme" mit ESP-8266

le66ck

Hallo Michael

Du bist nicht doof, zumindesten von meinen Horizont aus nicht!
Es gibt für Dein Problem eine ganz einfache Lösung, die schon einer ganz genial umgesetzt hat!!!
Für nur Temeratur messen sind mir die anderen Lösungen zu aufwendig.
Du brauchst die Datei/Modul von hier

https://github.com/mhop/fhem-mirror/blob/master/contrib/58_GPIO4.pm

Da ich nicht weis wie man die einzelne Datei herunterlädt, habe ich den Inhalt in eine Datei selbigen Namens eingefügt und in das
"Fhem Verzeichnis" kopiert und die selben Rechte wie die anderen "*.pm-Dateien" gegeben.
Jetzt sollte ein "define <Dein Name> GPIO4 <Deine Seriennummer z.B. 28-000003e159fb>" reichen.
Kanns bei mir momentan nicht nachvollziehen.
Hinweis es können max nur 10 Temp-sensoren angeschlossen werden, geben die Kernelmodule w1-gpio und w1-therm vor!

Zuletzt bin ich bei der Grafik stecken geblieben. Habs irgendwie nur für einen Sensor hinbekommen, für mehrere nicht. Fehlt mir noch das Wissen...!
Vielleicht führt das hier dazu einen Wikiartikel zu erschaffen!!!???

MFG CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

mattes1007

define <name> GPIO4 BUSMASTER fügst du in der fhem.cfg ein.
Vorher natürlich das Modul 58_GPIO4.pm in /opt/fhem/FHEM/ einfügen.

Dann fhem neu starten und deine Devices werden automatisch in der fhem.cfg angelegt
und erscheinen in room GPIO4.

Danach hab ich in der cfg noch

define weblink_GPIO4_DS18B20_xxxxxxxxx weblink fileplot FileLog_GPIO4_DS18B20_xxxxxxxxx:temp4:CURRENT
attr weblink_GPIO4_DS18B20_xxxxxxxxxxx label "T_Ferns Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_GPIO4_DS18B20_xxxxxxxxxx room GPIO4

die xxxxxxxx ersetzt du mit deinen Daten.

Dann noch ein shutdown restart und es laüft

Gruß Mattes





 

fladdy

Zitat von: le66ck schrieb am So, 17 Februar 2013 08:55Du brauchst die Datei/Modul von hier

https://github.com/mhop/fhem-mirror/blob/master/contrib/58_GPIO4.pm

Hallo Zusammen,

da das GPIO4-Modul von mir ist, nur noch kurz der Hinweis, dass ich (wenn überhaupt) neue Versionen nicht im angegebenen Github-Fork pflege. Stattdessen ist (mein) letztes Update im FHEM repository auf SourceForge zu finden.

Anbei nochmal ein Patch für autocreate, den ich benutze, um auch die GPIO4-Plots automatisch zu erzeugen.

Grüße
Peter

Punkt

Hallo,

ich hab das jetzt mal versucht einzufügen - bekomme aber immer folgende Fehlermeldungen im Log:

2013.02.17 21:11:00 1: reload: Error:Modul 58_GPIO4 deactivated:
 Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 58 at ./FHEM/58_GPIO4.pm line 9, <$fh> line 41.

2013.02.17 21:11:00 0: Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 58 at ./FHEM/58_GPIO4.pm line 9, <$fh> line 41.

2013.02.17 21:11:00 1: configfile: Cannot load module GPIO4


Kann mir da jemand weiterhelfen?
Oder gibts mittlerweile ne neuere Version?

Bei Sourceforge hab ich leider die 58_GPIO.pm nicht gefunden...


Viele Grüße

Michael
Cubieboard-2 mit 1wire-Bus und I2C-Extensions
Datenbank: mysql auf Ubuntu-Server
verschiedene "Satellitensysteme" mit ESP-8266

Punkt

hmm.....

ich hab jetzt grade mal bei sourceforge nachgeschaut und dort die 58_GPIO.pm gefunden.

....ich weis jetzt nicht, welche Datei die richtige ist - aber die beiden Dateien sind sehr unterschiedlich... :-)

ich werde das mal durchprobieren... :-)


Viele Grüße

Michael
Cubieboard-2 mit 1wire-Bus und I2C-Extensions
Datenbank: mysql auf Ubuntu-Server
verschiedene "Satellitensysteme" mit ESP-8266

Punkt

Hallo zusammen,

ich kriegs einfach nicht zum laufen....
Ich hab jetzt scheinbar die korrekte Version von 58_GPIO.pm - allerdings startet FHEM jetzt nicht mehr.

wenn ich mit

sudo service fhem start

starte hab ich folgende Fehlermeldung:

Undefined subroutine &main::readingsBulkUpdate called at ./FHEM/58_GPIO4.pm line 140, <DATA> line 2.


Viele Grüße

Michael
Cubieboard-2 mit 1wire-Bus und I2C-Extensions
Datenbank: mysql auf Ubuntu-Server
verschiedene "Satellitensysteme" mit ESP-8266

Punkt

....Kommando zurück! :-)

Kaum macht man es richtig - schon funktionierts!

Nach einem Update von FHEM läuft es jetzt und ich hab meinen "Raum" GPIO4 und kann meine Temperaturen auslesen...juhuu! :-)


Viele Grüße

Michael
Cubieboard-2 mit 1wire-Bus und I2C-Extensions
Datenbank: mysql auf Ubuntu-Server
verschiedene "Satellitensysteme" mit ESP-8266

le66ck

Hallo fladdy

Danke, danke,.... es geht. Hab mich zwischendurch etwas dooof angestellt, naja...!
Wo ist Dein letztes Update bei SourceForge, habs nicht gefunden!? Oder der Satz zuvor...!
Heißt die dort auch 58_GPIO4.pm?

Noch mal für alle, was ich gemacht habe.

- mehrere DS18B20 mit einem 4,7k Widerstand an GPIO4 angeschlossen
- "w1-gpio" und "w1-therm" in /etc/modules eingetragen und rebootet
- dann hier /sys/bus/w1/devices/w1_bus_master1/ geschaut ob sie erkannt wurden
  z.B. sieht das so aus /sys/bus/w1/devices/w1_bus_master1/10-000801216380
  auch hier nachzulesen http://wiki.laub-home.de/wiki/Raspberry_Pi_Sensoren_auslesen
- von hier https://github.com/mhop/fhem-mirror/blob/master/contrib/58_GPIO4.pm   die 58_GPIO4.pm geholt, siehe weiter oben
- dann den Patch von fladdy in 98_autocreate.pm eingefügt
  also im Endefekt das hier

 # GPIO
 "GPIO4_(DS18B20|DS1820).*"
   => { GPLOT => "temp4:Temp,", FILTER => "%NAME" },

  Wenns zum Patchen ein Befehl gibt, bitte mal posten!?
-shutdown  restart von Fhem ist bestimmt hier nicht falsch
-dann in Fhem  define <z.B.1wire...irgendwas> GPIO4 BUSMASTER  eingegeben
-shutdown  restart von Fhem
-fertig und hoffentlich freuen!!!

Tschüß
CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

fladdy

Zitat von: le66ck schrieb am Mo, 18 Februar 2013 15:09Wo ist Dein letztes Update bei SourceForge, habs nicht gefunden!? Oder der Satz zuvor...!

Aktuelle Verison ist 2754 mit stateFormat-Support:
http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/


Zitat von: le66ck schrieb am Mo, 18 Februar 2013 15:09Wenns zum Patchen ein Befehl gibt, bitte mal posten!?

Der Befehl heißt "patch" :-)

Grüße
Peter

le66ck

ok

Da war ich heut schon mal, war bestimmt zu viel Wald da.... oder Bäume...!

Zum Patchen, kannst Du da mal noch was mehr schreiben?

patch 98_autocreate.pm "Dein patch" oder wie?

CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

fladdy

Zitat von: le66ck schrieb am Mo, 18 Februar 2013 15:31ok

Da war ich heut schon mal, war bestimmt zu viel Wald da.... oder Bäume...!

Zum Patchen, kannst Du da mal noch was mehr schreiben?

patch 98_autocreate.pm "Dein patch" oder wie?

CK

(1) Speichere den Patch unter dem Namen "autocreate_GPIO4.patch" in Deinem Home-Verzeichnis ab.
(2) Geh' in das FHEM-Verzeichnis, in dem die Datei "98_autocreate.pm" liegt.
(3) ... und führe den Patch aus (siehe unten)


cd /opt/fhem/FHEM
sudo patch < ~/autocreate_GPIO4.patch


Schau Dir ruhig mal die Manual-Pages zu "diff" und "patch" an; braucht man immer mal...


man patch
man diff


Grüße
Peter

le66ck

1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

Patrick

Hallo,

ich habe das Modul 58_GPIO4.pm jetzt auch aktualisiert, seitdem bekomme ich jetzt immer folgende Meldungen auf der Shell des RPI:

Use of uninitialized value $model in concatenation (.) or string at /usr/share/fhem/FHEM/58_GPIO4.pm line 113.
Use of uninitialized value $id in concatenation (.) or string at /usr/share/fhem/FHEM/58_GPIO4.pm line 113.
Use of uninitialized value $model in concatenation (.) or string at /usr/share/fhem/FHEM/58_GPIO4.pm line 114.
Use of uninitialized value $id in concatenation (.) or string at /usr/share/fhem/FHEM/58_GPIO4.pm line 114.

Was kann ich hier tun?

fladdy

Ist Dein Fhem insgesamt auf dem neusten Stand?