OWServer erkennt keine Devices am I2C Bus

Begonnen von newby, 18 Juni 2015, 11:27:03

Vorheriges Thema - Nächstes Thema

newby

Hallo,
ich habe am I2C Bus des Raspi B+ das Interface DS2482-100 mit DS18B20 hängen.
Das Interface wir über i2cdetect auch erkannt.
Über den owhttpd kann ich auch den DS18B20 finden.
Leider bekomme ich aber keine Devices in Fhem angezeigt.
Der OWserver ist Initialized.
Über get myOWServer devices  bekomme ich eine leere Box angezeigt.
Bei manuelle angelegten Devices bekomme ich folgende Readings.
alarm        0                                2015-06-18 11:20:47
state        temperature: n/a alarm: 0        2015-06-18 11:18:47


Last Read Failed steht auf Null

Logfile bringt folgende Meldung
2015.06.18 11:23:36 3: I2CModulTemp2: reading temperature did not return a value
2015.06.18 11:23:47 3: I2CModulTemp: reading temperature did not return a value


wasfehlt noch bzw. was muss ich noch machen damit die Temperatur angeziegt wird und ich weitere Devices (DS2450) integriert bekomme?

Gruß
Sven

eldrik

Hi,

owfs.conf

entsprechend angepasst?

Welche Inhalte hat diese Datei?

Wird der owserver auf dem Raspi auch mit der owfs.conf gestartet?

Greetz
Eldrik

newby

Hi,
die owfs.conf hat diesen Inhalt:

# 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
#
####################### OWHTTPD #########################

http: port = 2121

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

ftp: port = 2120

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

server: port = 192.168.2.17:4304
server: port = localhost:4304
server: port = raspi:4304
server: device = /dev/i2c-1 # i2c port: DS2482-100
Celsius



Wie sehe ich denn ob der server damit gestartet wurde? :-[

Gruß
Sven

eldrik

Hi,

unterschiede zu meiner owfs.conf und funktionierender i2c Anbindung

Auskommentiert:

! server: server....

Definition von

server: device = /dev/i2c-1 # i2c port: DS2482-100

vor den

server: port = 192.168.2.17:4304
server: port = localhost:4304
server: port = raspi:4304


Einträgen, wobei ich aber auch nur einen Eintrag für die IP Adresse definiert habe!

Ob der owserver mit der owfs.conf Datei gestartet wurde, siehst du unter anderem am laufenden Prozess gib einmal auf der Konsole folgendes ein:

ps aux | grep owserver

Das Ergebnis sollte einen ähnlichen String beeinhalten:

/usr/bin/owserver -c /etc/owfs.conf --pid-file /var/run/owfs/owserver.pid

Greetz
Eldrik

newby

Hi,
also ps aux | grep owserver
bringt folgendes:
root      2309 98.2  0.6  44840  2908 ?        Rsl  07:48 280:45 /usr/bin/owserv                              er -c /etc/owfs.conf --pid-file /var/run/owfs/owserver.pid
pi        4532  0.0  0.4   3552  1836 pts/1    S+   12:33   0:00 grep --color=au                              to owserver

owfs.conf sieht jetzt so aus# 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
#
####################### OWHTTPD #########################

http: port = 2121

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

ftp: port = 2120

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

server: device = /dev/i2c-1 # i2c port: DS2482-100
server: port = 192.168.2.17:4304
Celsius



restart owserver und fhem aber trotzdem keine devices.
Logfile bringt nach dem Neustart diese Einträge:
2015.06.18 12:39:30 1: usb create starting
2015.06.18 12:39:33 3: Probing CUL device /dev/ttyAMA0
2015.06.18 12:39:34 3: Can't open /dev/ttyAMA0: Permission denied
2015.06.18 12:39:34 1: usb create end
2015.06.18 12:39:34 3: myOWServer: Opening connection to OWServer 192.168.2.17:4304...
2015.06.18 12:39:34 3: myOWServer: Successfully connected to 192.168.2.17:4304.
2015.06.18 12:39:34 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 384.
2015.06.18 12:39:34 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 355.
2015.06.18 12:39:34 1: PERL WARNING: Use of uninitialized value $ret in chomp at ./FHEM/10_OWServer.pm line 283.
2015.06.18 12:39:34 3: I2CModulTemp: reading type did not return a value
2015.06.18 12:39:34 3: I2CModulTemp2: reading type did not return a value
2015.06.18 12:39:34 0: Server started with 32 defined entities (version $Id: fhem.pl 8690 2015-06-04 16:47:20Z rudolfkoenig $, os linux, user fhem, pid 4637)
2015.06.18 12:39:34 1: FHEMWEB SSL/HTTPS error:
2015.06.18 12:39:47 3: I2CModulTemp2: reading temperature did not return a value
2015.06.18 12:39:51 3: I2CModulTemp: reading temperature did not return a value
2015.06.18 12:40:16 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 453.
2015.06.18 12:40:16 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/01_FHEMWEB.pm line 826.
2015.06.18 12:40:47 3: I2CModulTemp2: reading temperature did not return a value
2015.06.18 12:40:51 3: I2CModulTemp: reading temperature did not return a value



Gruß
Sven

eldrik

Hi,

lösche nach den nun vollzogenen Änderungen einmal die manuell angelegten OWDevice Geräte und setze in deiner fhem OWServer Instanz ein set deinowserver reopen  + get deinowserver devices ab.

Weitere Möglichkeit, laufen noch weitere ow* Prozesse auf deinem raspberry, die das i2c Device belegen könnten z.B. owhttpd

Greetz
Eldrik

newby

Hi,

Zitatlösche nach den nun vollzogenen Änderungen einmal die manuell angelegten OWDevice Geräte und setze in deiner fhem OWServer Instanz ein
Code: [Auswählen]

set deinowserver reopen

  +
Code: [Auswählen]

get deinowserver devices

ab.

erledigt.
Kein Device

owhttpd , owftpd gestoppt, diese liefen noch.

Fhem neustart. Immer noch kein Device  :'(

Gruß
Sven

eldrik

Hi,

welche Version haben die owfs Komponenten auf deinem Raspberry? Mit Versionen >= 2.9 scheint es unter Umständen zu Problemen zu kommen.

Mehr Möglichkeiten fallen mir zur Zeit nicht ein, da der Zugriff auf die DS18B20 via owhttpd ja funktionstüchtig zu sein scheint.

Greetz
Eldrik

smurfix

Zitat von: eldrik am 18 Juni 2015, 15:16:38
Mehr Möglichkeiten fallen mir zur Zeit nicht ein, da der Zugriff auf die DS18B20 via owhttpd ja funktionstüchtig zu sein scheint.
Eben. Das stand schon im ersten Beitrag. Insofern, Leute, war das mit der owfs.conf und der Frage, ob der Server läuft, irgendwie nicht wirklich zielführend.
Auch am owfs-TCP-Protokoll hat sich seit Jahren nichts geändert.

Weit interessanter wäre die fhem.cfg, bzw. die für owfs relevanten Einträge darin.

newby

Hi,
also installiert habe ich owfs über
apt-get  install owfs

Wie kann ich die Version denn auslesen?

Die fhem.cfg
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\

attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create



##################################################################
#######  ————– OWServer ————–
define myOWServer OWServer 192.168.2.17:4304
attr myOWServer nonblocking 1


##################################################################
######
#  ————– GPIO ————–
define RPi GPIO4 BUSMASTER

define DS18B20_BC643B050000 OWDevice 28.BC643B050000 60
attr DS18B20_BC643B050000 IODev myOWServer
attr DS18B20_BC643B050000 model DS18B20
attr DS18B20_BC643B050000 room OWDevice


geändert habe ich nachdem ich auf diesen Thread  http://forum.fhem.de/index.php?topic=12273.0 gestoßen bin,
Zitatbei mir var es die Zeile
server: port = localhost:4304

Sie muss lauten
server: port = 4304
Wie man an der fhem.cfg sieht ist jetzt ein device gefunden worden. ;D ;D ;D


Werde das ganz jetzt weiter testen und dann berichten ob alles geht.
Wenn jemand was an der fhem.cfg auszusetzen hat bitte melden.

Dank und Gruß
Sven





eldrik

#10
Zitat von: smurfix am 18 Juni 2015, 15:27:11
Eben. Das stand schon im ersten Beitrag. Insofern, Leute, war das mit der owfs.conf und der Frage, ob der Server läuft, irgendwie nicht wirklich zielführend.
Auch am owfs-TCP-Protokoll hat sich seit Jahren nichts geändert.

Weit interessanter wäre die fhem.cfg, bzw. die für owfs relevanten Einträge darin.

und owhttpd hat genau wieviel mit den owserver Einträgen in der conf gemein? ja genau die Definition für das i2c Device der Punkt, dass hier alles korrekt eingerichtet zu sein scheint war seit dem ersten Beitrag unstrittig... ::)

newby

#11
Hi,
habe seit gestern nun ohne Probleme den integrierten DS18B20 auf dem I2C Modul laufen nachdem der Eintrag
server: port = localhost:4304
in
server: port = 4304
geändert wurde.


Der HTTP Server startete allerdings nicht mehr, was nachdem ich die Zeile
! server: server....
wieder rein genommen habe änderte.

Jetzt folgen weitere Tests mit den Umweltsensoren von Tobias.

Vielen Dank für Eure Hilfe

Gruß
Sven

ak323

Danke, Sven, der Tip hat mir jetzt auch geholfen !
Fragt sich warum ... aber es geht so wie Du beschrieben hast .. !

VG ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...