OWServer definieren schlägt fehl

Begonnen von joomba, 17 Januar 2017, 21:25:27

Vorheriges Thema - Nächstes Thema

joomba

Hallo 1-Wire Freunde,

ich versuche seit längerem schon OWServer zu "installieren".

Mein erster Versuch war noch auf einem Raspberry Pi 2 auf dem auch andere Dienste laufen und ich Sachen ausprobiere. Vorgegangen bin ich wie im Wiki beschrieben (https://wiki.fhem.de/wiki/OWServer_%26_OWDevice). Bin aber nur bis zum Definieren in FHEM gekommen. Ich bekam immer eine Meldung, dass OWServer nicht geladen werden konnte: Cannot load module OWServer
Ich hatte es zunächst auf mein zugemülltes Testsystem zurückgeführt.

Mittlerweile habe ich einen Raspberry Pi 3 ausschließlich für FHEM aufgesetzt mit der Hilfe von Otto' Technik Blog (http://heinz-otto.blogspot.de/2016/09/fhem-in-wenigen-schritten.html). Vielen Dank an dieser Stelle.

Leider hat sich mein Problem damit nicht gelöst. Cannot load module OWServer

In  /etc/owfs.conf habe ich folgendes angelegt.
######################## 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
#
# COM to 1-Wire USB Adapter
server: device = /dev/ttyUSB_COMtoOneWireAdapter
#
######################### OWFS ##########################
#
mountpoint = /mnt/1wire
allow_other
#
####################### OWHTTPD #########################

http: port = 2121

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

ftp: port = 2120

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

server: port = localhost:4304


Ein Multisensor wird auch in FHEM als OWMULTI erkannt und ich kann die Temperatur und Luftfeuchte mit OWX auslesen. Ich wollte aber gerne OWServer ausprobieren.

Nach der erfolglosen Definition ist im Log folgendes zu lesen.
2017.01.17 20:41:49 1: reload: Error:Modul 10_OWServer deactivated:
Glob not terminated at FHEM/lib/OWNet.pm line 28.
Compilation failed in require at ./FHEM/10_OWServer.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/10_OWServer.pm line 34.

2017.01.17 20:41:49 0: Glob not terminated at FHEM/lib/OWNet.pm line 28.
Compilation failed in require at ./FHEM/10_OWServer.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/10_OWServer.pm line 34.


Was mache ich falsch?
Ich hatte bisher nichts im Forum gefunden was mir helfen würde. Falls ich etwas übersehen habe, wäre ich für einen Hinweis dankbar.

Gruss
joomba
Raspberry Pi 3 + COM to 1-Wire USB Adapter mit DS2480B Serial 1-Wire Line Driver (von locutus) + nanoCUL C1101 433MHz ATMEGA328P FT232RL FTDI Chipsatz + HM-LGW-O-TW-W-EU-2 Funk-LAN Gateway

ThomasW

Hallo Joomba,

meine /etc/owfs.conf sieht fast genau so aus, zum Vergleich

# 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
server: device = /dev/i2c-1 # i2c port: DS2482-100
server: port = localhost:4304 # Hier wird FHEM der OWServer intern zur Verfügun$
server: port = 192.168.178.104:4304 # Hier wird der OWServer für externe Anfrag$
Celsius
#
# 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
server: port = 192.168.178.104:4304 # Hier wird der OWServer für externe Anfrag$



ist dein OWServer überhaupt erreichbar?
Bei mir ist er unter
192.168.178.104:2121 zum Beispiel zum erreichen.
Und meldet sich wie im Anhang.
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

joomba

Hallo ThomasW,

das hätte ich natürich noch erwähnen können.
Unter http://<ipvomraspberrypi>:2121/ erreiche ich meinen Sensor den ich angeschlossen habe (siehe Anhang).

owfs scheint auch zu laufen. Ich weiß nicht genau wie man einen Dienst abfragt das er läuft, aber ein restart funktioniert.
sudo /etc/init.d/owfs restart
[ ok ] Restarting owfs (via systemctl): owfs.service.
Raspberry Pi 3 + COM to 1-Wire USB Adapter mit DS2480B Serial 1-Wire Line Driver (von locutus) + nanoCUL C1101 433MHz ATMEGA328P FT232RL FTDI Chipsatz + HM-LGW-O-TW-W-EU-2 Funk-LAN Gateway

ThomasW

Hallo Joomba,

das ist gut, dann läuft der Server schon mal.
Anschließend habe ich nur noch den Server mit

define myOWServer OWServer localhost:4304

in FHEM eingebunden.
Wenn Autocreate eingeschaltet ist, legt er sogar die Sensoren an.
Sollte hier trotzdem die Fehlermeldung kommen, weis ich momentan auch nicht weiter.

Ansonsten noch eine FHEM Update - Raspberry neu Starten - oder neue SD-Karte und alles neu aufsetzen.

Gruß Thomas
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

joomba

Hallo Thomas,

Zitat von: ThomasW am 19 Januar 2017, 05:49:41
Anschließend habe ich nur noch den Server mit

define myOWServer OWServer localhost:4304

in FHEM eingebunden.

genau das hatte ich dann auch gemacht. Nur dann kommt die beschriebene Fehlermeldung: "Cannot load module OWServer"
mit dem Log-Eintrag:
2017.01.17 20:41:49 1: reload: Error:Modul 10_OWServer deactivated:
Glob not terminated at FHEM/lib/OWNet.pm line 28.
Compilation failed in require at ./FHEM/10_OWServer.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/10_OWServer.pm line 34.

2017.01.17 20:41:49 0: Glob not terminated at FHEM/lib/OWNet.pm line 28.
Compilation failed in require at ./FHEM/10_OWServer.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/10_OWServer.pm line 34.


Ich habe es auch mit
define myOWServer OWServer <IPvomRaspberryPi>:4304

probiert, aber das gleiche Ergebnis bekommen.

Das Problem hatte ich, wie bereits beschrieben, schon auf meinem "Spielsystem" RasPi2 aber auch auf dem frisch aufgesetzten RasPi 3 auf dem ausschließlich FHEM läuft (installiert auf einer neuen SD Karte). Sowohl FHEM als auch Raspbian Jessie Lite wurden mehrfach neu gestartet und alle Updates installiert.
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoclean
sudo reboot


Vielen Dank für deine Hilfe. Somit kann ich wenigstens bei den Vorarbeiten zu owfs einen Haken machen. Ich hatte die Befürchtung das dort bereits etwas schief gelaufen war, sodass die Einbindung in FHEM deshalb nicht funktioniert.

Ich folgere jetzt daraus, dass es an meiner FHEM Installation liegt. Installiert hatte ich FHEM stable wie von Otto beschrieben:
wget https://debian.fhem.de/fhem.deb
dpkg -i fhem.deb

mit anschließendem update und restart von FHEM (zwischendurch schon mehrfach durchgeführt).

Mich wundert nur, dass ich auf zwei unabhängigen Systemen den gleichen Fehler bekomme und damit aber offensichtlich alleine bin. Irgendetwas mache ich demnach immer falsch/anders.

Gruss
joomba
Raspberry Pi 3 + COM to 1-Wire USB Adapter mit DS2480B Serial 1-Wire Line Driver (von locutus) + nanoCUL C1101 433MHz ATMEGA328P FT232RL FTDI Chipsatz + HM-LGW-O-TW-W-EU-2 Funk-LAN Gateway

Papaloewe

Zitatdefine myOWServer OWServer localhost:4304

Probier doch einfach mal mit der IP-Adresse, also:
Zitatdefine myOWServer OWServer <IP>:4304

joomba

Hallo Papaloewe,

vielen Dank für den Hinweis, aber wie ich bereits geschrieben hatte, hatte ich das auch schon versucht.

Zitat von: joomba am 19 Januar 2017, 08:53:33
Ich habe es auch mit
define myOWServer OWServer <IPvomRaspberryPi>:4304

probiert, aber das gleiche Ergebnis bekommen.

Gruss
joomba
Raspberry Pi 3 + COM to 1-Wire USB Adapter mit DS2480B Serial 1-Wire Line Driver (von locutus) + nanoCUL C1101 433MHz ATMEGA328P FT232RL FTDI Chipsatz + HM-LGW-O-TW-W-EU-2 Funk-LAN Gateway

Beta-User

Die Rechte passen?
Aus dem Wiki:
ZitatATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="DAE001nq", SUBSYSTEMS=="usb", ACTION=="add", MODE="0660", GROUP="plugdev", SYMLINK+="onewire"
User fhem muß zur Gruppe plugdev gehören (bzw. uU. dialout)

Gruß,
Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Dr. Boris Neubert

Hallo,

das

Zitat von: joomba am 19 Januar 2017, 08:53:33
2017.01.17 20:41:49 1: reload: Error:Modul 10_OWServer deactivated:
Glob not terminated at FHEM/lib/OWNet.pm line 28.
Compilation failed in require at ./FHEM/10_OWServer.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/10_OWServer.pm line 34.

2017.01.17 20:41:49 0: Glob not terminated at FHEM/lib/OWNet.pm line 28.
Compilation failed in require at ./FHEM/10_OWServer.pm line 34.
BEGIN failed--compilation aborted at ./FHEM/10_OWServer.pm line 34.


hat nichts mit Deiner Konfiguration zu tun sondern ist definitiv ein Problem mit OWNet.pm. Bitte lade Dir diese Datei nochmal frisch aus dem Repo herunter und versuche es erneut.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

joomba

Hallo,

Zitat von: Beta-User am 19 Januar 2017, 10:12:41
Die Rechte passen?
Aus dem Wiki:User fhem muß zur Gruppe plugdev gehören (bzw. uU. dialout)

Gruß,
Beta-User

Die Rechte waren tatsächlich nicht richtig gesetzt. Sollte mit meinen Änderungen jetzt hoffentlich passen.
$ ls -l /dev/
...
crw-rw---- 1 root dialout 188,   0 Jan 20 18:38 ttyUSB0
lrwxrwxrwx 1 root root           7 Jan 19 19:57 ttyUSB_COMtoOneWireAdapter -> ttyUSB0
...

$ groups fhem
fhem : dialout plugdev


Aber der OWServer konnte weiterhin nicht definiert werden.

Zitat von: Dr. Boris Neubert am 20 Januar 2017, 17:32:43
Hallo,

das

hat nichts mit Deiner Konfiguration zu tun sondern ist definitiv ein Problem mit OWNet.pm. Bitte lade Dir diese Datei nochmal frisch aus dem Repo herunter und versuche es erneut.

Viele Grüße
Boris

Das war der richtige Hinweis. Nachdem ich OWNet.pm ausgetauscht hatte konnte ich OWServer definieren!
Vielen Dank Boris!
Demnach ist die OWNet.pm im Debian Repository https://debian.fhem.de/fhem.deb fehlerhaft?!?
ls -l /opt/fhem/FHEM/lib/
...
-rw-r--r-- 1 fhem dialout  21370 Dec 29  2012 OWNet.pm
-rw-r--r-- 1 fhem dialout 138195 Jan  5 22:22 OWNet.pm.old
...


Damit ist mein eigentliches Problem gelöst!
Vielen Dank für Eure Hilfe!

So ganz rund läuft der OWServer aber noch nicht.
Ausgabe im fhem.log:
2017.01.20 21:04:37 3: myOWServer: Opening connection to OWServer localhost:4304...
2017.01.20 21:04:37 3: myOWServer: Successfully connected to localhost:4304.
2017.01.20 21:04:37 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 393.
2017.01.20 21:06:13 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 462.
2017.01.20 21:06:24 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at ./FHEM/10_OWServer.pm line 492.

OWServer ist "Initialized" aber ein
get myOWServer devices
gibt keine Ausgabe, obwohl OWMULTI meinen Sensor korrekt anzeigt. Im fhem.log steht folgendes nach erfolgloser Abfrage:
2017.01.20 21:35:00 1: PERL WARNING: Use of uninitialized value $value in concatenation (.) or string at ./FHEM/10_OWServer.pm line 492.

Gruss
joomba
Raspberry Pi 3 + COM to 1-Wire USB Adapter mit DS2480B Serial 1-Wire Line Driver (von locutus) + nanoCUL C1101 433MHz ATMEGA328P FT232RL FTDI Chipsatz + HM-LGW-O-TW-W-EU-2 Funk-LAN Gateway