Nach Umzug auf neuen Pi 2 keine Daten mehr von den 1-wire Sensoren in fhem

Begonnen von MichaelO, 12 Februar 2016, 09:25:19

Vorheriges Thema - Nächstes Thema

MichaelO

Moin,

habe heute mein fhem von einem Pi B+ (noch wheezy) auf einen neuen Pi 2 (mit jessie) umgezogen. Dazu habe ich alles neu installiert, einschl. fhem, dann das "alte" fhem aus einem gerade erstellten Backup auf dem neuen Pi 2 entpackt, Rechte gesetzt und anschließend ein fhem-Update gemacht. Soweit hat alles funktioniert, das System läuft, bis auf die Anbindung meiner 1-wire Sensoren.

Ich habe den owserver installiert und sehe im Terminal per owdir alle Sensoren. Ich kann auch mit z.B.

owread /28.A5761F060000/temperature; echo

die aktuelle Temperatur am Sensor auslesen. Das scheint zu funktionieren. Auch der OWServer läuft und zeigt alles korrekt an Port 2121. Nun liefert das Log von fhem für die Sensoren Fehlermeldungen, bei denen ich nicht weiß, wie ich die Ursache beheben soll. Ebenso tauchen zwei PERL WARNING auf, wobei ich nicht sagen kann, ob die schon immer da waren.

2016.02.12 09:10:57 3: myOWServer: Opening connection to OWServer localhost:4304...
2016.02.12 09:10:57 3: myOWServer: Successfully connected to localhost:4304.
2016.02.12 09:10:57 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 384.
2016.02.12 09:10:57 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 355.
2016.02.12 09:10:57 5: OWServer child ID for reading '/26.FE23B9010000/type' is 1129
2016.02.12 09:10:57 5: OWServer child read /26.FE23B9010000/type: <undefined>
2016.02.12 09:10:57 1: PERL WARNING: Use of uninitialized value $ret in chomp at ./FHEM/10_OWServer.pm line 283.
2016.02.12 09:10:57 3: AU_Sonnensensor: reading type did not return a value
2016.02.12 09:10:57 5: OWServer child ID for reading '/1D.F91610000000/type' is 1130
2016.02.12 09:10:57 5: OWServer child read /1D.F91610000000/type: <undefined>
2016.02.12 09:10:57 3: DB_OWCounter: reading type did not return a value
2016.02.12 09:10:57 5: OWServer child ID for reading '/28.A5761F060000/type' is 1131
2016.02.12 09:10:57 5: OWServer child read /28.A5761F060000/type: <undefined>
2016.02.12 09:10:57 3: DB_TempSensor: reading type did not return a value
2016.02.12 09:10:57 5: OWServer child ID for reading '/28.4AE820060000/type' is 1132
2016.02.12 09:10:57 5: OWServer child read /28.4AE820060000/type: <undefined>
2016.02.12 09:10:57 3: WS_TempSensor: reading type did not return a value
2016.02.12 09:10:57 0: Featurelevel: 5.7
2016.02.12 09:10:57 0: Server started with 164 defined entities (fhem.pl:10769/2016-02-08 perl:5.020002 os:linux user:fhem pid:1128)
2016.02.12 09:10:57 5: OWServer child ID for reading '/28.A5761F060000/temperature' is 1133
2016.02.12 09:10:57 5: OWServer child read /28.A5761F060000/temperature: <undefined>
2016.02.12 09:10:57 3: DB_TempSensor: reading temperature did not return a value


Kann mir jemand helfen, die Sensoren wieder ans Laufen zu bekommen?

Danke
Michael

fiedel

FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

MichaelO

Verdammt, das hatte ich nicht gesehen. Leider sind meine Linuxkenntnisse nicht so ausgeprägt, als dass ich den Downgrade alleine hin bekomme.

Ich habe die im Thread angegebenen Dateien heruntergeladen, per SFTP ins temp-Verzeichnis kopiert, den owserver gestoppt und dann nacheinander mit

sudo dpkg -i /tmp/libow-2.8-15_2.8p15-1_armhf.deb

etc. die Dateien installiert. Danach habe ich einen reboot des Pi gemacht. Jetzt liefert

sudo owfs -V

aber immer noch 2.9p8.

Kannst Du mir vielleicht kurz beschreiben, wie ich die 2.9p8 los werde? Ich dachte, die Installation überschreibt (und ersetzt) den Kram.

Danke
Michael

fiedel

Hm, ggf. erst probieren per "apt get remove ..." zu deinst. Oder per "dpkg -r ..." Hinweis dazu:
Zitat-r    --remove    Entfernt das als Argument übergebene genannte Paket. Wichtig: Der Name des Pakets, nicht der Dateiname muss angegeben werden. Eventuell vom Programm angelegte Konfigurationsdateien bleiben erhalten.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

MichaelO

Danke für den Hinweis. Ich habe es mit "sudo apt-get remove owfs ow-shell"  fast hinbekommen. Es kam die Fehlermeldung

Paket »ow-shell« ist nicht installiert, wird also auch nicht entfernt.
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libow-2.9-8 owfs-common owfs-fuse owftpd owhttpd owserver
Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
Die folgenden Pakete werden ENTFERNT:
  owfs
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 3 nicht aktualisiert.
Nach dieser Operation werden 39,9 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] j
(Lese Datenbank ... 133796 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von owfs (2.8p15-1) ...


Dann neu gestartet und nochmal "sudo apt-get remote owfs"

...
Paket »owfs« ist nicht installiert, wird also auch nicht entfernt.
Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
  libow-2.9-8 owfs-common owfs-fuse owftpd owhttpd owserver
Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 3 nicht aktualisiert.


Zumindest stand da schonmal was von der 2.9-8... also "sudo apt-get autoremove"

...
Die folgenden Pakete werden ENTFERNT:
  libow-2.9-8 owfs-common owfs-fuse owftpd owhttpd owserver
0 aktualisiert, 0 neu installiert, 6 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 1.047 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] j
(Lese Datenbank ... 133792 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von owserver (2.8p15-1) ...
Entfernen von owhttpd (2.8p15-1) ...
Entfernen von owftpd (2.8p15-1) ...
Entfernen von owfs-fuse (2.9p8-6) ...
Entfernen von libow-2.9-8:armhf (2.9p8-6) ...
Entfernen von owfs-common (2.9p8-6) ...
Trigger für man-db (2.7.0.2-5) werden verarbeitet ...
Trigger für libc-bin (2.19-18+deb8u2) werden verarbeitet ...


Wieder Neustart und "sudo owfs -V" findet nix mehr.

Dann die Pakete aus dem anderen Thread manuell installiert, allerdings mussten weitere hinzu, da da wohl Abhängigkeiten sind und auch die Reihenfolge wichtig ist.
- libow-2.8-15_2.8p15-1_armhf.deb
- owfs-common_2.8p15-1_all.deb
- owfs-fuse_2.8p15-1_armhf.deb
- owserver_2.8p15-1_armhf.deb
- owhttpd_2.8p15-1_armhf.deb
- owftpd_2.8p15-1_armhf.deb
- owfs_2.8p15-1_all.deb
- ow-shell_2.8p15-1_armhf.deb

Die ow-shell habe ich auch installiert und "owdir" zeigt wieder alle Sensoren. Ich habe die "owfs.conf" geprüft, die passt. Neustart.

Jetzt liefert "sudo owfs -V"

/usr/lib/owfs/owfs version:
2.8p15
libow version:
2.8p15


Aber fhem schmeißt nach Neustart immer noch die Meldungen und keine Werte werden angezeigt

2016.02.12 14:14:30 3: myOWServer: Successfully connected to localhost:4304.
2016.02.12 14:14:30 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 384.
2016.02.12 14:14:30 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 355.
2016.02.12 14:14:30 5: OWServer child ID for reading '/26.FE23B9010000/type' is 727
2016.02.12 14:14:30 5: OWServer child read /26.FE23B9010000/type: <undefined>
2016.02.12 14:14:30 1: PERL WARNING: Use of uninitialized value $ret in chomp at ./FHEM/10_OWServer.pm line 283.
2016.02.12 14:14:30 3: AU_Sonnensensor: reading type did not return a value
2016.02.12 14:14:30 5: OWServer child ID for reading '/1D.F91610000000/type' is 728
2016.02.12 14:14:30 5: OWServer child read /1D.F91610000000/type: <undefined>
2016.02.12 14:14:30 3: DB_OWCounter: reading type did not return a value
2016.02.12 14:14:30 5: OWServer child ID for reading '/28.A5761F060000/type' is 729
2016.02.12 14:14:30 5: OWServer child read /28.A5761F060000/type: <undefined>
2016.02.12 14:14:30 3: DB_TempSensor: reading type did not return a value
2016.02.12 14:14:30 5: OWServer child ID for reading '/28.4AE820060000/type' is 730
2016.02.12 14:14:30 5: OWServer child read /28.4AE820060000/type: <undefined>
2016.02.12 14:14:30 3: WS_TempSensor: reading type did not return a value
2016.02.12 14:14:30 0: Featurelevel: 5.7
2016.02.12 14:14:30 0: Server started with 164 defined entities (fhem.pl:10769/2016-02-08 perl:5.020002 os:linux user:fhem pid:577)
2016.02.12 14:14:31 5: OWServer child ID for reading '/28.A5761F060000/temperature' is 731
2016.02.12 14:14:31 5: OWServer child read /28.A5761F060000/temperature: <undefined>
2016.02.12 14:14:31 3: DB_TempSensor: reading temperature did not return a value


Ich verzweifle gerade... dachte - dass 1-wire so unkompliziert und stabil funktioniert, aber das scheint ja - zumindest unter jessie - nicht so. Ggf. baue ich gleich den Pi B+ wieder an. Ich wäre trotzdem über jede Hilfe dankbar.

Gruß
Michael

P.S.: habe es temporär erst einmal so gelöst, dass ich auf dem alten pi unter wheezy den owserver laufen habe, und auf dem neuen pi unter jessie das device nicht mit localhost sondern der ip des alten pi definiert habe. Nach Eintrag der entspr. Zeile in die conf-Datei bekomme ich jetzt zumindest die Werte. Ist zwar erst einmal eine Krücke, aber was Anderes fiel mir nicht mehr ein.

ThomasW

Hallo Michael,

dieses wird dir zwar nicht gross weiter Helfen,
aber bei mir läuft auf dem RPi-B Jessy und der OWFS-Server 3.1p0 einwandfrei.
Auch sind die Daten in FHEM vorhanden. Braucht zwar viel an Resourcen.

Bin so vorgegangen:
1. Raspian installiert und upgedated.
2. I2C- Treiber installiert und konfiguriert  - für meine 1Wire Karte
3. OWFS installiert
4. FHEM installiert und upgedated.

und es läuft.

Gruß Thomas

PS: meine OWFS Dateien liegen unter /usr/src/owfs-3.1p0
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

fiedel

Sieh dir auch noch mal die Berechtigungen an und ob Benutzer "fhem" in die sudoers eingetragen und Mitglied der erforderlichen Gruppen ist. Ich glaube mittlerweile auch nicht mehr, dass es an der Version liegt. Das Problem gab es ja nur mit den Ausgängen - Temp.- Sensoren konnten gelesen werden.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

FEHMPiDi

Hallo,

ich habe vor einigen Tagen meinen RasPi Rev B durch einen RaspPi3 getauscht.
Ich habe heute festgestellt das ich vom OWserver keine Daten mehr meiner 1-wire Sensoren bekomme.
Wenn ich den OWServer direkt per Localhost:2121 anspreche sehe ich aber die aktuellen Tempdaten.
Also genau das gleiche Problem was MichaelO beschreibt.
MichaelO, konnte das Problem bei Dir denn jetzt gelöst werden, bzw. gibt es inzwischen neue Erkenntnisse.
Der User fhem ist bei mir in der Gruppe i2c eingetragen. An den Berechtigungen sollte es also nicht liegen, oder?

Ich bekomme beim Start auch folgende Fehlermeldungen:

2016.07.12 11:15:53.859 3: myOWServer: Opening connection to OWServer localhost:4304...
2016.07.12 11:15:53.860 3: myOWServer: Successfully connected to localhost:4304.
2016.07.12 11:15:53.881 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 357.
2016.07.12 11:15:53.889 1: PERL WARNING: Use of uninitialized value $ret in chomp at ./FHEM/10_OWServer.pm line 285.
2016.07.12 11:15:53.901 3: Temp_Badezimmer: reading type did not return a value
2016.07.12 11:15:53.911 3: Temp_Buero: reading type did not return a value
2016.07.12 11:15:53.922 3: Temp_Gaeste_WC: reading type did not return a value
2016.07.12 11:15:53.932 3: Temp_Kinderzimmer: reading type did not return a value
2016.07.12 11:15:53.943 3: Temp_Kueche: reading type did not return a value
2016.07.12 11:15:53.954 3: Temp_Schlafzimmer: reading type did not return a value
2016.07.12 11:15:53.965 3: Temp_Wohnzimmer: reading type did not return a value


Danke
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

fiedel

Probier mal in der owfs.conf die Zeile:
! server: server = localhost:4304
entweder genau so zu schreiben, oder statt localhost 127.0.0.1.

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

FEHMPiDi

Hallo,

vielen Dank für die schnelle Antwort.
Ich hatte anscheinend eine Überdefinition im owfs.conf.
Bei mir war es so:
# Sample configuration file for the OWFS suite for Debian GNU/Linux.
#
#
# This is the main OWFS configuration file. You should read the
# owfs.conf(5) manual page in order to understand the options listed
# here.

######################## SOURCES ########################
#
# With this setup, any client (but owserver) uses owserver on the
# local machine...
! server: server = localhost:4304
#
# ...and owserver uses the real hardware, by default fake devices
# This part must be changed on real installation
# server: FAKE = DS18S20,DS2405
#
# USB device: DS9490
# server: usb = all
#
# Serial port: DS9097
# server: device = /dev/ttyS1
#
# owserver tcp address
# server: server = 192.168.10.1:3131
#
# random simulated device
# server: FAKE = DS18S20,DS2405
#
######################### OWFS ##########################
#
#mountpoint = /mnt/1wire
#allow_other
server: device = /dev/i2c-1
#
####################### OWHTTPD #########################

http: port = 2121

####################### OWFTPD ##########################

ftp: port = 2120

####################### OWSERVER ########################

server: port = localhost:4304



Habe nun die letzte Zeile auskommentiert und nun geht es.

####################### OWSERVER ########################

#server: port = localhost:4304


Vielen Dank
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

dieter114

Hallo FhemPiDi

läuft denn dein Pi3 nun auf wheezy oder jessie?
Ich will mir auch einen Pi3 zulegen aber die 1-Wire Sachen müssen laufen.
RPi II+III+V,OWX,div.1W Module,HM Zisterne,div. CUL, sduino MAPLESDuino(adv), div ESPEasy, div Tasmota, MQTT2Server,WU-Upload,TabletUI,Poolsteuerung mit fhem, Fronius, BYD Solaranlage