gelöst - 1Wire (OWSERVER) einbinden

Begonnen von Mr-Bean, 09 Juni 2014, 09:06:18

Vorheriges Thema - Nächstes Thema

Mr-Bean

Bei Zugriff über Port 8083 und Befehl ,,get 1wire devices" erhalte ich auf dem ssh Terminalfenster die Meldung ,,Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 425."

Das ist mein erster Versuch FHEM und 1Wire zu verbinden.

Hier meine Konfig
Debian 7.5.0 minimal Installation
Pakete owfs ow-shell sind installiert. Der WEB Zugriff auf Port 2121 zeigt mir meine zwei 1Wire Sensoren an (DS2438 mit HIH5030)

Für die Installation von FHEM habe ich noch diese beiden Pakete installiert - ,,apt-get install libdevice-serialport-perl libwww-perl"
Danach noch ,,dpkg --install fhem-5.5.deb"
FHEM Software noch per ,,update" aktualisiert.
In der fhem.cfg habe ich nur eine Zeile aufgenommen ,,define 1wire OWServer localhost:4304". Nach einem Neustart sehe ich auch ,,1wire Initialized".

Hat jemand einen Tipp für mich?


Mr-Bean

Die dummy Einträge habe ich nicht drinne. Auf dem Web Server von 1wire sehe ich ja meine beiden DS2438

fiedel

So wie du es beschreibst, sollte es eigentlich gehen. Probiere sicherheitshalber noch ein "update force"!

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

Mr-Bean

#4
leider auch ohne Erfolg

In der /opt/fhem/log/fhem-2014-06.log sehe ich folgendes

2014.06.09 12:02:57 1: Including fhem.cfg
2014.06.09 12:02:57 3: WEB: port 8083 opened
2014.06.09 12:02:57 2: eventTypes: loaded 7 events from ./log/eventTypes.txt
2014.06.09 12:02:57 1: Including ./log/fhem.save
2014.06.09 12:02:57 3: 1wire: Opening connection to OWServer localhost:4304...
2014.06.09 12:02:57 3: 1wire: Successfully connected to localhost:4304.

Eine Verbindung scheint aufgebaut worden sein. Nur erhalte ich bei get 1wire devices keinerlei Rückmeldung

Liegt es vielleicht an der Version von owfs? Debian hat meistens ältere Pakete im Repository
# apt-cache show owserver
Package: owserver
Source: owfs
Version: 2.8p15-1

fiedel

Hm, wenn du im owhttpd die Devices siehst, sollte es auch in FHEM gehen. Probiere es mal mit den Fake- Devices aus der owfs.conf. Wenn du die in FHEM listen kannst, bist du schon einen Schritt weiter.
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

chris1284

bekommst du den im owserver-device readings angezeigt? siehe screenshot?
sobald der owserver erfolgreich verbunden ist (also nicht nur laut log) sollten diese auftauchen

Mr-Bean

@fiedel
auch mit den fake devices die gleiche Geschichte

Nur will jetzt der owhttpd nicht mehr starten. Finde das das nicht wichtig ist. Mit owdir erhalte ich meine beiden DS2438 angezeigt. Heute Vormittag konnte ich in einer VM den :2121 starten

Mr-Bean

@chris
mehr sehe ich nicht. Siehe Bild

Was ist der Unterschied NR 23 zu 20?

Mr-Bean

Das Logging habe ich mal auf "attr global verbose 5" hochgeschraubt. Schaut mal bitte rein


2014.06.09 13:43:31 5: Cmd: >shutdown restart<
2014.06.09 13:43:31 5: Triggering global (1 changes)
2014.06.09 13:43:31 5: Notify loop for global SHUTDOWN
2014.06.09 13:43:31 0: Server shutdown
2014.06.09 13:43:34 5: Initializing Type Library:
2014.06.09 13:43:34 1: Including fhem.cfg
2014.06.09 13:43:34 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2014.06.09 13:43:34 5: Cmd: >attr global modpath .<
2014.06.09 13:43:34 5: Cmd: >attr global uniqueID ./FHEM/FhemUtils/uniqueID<
2014.06.09 13:43:34 5: Cmd: >attr global statefile ./log/fhem.save<
2014.06.09 13:43:34 5: Cmd: >attr global verbose 5<
2014.06.09 13:43:34 5: Cmd: >attr global updateInBackground<
2014.06.09 13:43:34 5: Cmd: >define WEB FHEMWEB 8083 global<
2014.06.09 13:43:34 5: Loading ./FHEM/01_FHEMWEB.pm
2014.06.09 13:43:34 3: WEB: port 8083 opened
2014.06.09 13:43:34 5: Cmd: >define Logfile FileLog ./log/fhem-%Y-%m.log fakelog<
2014.06.09 13:43:34 5: Loading ./FHEM/92_FileLog.pm
2014.06.09 13:43:34 5: Cmd: >define autocreate autocreate<
2014.06.09 13:43:34 5: Loading ./FHEM/98_autocreate.pm
2014.06.09 13:43:34 5: Cmd: >attr autocreate filelog ./log/%NAME-%Y.log<
2014.06.09 13:43:34 5: Cmd: >define eventTypes eventTypes ./log/eventTypes.txt<
2014.06.09 13:43:34 5: Loading ./FHEM/91_eventTypes.pm
2014.06.09 13:43:34 2: eventTypes: loaded 7 events from ./log/eventTypes.txt
2014.06.09 13:43:34 5: Cmd: >define initialUsbCheck notify global:INITIALIZED usb create<
2014.06.09 13:43:34 5: Loading ./FHEM/91_notify.pm
2014.06.09 13:43:34 5: Cmd: >define 1wire OWServer localhost:4304<
2014.06.09 13:43:34 5: Loading ./FHEM/10_OWServer.pm
2014.06.09 13:43:34 1: Including ./log/fhem.save
2014.06.09 13:43:34 5: Cmd: >setstate 1wire 2014-06-09 13:42:25 state Initialized<
2014.06.09 13:43:34 5: Cmd: >setstate Logfile active<
2014.06.09 13:43:34 5: Cmd: >setstate autocreate active<
2014.06.09 13:43:34 5: Cmd: >setstate eventTypes active<
2014.06.09 13:43:34 5: Cmd: >setstate global <no definition><
2014.06.09 13:43:34 5: Cmd: >setstate initialUsbCheck 2014-06-09 13:42:24<
2014.06.09 13:43:34 5: Triggering global (1 changes)
2014.06.09 13:43:34 5: Notify loop for global INITIALIZED
2014.06.09 13:43:34 5: Triggering initialUsbCheck
2014.06.09 13:43:34 4: initialUsbCheck exec usb create
2014.06.09 13:43:34 5: Cmd: >usb create<
2014.06.09 13:43:34 1: usb create starting
2014.06.09 13:43:35 1: usb create end
2014.06.09 13:43:35 3: 1wire: Opening connection to OWServer localhost:4304...
2014.06.09 13:43:35 3: 1wire: Successfully connected to localhost:4304.
2014.06.09 13:43:35 5: Triggering 1wire (1 changes)
2014.06.09 13:43:35 5: Notify loop for 1wire CONNECTED
2014.06.09 13:43:35 4: eventTypes: OWServer 1wire CONNECTED -> CONNECTED
2014.06.09 13:43:35 4: eventTypes: OWServer 1wire state: CONNECTED -> state: CONNECTED
2014.06.09 13:43:35 5: Triggering 1wire (1 changes)
2014.06.09 13:43:35 5: Notify loop for 1wire Initialized
2014.06.09 13:43:35 4: eventTypes: OWServer 1wire Initialized -> Initialized
2014.06.09 13:43:35 4: eventTypes: OWServer 1wire state: Initialized -> state: Initialized
2014.06.09 13:43:35 2: SecurityCheck:  WEB has no basicAuth attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2014.06.09 13:43:35 0: Server started with 7 defined entities (version $Id: fhem.pl 6080 2014-06-07 16:12:09Z rudolfkoenig $, os linux, user fhem, pid 18693)
2014.06.09 13:43:35 4: Connection accepted from FHEMWEB:10.10.10.104:57547
2014.06.09 13:43:35 4: HTTP FHEMWEB:10.10.10.104:57547 GET /fhem
2014.06.09 13:43:35 4: /fhem / RL:952 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57547 GET /fhem/pgm2/style.css
2014.06.09 13:43:36 4: Connection accepted from FHEMWEB:10.10.10.104:57548
2014.06.09 13:43:36 4: Connection accepted from FHEMWEB:10.10.10.104:57549
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57549 GET /fhem/pgm2/svg.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57548 GET /fhem/pgm2/fhemweb_multiple.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57547 GET /fhem/pgm2/fhemweb_readingsHistory.js
2014.06.09 13:43:36 4: Connection accepted from FHEMWEB:10.10.10.104:57550
2014.06.09 13:43:36 4: Connection accepted from FHEMWEB:10.10.10.104:57551
2014.06.09 13:43:36 4: Connection accepted from FHEMWEB:10.10.10.104:57552
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57550 GET /fhem/pgm2/fhemweb_colorpicker.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57551 GET /fhem/pgm2/fhemweb_noArg.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57552 GET /fhem/pgm2/fhemweb.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57549 GET /fhem/pgm2/fhemweb_slider.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57547 GET /fhem/pgm2/fhemweb_svg.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57548 GET /fhem/pgm2/fhemweb_textField.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57550 GET /fhem/pgm2/fhemweb_time.js
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57551 GET /fhem/pgm2/defaultCommon.css
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57547 GET /fhem/pgm2/dashboard_style.css
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57548 GET /fhem/images/default/icoEverything.png
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57547 GET /fhem/images/default/fhemicon.png
2014.06.09 13:43:36 4: HTTP FHEMWEB:10.10.10.104:57547 GET /fhem?XHR=1&inform=type=status;filter=&timestamp=1402314216242
2014.06.09 13:44:30 4: Connection closed for FHEMWEB:10.10.10.104:57548
2014.06.09 13:44:30 4: Connection closed for FHEMWEB:10.10.10.104:57549
2014.06.09 13:44:30 4: Connection closed for FHEMWEB:10.10.10.104:57551
2014.06.09 13:44:31 4: Connection closed for FHEMWEB:10.10.10.104:57550
2014.06.09 13:44:31 4: Connection closed for FHEMWEB:10.10.10.104:57552

Mr-Bean

#10
Jetzt geht der httpd Dienst auch wieder. Kommt vom vielen Rumspielen.
Diesen Eintrag hatte ich in der owfs.conf auskommentiert: ! server: server = localhost:4304

Muss ich vielleicht einen anderen Sensor anschliessen? z.B. DS18B20
oder
ein aktuelles owfs Paket

Habe noch einen Server mit owfs am laufen. Diesen habe ich testweise in fhem eingebunden (localhost gegen 10.10.10.23 getauscht). Es werden ebenfalls keine Sensoren (DS18B20) angezeigt.

Hier noch meine fhem.cfg
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global uniqueID ./FHEM/FhemUtils/uniqueID
attr global statefile ./log/fhem.save
attr global verbose 5
attr global updateInBackground
attr global motd none

#define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global

#define WEBphone FHEMWEB 8084 global
#attr WEBphone stylesheetPrefix smallscreen

#define WEBtablet FHEMWEB 8085 global
#attr WEBtablet stylesheetPrefix touchpad

# 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

define 1wire OWServer 10.10.10.23:4304

fiedel

#11
Bei diesem Problem würde ich zuerst nur mit den Fakedevices probieren bis du Verbindung hast, bzw. die Devices in FHEM aufgelistet werden. Dann können echte dran. Das owfs- Paket, bzw. den owserver habe ich bei mir auf aktuellem Wheezy einfach per "apt-get install owserver" und "apt-get install owhttpd" installiert.
Vergleiche mal auch noch die owfs.conf mit meiner :


server: device = /dev/LinkUSBi
! server: server = localhost:4304

# random simulated device
# FAKE = DS18S20,DS2405

owfs: mountpoint = /mnt/1wire
#allow_other

# use syslog
error_print = 1

# server: port = 2125
server: port = 4304

http: port = 2121

# ftp: port = 3131
ftp: port = 2120

Celsius


Die CFG sieht auch gut aus. Es müsste gehen...
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

Mr-Bean

#12
Habe mir jetzt eine neue virtuelle Maschine (VM) erstellt. Dort habe ich wie bereits oben beschrieben Debain V7.5.0 installiert.

Hier meine Installationsparameter während der Installation
Expert install
Grundinstallation
linux-image-amd64
generisch: alle verfügbaren Treiber einbinden

Abschließend per ssh auf die VM geschaltet und folgendes eingetippt
apt-get -y install owfs ow-shell
apt-get install libdevice-serialport-perl libwww-perl
dpkg --install fhem-5.5.deb

owhttpd zeigt die fake 1wire Sensoren an

unter ip:8083 folgendes eingegeben
notice confirm update-20130127-001
update check
update
shutdown restart

in der fhem.cfg nur diese Zeile aufgenommen: define 1wire OWServer localhost:4304

Das wars - wieder keine devices beim "get ..." Befehl


Auf der Console erscheinen diese beiden Meldungen
Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 379.
Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 446.

Würde eher sagen, dass ein Linux Paket fehlt

In den Zeilen 379 & 446 steht dieses: my @dir= split(",", $owserver->dir("/"));


Weitere Tipps?

root@debian:~# cat /etc/owfs.conf
# 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 = localhost:4304

root@debian:~#

Mr-Bean

Jetzt habe ich Debian einmal komplett installiert. Sprich mit grafischer Oberfläche.

Auch hier zeigt sich der gleiche Fehler

fiedel

#14
Vergleiche mal die Version mit meiner:

root@debian:~# owserver --version
owserver version:
        2.8p15
libow version:
        2.8p15


Außerdem kann das an der VM liegen. Da sind Netzwerkmäßig die verschiedensten Schweinereien möglich...  ;)
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