Moin,
ich hatte nun seit einigen Wochen erfolgreich DS1820 Sensoren über den OWServer in FHEM eingelesen.
Gestern habe ich mit meinem Raspberry ein apt upgrade durchgeführt und nun verbindet sich FHEM scheinbar nicht mehr mit dem OWServer.
Auf das Webinterface des OWServer auf Port 2121 kann ich zugreifen und sehe dort auch, dass die Temperaturen aktualisiert werden. Aber in FHEM kommen keine Temperaturen mehr an. Das Device steht auf Initialized.
Hier die Definition in FHEM:
defmod owServer OWServer localhost:4304
attr owServer room Heizungskeller,OWDevice
Und hier die /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/ttyDS1820
server: passive = /dev/ttyDS1820
#
# owserver tcp address
#server: server = 192.168.1.9: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
Echt merkwürdig, dass es seit dem Upgrade plötzlich nicht mehr geht. An FHEM habe ich nichts relevantes geändert ... Jemand eine Idee dazu?
Vielen Dank im Voraus!
Hi,
ich tippe auf ein Problem mit der Library. In der Commandref zu OWServer gibt es Hinweise auf den Einsatz der richtigen ow*-Pakete unter Debian.
Viele Grüße
Boris
Hallo Boris,
vielen Dank für den Hinweis! Ich nehme an, ich müsste jetzt die entsprechende ownet.pm in die FHEM/lib kopieren, wie Du es hier beschrieben hast:
https://forum.fhem.de/index.php?topic=85542.msg784834#msg784834 (https://forum.fhem.de/index.php?topic=85542.msg784834#msg784834)
Aber wie finde ich raus, welche Version ich brauche und wo kriege ich die her? Google wollte es mir bisher nicht sagen ... Außer, dass das Projekt wohl nach Github umgezogen ist:
https://github.com/owfs/owfs/blob/master/module/ownet/perl5/OWNet/lib/OWNet.pm (https://github.com/owfs/owfs/blob/master/module/ownet/perl5/OWNet/lib/OWNet.pm)
Aber da steht auch nichts von Version. ???
Nochmals danke!
Du könntest es mit dieser Version von OWNet.pm versuchen:
https://github.com/owfs/owfs/blob/master/module/ownet/perl5/OWNet/lib/OWNet.pm (https://github.com/owfs/owfs/blob/master/module/ownet/perl5/OWNet/lib/OWNet.pm)
Die ist seit 3 Jahren nicht mehr angepasst worden. Vielleicht läuft sie mit dem bei Dir installierten owserver. Welche Version hat denn das owserver-Paket in Deiner Raspbian-Installation?
Das war ja genau mein Problem, dass ich nicht wusste, wie ich die Version rauskriege ;D
Aber nun:
$ dpkg -l
ii ow-shell 3.2p4+dfsg1-4.1+b1 arm64 shell utilities to talk to an 1-Wire owserver
ii owfs 3.2p4+dfsg1-4.1 all Dallas 1-wire support
ii owfs-common 3.2p4+dfsg1-4.1 all common files used by any of the OWFS programs
ii owfs-fuse 3.2p4+dfsg1-4.1+b1 arm64 1-Wire filesystem
ii owftpd 3.2p4+dfsg1-4.1+b1 arm64 FTP daemon providing access to 1-Wire networks
ii owhttpd 3.2p4+dfsg1-4.1+b1 arm64 HTTP daemon providing access to 1-Wire networks
ii owserver 3.2p4+dfsg1-4.1+b1 arm64 Backend server for 1-Wire control
Also habe ich die OWNet.pm von Github nach /opt/fhem/FHEM/lib/OWNet-3.2p4.pm kopiert (und natürlich chown auf fhem:dialout).
Aber es funktioniert trotzdem nicht und in FHEM wird immer noch die alte Version 3.1p5 angezeigt:
Internals
DEF localhost:4304
FUUID 656115ec-f33f-6f7b-2c7c-046c2fb2ddd5957a
LAST_READ_FAILED 0
NAME owServer
NOTIFYDEV global
NR 684
NTFY_ORDER 50a-owServer
OWNET_VERSION 3.1p5
STATE Initialized
TYPE OWServer
eventCount 2
Übrigens steht im fhem.log bei einem set owServer reopen:
2024.01.13 20:23:36 3: owServer: Opening connection to OWServer localhost:4304...
2024.01.13 20:23:36 3: owServer: Successfully connected to localhost:4304.
::)
Die ist seit 3 Jahren nicht mehr angepasst worden.
Das hat mich auch irritiert. Ich habe meinen Rapsberry im November komplett neu mit Bookworm aufgesetzt und dann auch OWServer eingerichtet. Seitdem lief es. Und nun, bei einem Update nur 2 Monate später, geht nichts mehr.
Möglicherweise liegt die Wurzel des Problems aber auch ganz woanders (obwohl das für mich keinen Sinn ergibt):
Ich bin auf das Problem überhaupt erst aufmerksam geworden, weil ich gesehen habe, dass owserver beim Booten mehrere Versuche braucht, um zu starten. Im Moment läuft er sogar direkt nach einem Reboot erst mal gar nicht:
$ sudo service owserver status
× owserver.service - Backend server for 1-wire control
Loaded: loaded (/lib/systemd/system/owserver.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sat 2024-01-13 21:04:34 CET; 1min 7s ago
TriggeredBy: × owserver.socket
Docs: man:owserver(1)
Process: 646 ExecStart=/usr/bin/owserver --foreground -c /etc/owfs.conf (code=exited, status=1/FAILURE)
Main PID: 646 (code=exited, status=1/FAILURE)
CPU: 66ms
Jan 13 21:04:34 raspberryFHEM systemd[1]: owserver.service: Scheduled restart job, restart counter is at 5.
Jan 13 21:04:34 raspberryFHEM systemd[1]: Stopped owserver.service - Backend server for 1-wire control.
Jan 13 21:04:34 raspberryFHEM systemd[1]: owserver.service: Start request repeated too quickly.
Jan 13 21:04:34 raspberryFHEM systemd[1]: owserver.service: Failed with result 'exit-code'.
Jan 13 21:04:34 raspberryFHEM systemd[1]: Failed to start owserver.service - Backend server for 1-wire control.
Manuell lässt er sich dann aber starten:
$ sudo service owserver start
$ sudo service owserver status
● owserver.service - Backend server for 1-wire control
Loaded: loaded (/lib/systemd/system/owserver.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-01-13 21:09:06 CET; 4s ago
TriggeredBy: × owserver.socket
Docs: man:owserver(1)
Main PID: 1408 (owserver)
Tasks: 3 (limit: 765)
CPU: 52ms
CGroup: /system.slice/owserver.service
└─1408 /usr/bin/owserver --foreground -c /etc/owfs.conf
Jan 13 21:09:06 raspberryFHEM systemd[1]: Starting owserver.service - Backend server for 1-wire control...
Jan 13 21:09:06 raspberryFHEM systemd[1]: Started owserver.service - Backend server for 1-wire control.
Dasselbe gilt für owhttpd.
Warum starten owserver und owhttp nicht erfolgreich beim Booten, lassen sich aber manuell starten?
Und gibt es außer den beiden vielleicht noch einen weiteren Service, der laufen muss?
Nochmals danke!
Zitat von: efyzz am 13 Januar 2024, 21:32:43Übrigens steht im fhem.log bei einem set owServer reopen:
2024.01.13 20:23:36 3: owServer: Opening connection to OWServer localhost:4304...
2024.01.13 20:23:36 3: owServer: Successfully connected to localhost:4304.
Das ist erstmal gut. Außer owserver muss für FHEM nichts laufen. Ich bleibe mal bei dem FHEM-Problem.
Die heruntergeladenen OWNet.pm muss als OWNet-3.2p4.pm in den Ordner FHEM/lib (da wo die beiden anderen schon sind).
Die Versionsnummer dann im define angeben, Beispiel:
define myOWServer OWServer raspi:4304 3.2p4
3.2p4 ist geraten. Du kannst auch einen anderen String im Namen des OWNet-Moduls und im Define verwenden.
Interessant wäre dann noch der Teil des FHEM-Logs, der beim Laden des OWServer-Moduls geschrieben wird.
Eine weitere Fehlerquelle ist üblicherweise noch /etc/owfs.conf, die ziehmlich genauso aussehen soll wie in der Commandref. Wenn die aber nicht verändert wurde (prüfen! vielleicht versehentlich beim Update überschrieben) und es vor dem Update lief, scheidet diese Fehlerquelle aus.
Nabend,
ZitatDie heruntergeladenen OWNet.pm muss als OWNet-3.2p4.pm in den Ordner FHEM/lib (da wo die beiden anderen schon sind).
Genau so habe ich es gemacht:
$ ls -l /opt/fhem/FHEM/lib/
total 3316
-rw-r--r-- 1 fhem dialout 80291 Nov 15 2015 74_AMADautomagicFlows0.8.1.xml
-rw-r--r-- 1 fhem dialout 209958 Dec 12 2016 74_AMADautomagicFlowset_2.6.7.xml
-rw-r--r-- 1 fhem dialout 330219 Sep 15 2018 74_AMADautomagicFlowset_4.2.3.xml
-rw-r--r-- 1 fhem dialout 334539 Nov 12 2019 74_AMADautomagicFlowset_4.4.3.xml
-rw-r--r-- 1 fhem dialout 410988 Sep 15 2018 74_AMADtaskerset_4.2.3.prj.xml
-rw-r--r-- 1 fhem dialout 465967 Nov 12 2019 74_AMADtaskerset_4.4.3.prj.xml
drwxr-xr-x 2 fhem dialout 4096 Apr 16 2021 AttrTemplate
drwxr-xr-x 4 fhem dialout 4096 Dec 12 2016 Device
drwxr-xr-x 2 fhem dialout 4096 Nov 19 20:09 EnOcean
-rw-r--r-- 1 fhem dialout 9355 Sep 15 2018 EnO_ReCom_Device_Descr.xml
-rw-r--r-- 1 fhem dialout 45332 Dec 24 20:09 fhem_zwave_deviceconfig.xml.gz
-rw-r--r-- 1 fhem dialout 11604 Nov 15 2015 LiquidCrystal.pm
drwxr-xr-x 3 fhem dialout 4096 Dec 12 2016 MP3
drwxr-xr-x 3 fhem dialout 4096 Dec 12 2016 Net
-rw-r--r-- 1 fhem dialout 730362 Nov 19 21:16 openzwave_deviceconfig.xml.gz
-rw-r--r-- 1 fhem dialout 174240 Dec 24 20:09 openzwave_manufacturer_specific.xml
-rw-r--r-- 1 fhem dialout 21353 Sep 15 2018 OWNet-2.8p17.pm
-rw-r--r-- 1 fhem dialout 21474 Sep 15 2018 OWNet-3.1p5.pm
-rw-r--r-- 1 fhem dialout 21448 Jan 13 20:55 OWNet-3.2p4.pm
-rw-r--r-- 1 fhem dialout 21407 Nov 15 2015 OWNet.pm
-rw-r--r-- 1 fhem dialout 6413 Nov 15 2015 ProtoThreads.pm
-rw-r--r-- 1 fhem dialout 1162 Nov 15 2015 README.perl-firmata
-rw-r--r-- 1 fhem dialout 246073 Nov 19 21:16 SD_ProtocolData.pm
-rw-r--r-- 1 fhem dialout 80768 Nov 19 21:16 SD_Protocols.pm
-rw-r--r-- 1 fhem dialout 29754 Nov 19 21:16 SHC_packet_layout.xml
drwxr-xr-x 4 fhem dialout 4096 Dec 12 2016 SWAP
drwxr-xr-x 2 fhem dialout 4096 Sep 15 2018 UPnP
-rw-r--r-- 1 fhem dialout 39700 Apr 9 2023 zwave_alliancelinks.csv.gz
-rw-r--r-- 1 fhem dialout 22473 Sep 15 2018 zwave_pepperlinks.csv.gz
ZitatDie Versionsnummer dann im define angeben
Ach ja, na klar ... ::)
Geht aber trotzdem nicht, er nutzt scheinbar trotzdem noch 3.1p5:
Internals
DEF OWServer localhost:4304 3.2p4
FUUID 656115ec-f33f-6f7b-2c7c-046c2fb2ddd5957a
LAST_READ_FAILED 0
NAME owServer
NOTIFYDEV global
NR 684
NTFY_ORDER 50a-owServer
OWNET_VERSION 3.1p5
STATE Initialized
TYPE OWServer
eventCount 2
ZitatInteressant wäre dann noch der Teil des FHEM-Logs, der beim Laden des OWServer-Moduls geschrieben wird.
Habe mein Device owServer auf Verbose 5 gesetzt und FHEM neu gestartet:
2024.01.14 22:45:39 1: in INITIALIZED
2024.01.14 22:45:39 1: in DEFINED
2024.01.14 22:45:39 3: owServer: Opening connection to OWServer OWServer...
2024.01.14 22:45:39 3: owServer: Successfully connected to OWServer.
2024.01.14 22:45:39 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/10_OWServer.pm line 496.
2024.01.14 22:45:39 0: Featurelevel: 6.2
2024.01.14 22:45:39 0: Server started with 692 defined entities (fhem.pl:28227/2023-11-29 perl:5.036000 os:linux user:fhem pid:141656)
Sieht doch eigentlich ganz gut aus...?
ZitatEine weitere Fehlerquelle ist üblicherweise noch /etc/owfs.conf, die ziehmlich genauso aussehen soll wie in der Commandref
Sollte passen und wurde durch das Update nicht verändert:
# 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/ttyDS1820
server: passive = /dev/ttyDS1820
#
# owserver tcp address
#server: server = 192.168.1.9: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
Hallo,
ich bräuchte bitte noch den Teil des Logs, wo der define owServer OWServer localhost:4304 3.2p4
protokolliert wird. Da steht was von "Suggesting OWNet version ..." im Protokoll.
Viele Grüße
Boris
Hallo Boris,
gern:
2024.01.15 18:46:37 5: Cmd: >define owServer OWServer OWServer localhost:4304 3.2p4<
2024.01.15 18:46:37 5: Loading ./FHEM/10_OWServer.pm
2024.01.15 18:46:37 5: owServer: Suggesting OWNet version localhost:4304 3.2p4
2024.01.15 18:46:37 2: owServer: Suggested OWNet version localhost:4304 3.2p4 not available, falling back to default version 3.1p5
2024.01.15 18:46:37 5: owServer: Loading OWNet version 3.1p5...
2024.01.15 18:46:37 3: owServer: OWNet version 3.1p5 loaded.
2024.01.15 18:46:37 3: owServer: Opening connection to OWServer OWServer...
2024.01.15 18:46:37 3: owServer: Successfully connected to OWServer.
2024.01.15 18:46:37 2: owServer: Could not read owserver version, using OWNet version 3.1p5.
2024.01.15 18:46:37 5: Cmd: >setuuid owServer 656115ec-f33f-6f7b-2c7c-046c2fb2ddd5957a<
2024.01.15 18:46:37 5: Cmd: >attr owServer room Heizungskeller,OWDevice<
2024.01.15 18:46:37 5: Cmd: >attr owServer verbose 5<
Danke nochmal für Deine Zeit!
Auffallend:
2024.01.15 18:46:37 2: owServer: Suggested OWNet version localhost:4304 3.2p4 not available, falling back to default version 3.1p5
Was mir da gleich auffällt, welche Berechtigung hat denn eigentlich das "lib"-Verzeichnis?
ls -lhad /opt/fhem/FHEM/lib
Und zur Sicherheit: Liegt FHEM bei Dir wirklich unter /opt/fhem?
ZitatUnd zur Sicherheit: Liegt FHEM bei Dir wirklich unter /opt/fhem?
Ja.
$ ls -lhad /opt/fhem/FHEM/lib
drwxr-xr-x 9 fhem dialout 4.0K Jan 13 20:55 /opt/fhem/FHEM/lib
Ich habe spasseshalber mal die originale 3.1p5 nach 3.
2p5 kopiert, um sicherzustellen, dass die Datei von Github nicht defekt ist. Das Ergebnis ist dasselbe:
2024.01.15 21:23:31 5: owServer: Suggesting OWNet version localhost:4304 3.2p5
2024.01.15 21:23:31 2: owServer: Suggested OWNet version localhost:4304 3.2p5 not available, falling back to default version 3.1p5
Ich glaube, wir haben einen Fehler in Zeile 200 von 10_OWServer.pm:
my $filename= $attr{global}{modpath}."/FHEM/lib/OWNet-$v.pm";
Vermutlich geht es schneller, wenn Du es ausprobierst: entferne mal bitte /FHEM aus dem Pfad in Zeile 200, dann FHEM neu starten, und nochmal schauen, ob er OWNet-3.2p4 jetzt findet.
Hat leider nichts geändert, die Fehlermeldung ist wie gehabt.
2024.01.16 21:48:29 5: owServer: Suggesting OWNet version localhost:4304 3.2p4
2024.01.16 21:48:29 2: owServer: Suggested OWNet version localhost:4304 3.2p4 not available, falling back to default version 3.1p5
Ich habe jetzt auch nochmal die originale 3.1p5 mit der Version von Github überschrieben (und nach dem Test natürlich wieder rückgängig gemacht). Temperaturen sehe ich trotzdem nicht.
Also auch wenn es interessant ist, warum er die Datei nicht findet, mein Problem wird es wohl letztlich nicht lösen. Oder holt er sich die 3.1p5 womöglich ganz woanders her und nicht aus /opt/fhem/FHEM/lib?
Zitat von: efyzz am 13 Januar 2024, 21:32:43Ich bin auf das Problem überhaupt erst aufmerksam geworden, weil ich gesehen habe, dass owserver beim Booten mehrere Versuche braucht, um zu starten. Im Moment läuft er sogar direkt nach einem Reboot erst mal gar nicht:
$ sudo service owserver status
× owserver.service - Backend server for 1-wire control
Loaded: loaded (/lib/systemd/system/owserver.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Sat 2024-01-13 21:04:34 CET; 1min 7s ago
TriggeredBy: × owserver.socket
Docs: man:owserver(1)
Process: 646 ExecStart=/usr/bin/owserver --foreground -c /etc/owfs.conf (code=exited, status=1/FAILURE)
Main PID: 646 (code=exited, status=1/FAILURE)
CPU: 66ms
Jan 13 21:04:34 raspberryFHEM systemd[1]: owserver.service: Scheduled restart job, restart counter is at 5.
Jan 13 21:04:34 raspberryFHEM systemd[1]: Stopped owserver.service - Backend server for 1-wire control.
Jan 13 21:04:34 raspberryFHEM systemd[1]: owserver.service: Start request repeated too quickly.
Jan 13 21:04:34 raspberryFHEM systemd[1]: owserver.service: Failed with result 'exit-code'.
Jan 13 21:04:34 raspberryFHEM systemd[1]: Failed to start owserver.service - Backend server for 1-wire control.
Hier bin ich jetzt einen Schritt weiter. Ich habe eine udev rule definiert, die den Symlink "ttyDS1820" anlegt, damit immer das richtige USB-Gerät benutzt wird.
/etc/udev/rules.d/99-usb.rules
KERNELS=="1-1.5", SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="ttyHeizung"
KERNELS=="1-1.3", SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", SYMLINK+="ttyDS1820"
SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="ttyStromzaehler"
Offensichtlich kann OWserver "ttyDS1820" beim Booten nicht finden, da scheinbar die udev rule noch nicht abgearbeitet wurde. Wenn ich den OWserver stattdessen direkt auf "ttyUSB1" konfiguriere, startet er erfolgreich beim Booten.
Hat jemand eine Idee, wie man den OWserver Dienst erst starten kann, nachdem die udev rule abgearbeitet wurde?
Und warum ändert sich sowas plötzlich, nur weil man ein apt upgrade durchgeführt hat? ???
Hilft übrigens nicht bei dem FHEM-Problem weiter, das ist wie bereits vermutet eine andere Baustelle.
Hallo,
zu dem Problem mit dem OWServer in FHEM kann ich tatsächlich nur in der Theorie beitragen, weil ich seit Umzug keine 1-Wire-Geräte mehr betreibe.
Wenn Du die mitgelieferte OWNet-xxx.pm, die FHEM lädt, mit der neuesten überschrieben hast, und diese dann geladen wird, und es immer noch nicht geht, dass kann wohl die neueste OWNet.pm nicht helfen. Warum der Lademechanismus nicht funktioniert, kann ich hier "trocken" testen und das Modul anpassen, wenn erforderlich.
Als nächstes könntest Du es mit einen Downgrade des owserver-Pakets versuchen auf die in der Commandref als funktionierend gekennzeichnete Version. Ich weiß aber nicht, ob das alte Debian-Paket auf Deinem System installierbar ist.
Viele Grüße
Boris
Ich habe versucht, eine Teststellung aufzubauen und die ow*-Pakete unter Debian 11.8 Bullseye mit den Default-Einstellungen installiert. Leider bekomme ich noch nicht einmal den owhttp mit Fake-Devices ans Laufen. owserver läuft, aber die Ports sind nicht erreichbar. Werde erst einmal keine weitere Zeit darauf verwenden, außer jemand hat eine Lösung, wie man den owserver erreichbar machen kann.
Hallo Boris,
nochmal vielen Dank, dass Du Deine Zeit hier investierst!
ZitatWenn Du die mitgelieferte OWNet-xxx.pm, die FHEM lädt, mit der neuesten überschrieben hast, und diese dann geladen wird
Falls überhaupt irgendwas geladen wird ... Vielleicht kann er die 3.1p5 auch nicht laden?! Oder würde ich das auf jeden Fall im Log sehen (Verbose 5)?
ZitatAls nächstes könntest Du es mit einen Downgrade des owserver-Pakets versuchen auf die in der Commandref als funktionierend gekennzeichnete Version.
Ich beziehe mich mal hierauf, denn da steht ja in etwa dasselbe wie in der Commandref:
https://wiki.fhem.de/wiki/OWServer_%26_OWDevice#Installation_einer_abweichenden_Version_von_OWNet.pm (https://wiki.fhem.de/wiki/OWServer_%26_OWDevice#Installation_einer_abweichenden_Version_von_OWNet.pm)
owfs Pakete installieren -> Zweite Variante
Der Link zu "owfs_2.8p17-1_all.zip" funktioniert leider nicht. Außerdem weiß ich nicht, ob die dann mit meinem
USB/UART-Converter funktionieren würde, denn:
ZitatVersion 3.1p0 von owfs lässt sich derzeit für den Raspberry Pi mit USB-Unterstützung nur kompilieren, wenn man einiges in den Make-Files patcht
Außerdem verstehe ich das nicht so recht:
ZitatEine ältere, kompilierte Version für den RaspberryPi kann hier heruntergeladen werden: owfs_2.8p17-1_all.zip
sudo apt-get install automake autoconf autotools-dev gcc g++ libtool libusb-dev fuse-utils libfuse-dev swig python-dev tcl-dev php5-dev
sudo apt-get install git git-buildpackage dh-make quilt php5-cli
git clone [git://git.debian.org/collab-maint/owfs.git git://git.debian.org/collab-maint/owfs.git] git
git-buildpackage -uc -us
cd ..
sudo dpkg -i ./owserver_2.8p7+cvs20110310-1_i386.deb ./libow-2.8-7_2.8p7+cvs20110310-1_i386.deb ./owfs-common_2.8p7+cvs20110310-1_all.deb
sudo dpkg -i ./owhttpd_2.8p7+cvs20110310-1_i386.deb
Hier wird scheinbar die 2.8p7 installiert. Ist das als alternativer Weg zum Download der owfs_2.8p17-1_all.zip zu verstehen?
Also habe ich die 3.1p0 von Github runtergeladen und versucht den Patch anzuwenden. Das kriege ich allerdings nicht hin ...
Ich mache sowas zum ersten Mal, vielleicht mache ich was falsch. Habe die Sourcen mit dem Laptop runtergeladen von dieser Seite (Grüner Button auf "Download zip"):
https://github.com/owfs/owfs/tree/v3.1p0
Dann die Zip auf den Raspberry kopiert und dort entpackt. Darin ist ein Ordner "owfs-3.1p0", der Patch zeigt jedoch auf "owfs-3.1p0
_org". Also wie wende ich den Patch richtig an?
Was mich sehr wundert ist, dass die aktuelle 3.2p4 auch schon knapp 4 Jahre alt ist. Warum sollte die erst jetzt im Upgrade enthalten sein? Ich habe das Gefühl, wir sind auf dem Holzweg ... Vielleicht ist doch eher das Problem, dass das FHEM-Modul nicht mal die 3.1p5.pm laden kann ...?
ZitatLeider bekomme ich noch nicht einmal den owhttp mit Fake-Devices ans Laufen. owserver läuft, aber die Ports sind nicht erreichbar.
Bei mir läuft wie gesagt der httpd. Somit sind die Ports bei mir scheinbar erreichbar.
Um mal auf andere Ideen zu kommen .. was mir Spontan einfällt, was hast Du für eine perl-Version installiert? Und auch Packete per CPAN installiert?
Moin,
andere Ideen klingt gut :)
ii perl 5.36.0-7+deb12u1 arm64 Larry Wall's Practical Extraction and Report Language
ii perl-base 5.36.0-7+deb12u1 arm64 minimal Perl system
ii perl-modules-5.36 5.36.0-7+deb12u1 all Core Perl modules
ii perl-openssl-defaults:arm64 7+b1 arm64 version compatibility baseline for Perl OpenSSL packages
Was sagt uns das?
CPAN habe ich nicht genutzt.
O.K. da ist auch nichts auffälliges ....
Wobei .. hast DU nicht mehr perl-Module installiert?
Die ein oder andere Lib habe ich sicherlich zusätzlich installiert. Hier alles zu perl:
$ dpkg -l | grep "perl"
ii fhem 6.2.28184 all GPL'd perl server for house automation.
ii libalgorithm-diff-perl 1.201-1 all module to find differences between files
ii libalgorithm-diff-xs-perl:arm64 0.04-8+b1 arm64 module to find differences between files (XS accelerated)
ii libalgorithm-merge-perl 0.08-5 all Perl module for three-way merge of textual data
ii libauthen-sasl-perl 2.1600-3 all Authen::SASL - SASL Authentication framework
ii libb-hooks-endofscope-perl 0.26-1 all module for executing code after a scope finished compilation
ii libb-hooks-op-check-perl:arm64 0.22-2+b1 arm64 Perl wrapper for OP check callbacks
ii libcgi-fast-perl 1:2.15-1 all CGI subclass for work with FCGI
ii libcgi-pm-perl 4.55-1 all module for Common Gateway Interface applications
ii libclass-inspector-perl 1.36-3 all Perl module that provides information about classes
ii libclass-method-modifiers-perl 2.14-1 all Perl module providing method modifiers
ii libclass-xsaccessor-perl 1.19-4+b1 arm64 Perl module providing fast XS accessors
ii libclone-perl:arm64 0.46-1 arm64 module for recursively copying Perl datatypes
ii libcommon-sense-perl:arm64 3.75-3 arm64 module that implements some sane defaults for Perl programs
ii libconvert-binhex-perl 1.125-3 all Perl5 module for extracting data from macintosh BinHex files
ii libcrypt-cbc-perl 3.04-3 all implementation of cipher block chaining (CBC) mode
ii libcrypt-pbkdf2-perl 0.161520-2 all Perl implementation of PBKDF2 password hash
ii libcrypt-rijndael-perl 1.16-1+b2 arm64 Perl module implementing the Rijndael algorithm
ii libcryptx-perl 0.077-1+b1 arm64 Perl module that provides a self-contained cryptographic toolkit
ii libdata-dump-perl 1.25-1 all Perl module to help dump data structures
ii libdbd-sqlite3-perl:arm64 1.72-1 arm64 Perl DBI driver with a self-contained RDBMS
ii libdbi-perl:arm64 1.643-4 arm64 Perl Database Interface (DBI)
ii libdevel-callchecker-perl:arm64 0.008-2 arm64 custom op checking attached to subroutines
ii libdevice-serialport-perl 1.04-4+b1 arm64 emulation of Win32::SerialPort for Linux/POSIX
ii libdigest-hmac-perl 1.04+dfsg-2 all module for creating standard message integrity checks
ii libdigest-sha3-perl 1.05-1+b1 arm64 Perl extension for SHA-3
ii libdpkg-perl 1.21.22 all Dpkg perl modules
ii libdynaloader-functions-perl 0.003-3 all deconstructed dynamic C library loading
ii libencode-locale-perl 1.05-3 all utility to determine the locale encoding
ii libexporter-tiny-perl 1.006000-1 all tiny exporter similar to Sub::Exporter
ii libfcgi-perl 0.82+ds-2 arm64 helper module for FastCGI
ii libfile-fcntllock-perl 0.22-4+b1 arm64 Perl module for file locking with fcntl(2)
ii libfile-find-rule-perl 0.34-3 all module to search for files based on rules
ii libfile-listing-perl 6.15-1 all module to parse directory listings
ii libfont-afm-perl 1.20-4 all Perl interface to Adobe Font Metrics files
ii libhtml-form-perl 6.11-1 all module that represents an HTML form element
ii libhtml-format-perl 2.16-2 all module for transforming HTML into various formats
ii libhtml-parser-perl:arm64 3.81-1 arm64 collection of modules that parse HTML text documents
ii libhtml-tagset-perl 3.20-6 all data tables pertaining to HTML
ii libhtml-tree-perl 5.07-3 all Perl module to represent and create HTML syntax trees
ii libhttp-cookies-perl 6.10-1 all HTTP cookie jars
ii libhttp-daemon-perl 6.16-1 all simple http server class
ii libhttp-date-perl 6.05-2 all module of date conversion routines
ii libhttp-message-perl 6.44-1 all perl interface to HTTP style messages
ii libhttp-negotiate-perl 6.01-2 all implementation of content negotiation
ii libimport-into-perl 1.002005-2 all module for importing packages into other packages
ii libio-html-perl 1.004-3 all open an HTML file with automatic charset detection
ii libio-sessiondata-perl 1.03-3 all set of modules for non-blocking I/O
ii libio-socket-ssl-perl 2.081-2 all Perl module implementing object oriented interface to SSL sockets
ii libio-stringy-perl 2.111-3 all modules for I/O on in-core objects (strings/arrays)
ii libjson-perl 4.10000-1 all module for manipulating JSON-formatted data
ii libjson-xs-perl 4.030-2+b1 arm64 module for manipulating JSON-formatted data (C/XS-accelerated)
ii liblocale-gettext-perl 1.07-5 arm64 module using libc functions for internationalization in Perl
ii liblwp-mediatypes-perl 6.04-2 all module to guess media type for a file or a URL
ii liblwp-protocol-https-perl 6.10-1 all HTTPS driver for LWP::UserAgent
ii libmailtools-perl 2.21-2 all modules to manipulate email in perl programs
ii libmath-int128-perl 0.22-4 arm64 Perl module to manipulate 128 bits integers
ii libmath-int64-perl 0.54-2+b1 arm64 module to manipulate 64 bits integers in Perl
ii libmath-round-perl 0.07-3 all Perl extension for rounding numbers
ii libmime-tools-perl 5.510-1 all Perl5 modules for MIME-compliant messages
ii libmodule-implementation-perl 0.09-2 all module for loading one of several alternate implementations of a module
ii libmodule-runtime-perl 0.016-2 all Perl module for runtime module handling
ii libmoo-perl 2.005005-1 all Minimalist Object Orientation library (with Moose compatibility)
ii libnamespace-autoclean-perl 0.29-2 all module to remove imported symbols after compilation
ii libnamespace-clean-perl 0.27-2 all module for keeping imports and functions out of the current namespace
ii libnet-http-perl 6.22-1 all module providing low-level HTTP connection client
ii libnet-smtp-ssl-perl 1.04-2 all Perl module providing SSL support to Net::SMTP
ii libnet-ssleay-perl:arm64 1.92-2+b1 arm64 Perl module for Secure Sockets Layer (SSL)
ii libnumber-compare-perl 0.03-3 all module for performing numeric comparisons in Perl
ii libpackage-stash-perl 0.40-1 all module providing routines for manipulating stashes
ii libpackage-stash-xs-perl:arm64 0.30-1+b1 arm64 Perl module providing routines for manipulating stashes (XS version)
ii libparams-classify-perl:arm64 0.015-2+b1 arm64 Perl module for argument type classification
ii libperl5.36:arm64 5.36.0-7+deb12u1 arm64 shared Perl library
ii libreadonly-perl 2.050-3 all facility for creating read-only scalars, arrays and hashes
ii libref-util-perl 0.204-2 all set of utility functions for checking references
ii libref-util-xs-perl 0.117-2+b1 arm64 XS implementation for Ref::Util
ii libregexp-ipv6-perl 0.03-3 all Regular expression for IPv6 addresses
ii librole-tiny-perl 2.002004-1 all Perl module for minimalist role composition
ii librrds-perl:arm64 1.7.2-4+b8 arm64 time-series data storage and display system (Perl interface, shared)
ii libsoap-lite-perl 1.27-3 all Perl implementation of a SOAP client and server
ii libstrictures-perl 2.000006-1 all Perl module to turn on strict and make all warnings fatal
ii libsub-exporter-progressive-perl 0.001013-3 all module for using Sub::Exporter only if needed
ii libsub-identify-perl 0.14-3 arm64 module to retrieve names of code references
ii libsub-name-perl:arm64 0.26-2+b1 arm64 module for assigning a new name to referenced sub
ii libsub-quote-perl 2.006008-1 all helper modules for subroutines
ii libtask-weaken-perl 1.06-2 all module for ensuring that a platform has weaken support
ii libtext-charwidth-perl:arm64 0.04-11 arm64 get display widths of characters on the terminal
ii libtext-diff-perl 1.45-2 all Perl module to find differences in files and record sets
ii libtext-glob-perl 0.11-3 all Perl module for matching globbing patterns against text
ii libtext-iconv-perl:arm64 1.7-8 arm64 module to convert between character sets in Perl
ii libtext-wrapi18n-perl 0.06-10 all internationalized substitute of Text::Wrap
ii libtimedate-perl 2.3300-2 all collection of modules to manipulate date/time information
ii libtry-tiny-perl 0.31-2 all module providing minimalistic try/catch
ii libtype-tiny-perl 2.002001-1 all tiny, yet Moo(se)-compatible type constraint
ii libtype-tiny-xs-perl:arm64 0.025-1 arm64 boost for some of Type::Tiny's built-in type constraints
ii libtypes-serialiser-perl 1.01-1 all module providing simple data types for common serialisation formats
ii liburi-perl 5.17-1 all module to manipulate and access URI strings
ii libvariable-magic-perl 0.63-1+b1 arm64 module to associate user-defined magic to variables from Perl
ii libwww-perl 6.68-1 all simple and consistent interface to the world-wide web
ii libwww-robotrules-perl 6.02-1 all database of robots.txt-derived permissions
ii libxml-libxml-perl 2.0207+dfsg+really+2.0134-1+b1 arm64 Perl interface to the libxml2 library
ii libxml-namespacesupport-perl 1.12-2 all Perl module for supporting simple generic namespaces
ii libxml-parser-perl 2.46-4 arm64 Perl module for parsing XML files
ii libxml-sax-base-perl 1.09-3 all base class for SAX drivers and filters
ii libxml-sax-expat-perl 0.51-2 all Perl module for a SAX2 driver for Expat (XML::Parser)
ii libxml-sax-perl 1.02+dfsg-3 all Perl module for using and building Perl SAX2 XML processors
ii libxml-simple-perl 2.25-2 all Perl module for reading and writing XML
ii libxmlrpc-lite-perl 0.717-5 all client and server implementation of the XML-RPC protocol
ii libxstring-perl:arm64 0.005-2+b1 arm64 module containing isolated string helpers from B
ii perl 5.36.0-7+deb12u1 arm64 Larry Wall's Practical Extraction and Report Language
ii perl-base 5.36.0-7+deb12u1 arm64 minimal Perl system
ii perl-modules-5.36 5.36.0-7+deb12u1 all Core Perl modules
ii perl-openssl-defaults:arm64 7+b1 arm64 version compatibility baseline for Perl OpenSSL packages
Ich habe mal in den Apt Cache geschaut:
$ ls -l /var/cache/apt/archives/ow*
-rw-r--r-- 1 root root 6012 Oct 31 2022 /var/cache/apt/archives/owfs_3.2p4+dfsg1-4.1_all.deb
-rw-r--r-- 1 root root 14368 Oct 31 2022 /var/cache/apt/archives/owfs-common_3.2p4+dfsg1-4.1_all.deb
-rw-r--r-- 1 root root 20828 Jan 6 2023 /var/cache/apt/archives/owfs-fuse_3.2p4+dfsg1-4.1+b1_arm64.deb
-rw-r--r-- 1 root root 42660 Jan 6 2023 /var/cache/apt/archives/owftpd_3.2p4+dfsg1-4.1+b1_arm64.deb
-rw-r--r-- 1 root root 28676 Jan 6 2023 /var/cache/apt/archives/owhttpd_3.2p4+dfsg1-4.1+b1_arm64.deb
-rw-r--r-- 1 root root 28564 Jan 6 2023 /var/cache/apt/archives/owserver_3.2p4+dfsg1-4.1+b1_arm64.deb
-rw-r--r-- 1 root root 29208 Jan 6 2023 /var/cache/apt/archives/ow-shell_3.2p4+dfsg1-4.1+b1_arm64.deb
Die Pakete sind aus Januar 2023 und älter. Beweist das nicht, dass sie beim apt upgrade letzte Woche nicht dabei waren? Stattdessen wird es bei der Bookworm-Installation im November schon dieselbe Version gewesen sein.
Somit liegt es also nicht an der OWserver-Version. Oder sehe ich das falsch?
Hallo,
es spricht einiges dafür, die Ursache an einer anderen Stelle zu suchen.
Bedenklich finde ich es, dass ich noch nicht einmal den owserver zum Laufen bringe.
Ich schwanke zwischen meine Zeit anderweitig zu verbringen und meinem Jagdtrieb nachzugehen. Vielleicht aktualisiere ich meinen Server diese Woche erst einmal auf Debian 12 Bookworm und starte mit einer sauberen Installation der owserver-Pakete neu.
Bevor ich den owserver und owhttp bei mir nicht am Laufen habe, ist an einer Weitersuche gar nicht zu denken.
Viele Grüße
Boris
Hallo Boris,
dann hoffe ich mal, dass Dich der Jagdtrieb noch packt :)
Ich habe mir erstmal eine Krücke gebaut und lese die Temperaturen nun mit HTTPMOD vom owhttpd.
Bis dahin, Waidmannsheil!
Hallo,
hast du dafür inzwischen ne Lösung gefunden? Deine Problembeschreibung deckt sich ziemlich mit meiner (https://forum.fhem.de/index.php?topic=139123.0), wobei bei mir zumindest 1 Sensor noch nen Wert liefert, was die Sache noch eigenartiger macht...
Moin,
naja, ich lese den OWServer jetzt halt über HTTPmod aus.
Bei dir scheint es aber ein anderes Problem zu sein. :-\
Hallo efyzz,
kannst du mir mal deine HTTPMOD-Definition schicken? Bei mir läuft das mehr schlecht als recht - ständig Timeouts :-(
Vielen Dank :-)
Moin,
gerne:
defmod OW_Raumtemperatur HTTPMOD http://192.168.1.9:2121/28.FF062C001602 900
attr OW_Raumtemperatur alias Raumtemperatur
attr OW_Raumtemperatur enableControlSet 1
attr OW_Raumtemperatur event-on-change-reading .*
attr OW_Raumtemperatur group 03_HeizModi
attr OW_Raumtemperatur reading01Name temperature
attr OW_Raumtemperatur reading01Regex temperature12.*?([\d.]+)
attr OW_Raumtemperatur room Aquariumkeller,Übersicht,OWDevice
attr OW_Raumtemperatur showError 1
attr OW_Raumtemperatur sortby 90
attr OW_Raumtemperatur stateFormat temperature °C
attr OW_Raumtemperatur timeout 10
attr OW_Raumtemperatur verbose 2