Hallo Zusammen,
ich habe gestern meine FHEM-Installation aktualisiert und mir dadurch auch die neue OWServer-Version "eingefangen".
Zuerst startete FHEM nicht mehr, das habe durch die Angabe der Version im define "localhost:4304 2.8p17" lösen können.
Leider gibt es seitdem ein neues Problem.
Es werden nicht mehr alle readings der devices aktualisiert.
Im folgenden Beispiel das "temperature" reading.
Internals:
DEF 28.5AC1DF000000 120
IODev myOWServer
LAST_READ_FAILED 0
NAME ow.temp.wz
NOTIFYDEV global
NR 27
NTFY_ORDER 50b-ow.temp.wz
STATE 23.1
TYPE OWDevice
READINGS:
2018-03-25 11:18:44 alarm 1
2018-03-25 11:18:44 state temperature: 23.0625 alarm: 1
2018-03-24 10:07:50 temperature 23.0625
fhem:
address 28.5AC1DF000000
alerting 1
bus bus.0
interfaces temperature
interval 120
getters:
address
crc8
family
fasttemp
id
locator
r_address
r_id
r_locator
temperature
temperature10
temperature11
temperature12
temperature9
temphigh
templow
type
polls:
temperature
setters:
temphigh
templow
state:
temperature
Attributes:
DbLogExclude 85, state, alarm
IODev myOWServer
alias Raumtemperatur
group Heizung
icon icoTemp
model DS18B20
room Wohnzimmer
stateFormat { sprintf("%.1f",ReadingsVal("ow.temp.wz","temperature",0)) }
das selbe Phänomen habe ich bei meinem DS2408, dort wird der State aktualisiert, die einzelnen readings aber nicht...
Es werden auch keine events mehr generiert.
wo könnte ich ansetzen?
EDIT:
Hier noch meine owserver-Version:
owserver version:
2.8p15
libow version:
2.8p15
Danke und gruß,
Thorsten
Das sieht mir nach einem ähnlichen Phänomen aus wie ich es hatte (https://forum.fhem.de/index.php/topic,85211.0.html (https://forum.fhem.de/index.php/topic,85211.0.html)). Ich glaube nicht, dass es am FHEM-Update liegt (bzw. nur indirekt). Meine ganze Rumdoktorei führte dazu, dass es irgendwann wieder ging ohne dass ich wusste warum. Aus heutiger Sicht würde ich zuerst:
- ausprobieren, ob es mit owhttpd ordentlich funktioniert
- eine völlig neue FHEM-Konfiguration mit einem der fehlerhaften Geräte anlegen und ausprobieren
Mein Verdacht ist, dass irgendwelche falschen Stati über den Neustart von FHEM "gerettet" werden, was sich nicht mehr von selbst heilt.
Gruß Jörg
Hallo Thorsten,
bitte Ausgabe von list myOWServer und relevante Log-Einträge posten.
Danke
Boris
Hallo Boris,
ich bin erst einmal wieder auf 10_OWServer.pm 15589 zurückgegangen - damit läuft wieder alles.
Das ist mein Produktivsystem daher muss das laufen.
Ich versuche das im Laufe der Woche einmal nachzustellen, und reiche die entsprechenden logs dann nach.
Danke und gruß,
Thorsten
OK. Habe eben noch ein Update eingecheckt. Bitte dann mit der neuesten Version testen.
So ich habe wieder ein Update gemacht.
Leider bekomme ich von keinem One-Wire device irgendwelche Readings.
Hier die angeforderten List/logs:
Internals:
DEF localhost:4304 2.8p17
LAST_READ_FAILED 0
NAME myOWServer
NOTIFYDEV global
NR 18
NTFY_ORDER 50a-myOWServer
OWNET_VERSION
OWSERVER_VERSION
STATE Initialized
TYPE OWServer
READINGS:
2018-03-26 15:58:39 /settings/timeout/directory 60
2018-03-26 15:58:39 /settings/timeout/ftp 900
2018-03-26 15:58:39 /settings/timeout/ha7 60
2018-03-26 15:58:39 /settings/timeout/network 1
2018-03-26 15:58:39 /settings/timeout/presence 120
2018-03-26 15:58:39 /settings/timeout/serial 5
2018-03-26 15:58:39 /settings/timeout/server 10
2018-03-26 15:58:39 /settings/timeout/stable 300
2018-03-26 15:58:39 /settings/timeout/uncached 0
2018-03-26 15:58:39 /settings/timeout/usb 5
2018-03-26 15:58:39 /settings/timeout/volatile 15
2018-03-26 15:58:39 /settings/timeout/w1 30
2018-03-26 15:58:39 /settings/units/pressure_scale mbar
2018-03-26 15:58:39 /settings/units/temperature_scale C
2018-03-26 15:58:40 state Initialized
fhem:
protocol localhost:4304
Attributes:
nonblocking 1
Hier ein log-Auszug:
2018.03.26 15:58:39 3: myOWServer: Opening connection to OWServer localhost:4304...
2018.03.26 15:58:39 3: myOWServer: Successfully connected to localhost:4304.
2018.03.26 15:58:45 3: DS18B20_FF4EA0811501: reading type did not return a value
2018.03.26 15:58:46 3: DS18B20_FF69F3811501: reading type did not return a value
2018.03.26 15:58:46 3: DS18B20_FFD876811502: reading type did not return a value
2018.03.26 15:58:46 3: DS18S20_16FDE4000800: reading type did not return a value
2018.03.26 15:58:47 3: DS18S20_A81EE5000800: reading type did not return a value
2018.03.26 15:58:47 3: DS18S20_AEFCE4000800: reading type did not return a value
2018.03.26 15:58:47 3: DS2408_568E01000000: reading type did not return a value
2018.03.26 15:58:48 3: DS2438_200776000000: reading type did not return a value
2018.03.26 15:58:48 3: ow.ds2408.eg: reading type did not return a value
2018.03.26 15:58:48 3: ow.multi.zisterne: reading type did not return a value
2018.03.26 15:58:49 3: ow.temp.wz: reading type did not return a value
2018.03.26 15:58:49 0: Featurelevel: 5.7
2018.03.26 15:58:49 0: Server started with 153 defined entities (fhem.pl:16453/2018-03-20 perl:5.018002 os:linux user:root pid:5998)
2018.03.26 15:58:49 1: Perfmon: possible freeze starting at 15:58:35, delay is 14.065
2018.03.26 15:58:49 3: DbLog logdb - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user root
2018.03.26 15:58:49 3: DbLog logdb - Push-Handle to db mysql:database=fhem;host=localhost;port=3306 created
2018.03.26 15:58:49 3: DS18S20_A81EE5000800: reading temperature did not return a value
2018.03.26 15:58:52 1: Perfmon: possible freeze starting at 15:58:51, delay is 1.08
2018.03.26 15:58:52 3: ow.temp.wz: reading temperature did not return a value
2018.03.26 15:58:55 3: DS18S20_AEFCE4000800: reading temperature did not return a value
2018.03.26 15:58:58 3: DS18S20_16FDE4000800: reading temperature did not return a value
Owserver Version ist:
owserver version:
2.8p15
libow version:
2.8p15
Kann ich sonst noch etwas machen?
Gruß,
Thorsten
Hallo Thorsten,
das sieht merkwürdig aus. Zum einen fehlen die Versionen in den INTERNALS, zum anderen liest er die Sensoren schon aus, bevor FHEM initialisiert hat. Das sieht nach der Version von vorgestern aus.
version 10_OWServer
sollte
10_OWServer.pm 16492 2018-03-25 19:54:55Z neubert
zeigen. Falls nicht, bitte nochmal updaten.
Im Log sollte sich am Anfang etwas finden, was so aussieht:
2018.03.26 16:43:14 5: Cmd: >define OWSERVER OWServer has:4304<
2018.03.26 16:43:14 5: Loading /users/neubert/Development/Perl/fhem/FHEM/10_OWServer.pm
2018.03.26 16:43:14 5: OWSERVER: Tentatively assuming OWNet version 3.1p5
2018.03.26 16:43:14 5: OWSERVER: Loading OWNet version 3.1p5...
2018.03.26 16:43:14 3: OWSERVER: OWNet version 3.1p5 loaded.
2018.03.26 16:43:14 3: OWSERVER: Opening connection to OWServer has:4304...
2018.03.26 16:43:14 3: OWSERVER: Successfully connected to has:4304.
2018.03.26 16:43:14 3: OWSERVER: owserver version 3.1p5 found.
2018.03.26 16:43:14 3: OWSERVER: Matching OWNet version already loaded.
Bitte zeige das mal hier.
Viele Grüße
Boris
OK Boris,
Wird nachgereicht.
Habe gerade keinen Zugriff auf mein System. Bin nicht Zuhause
Gruß Thorsten
Hallo Norbert!
Bei mir ähnliches Symptom:
nach dem update heute auf: # $Id: 10_OWServer.pm 16492 2018-03-25 19:54:55Z neubert $
1) keine version im define:
fhem hängt nach folgender log-zeile (mit 100% cpu):
2018.03.26 17:30:29 3: myOWServer: OWNet version 3.1p5 loaded.
2018.03.26 17:30:29 3: myOWServer: Opening connection to OWServer localhost:4304...
2018.03.26 17:30:29 3: myOWServer: Successfully connected to localhost:4304.
2) mit 2.8.p15 im define
fhem läuft, allerdings werden keine readings upgedated....
Log vom Start: 2018.03.26 17:34:16 3: myOWServer: OWNet version 2.8p15 loaded.
2018.03.26 17:34:16 3: myOWServer: Opening connection to OWServer localhost:4304...
2018.03.26 17:34:16 3: myOWServer: Successfully connected to localhost:4304.
2018.03.26 17:34:16 1: PERL WARNING: Use of uninitialized value $version in concatenation (.) or string at ./FHEM/10_OWServer.pm lin$
2018.03.26 17:34:16 1: stacktrace:
2018.03.26 17:34:16 1: main::__ANON__ called by ./FHEM/10_OWServer.pm (224)
2018.03.26 17:34:16 1: main::OWServer_loadOWNet called by ./FHEM/10_OWServer.pm (160)
2018.03.26 17:34:16 1: main::OWServer_Define called by fhem.pl (3550)
2018.03.26 17:34:16 1: main::CallFn called by fhem.pl (1958)
2018.03.26 17:34:16 1: main::CommandDefine called by fhem.pl (1194)
2018.03.26 17:34:16 1: main::AnalyzeCommand called by fhem.pl (1044)
2018.03.26 17:34:16 1: main::AnalyzeCommandChain called by fhem.pl (1332)
2018.03.26 17:34:16 1: main::CommandInclude called by fhem.pl (568)
2018.03.26 17:34:16 3: myOWServer: owserver version found.
2018.03.26 17:34:16 1: PERL WARNING: Use of uninitialized value $version in string eq at ./FHEM/10_OWServer.pm line 226, <$fh> line $
2018.03.26 17:34:16 1: stacktrace:
2018.03.26 17:34:16 1: main::__ANON__ called by ./FHEM/10_OWServer.pm (226)
2018.03.26 17:34:16 1: main::OWServer_loadOWNet called by ./FHEM/10_OWServer.pm (160)
2018.03.26 17:34:16 1: main::OWServer_Define called by fhem.pl (3550)
2018.03.26 17:34:16 1: main::CallFn called by fhem.pl (1958)
2018.03.26 17:34:16 1: main::CommandDefine called by fhem.pl (1194)
2018.03.26 17:34:16 1: main::AnalyzeCommand called by fhem.pl (1044)
2018.03.26 17:34:16 1: main::AnalyzeCommandChain called by fhem.pl (1332)
2018.03.26 17:34:16 1: main::CommandInclude called by fhem.pl (568)
2018.03.26 17:34:16 1: PERL WARNING: Use of uninitialized value $v in concatenation (.) or string at ./FHEM/10_OWServer.pm line 195,$
2018.03.26 17:34:16 1: stacktrace:
2018.03.26 17:34:16 1: main::__ANON__ called by ./FHEM/10_OWServer.pm (195)
2018.03.26 17:34:16 1: main::OWServer_getOWNetfilename called by ./FHEM/10_OWServer.pm (230)
2018.03.26 17:34:16 1: main::OWServer_loadOWNet called by ./FHEM/10_OWServer.pm (160)
2018.03.26 17:34:16 1: main::OWServer_Define called by fhem.pl (3550)
2018.03.26 17:34:16 1: main::CallFn called by fhem.pl (1958)
2018.03.26 17:34:16 1: main::CommandDefine called by fhem.pl (1194)
2018.03.26 17:34:16 1: main::AnalyzeCommand called by fhem.pl (1044)
2018.03.26 17:34:16 1: main::AnalyzeCommandChain called by fhem.pl (1332)
2018.03.26 17:34:16 1: main::CommandInclude called by fhem.pl (568)
2018.03.26 17:34:16 1: PERL WARNING: Use of uninitialized value $version in concatenation (.) or string at ./FHEM/10_OWServer.pm lin$
2018.03.26 17:34:16 1: stacktrace:
2018.03.26 17:34:16 1: main::__ANON__ called by ./FHEM/10_OWServer.pm (231)
2018.03.26 17:34:16 1: main::OWServer_loadOWNet called by ./FHEM/10_OWServer.pm (160)
2018.03.26 17:34:16 1: main::OWServer_Define called by fhem.pl (3550)
2018.03.26 17:34:16 1: main::CallFn called by fhem.pl (1958)
2018.03.26 17:34:16 1: main::CommandDefine called by fhem.pl (1194)
2018.03.26 17:34:16 1: main::AnalyzeCommand called by fhem.pl (1044)
2018.03.26 17:34:16 1: main::AnalyzeCommandChain called by fhem.pl (1332)
2018.03.26 17:34:16 1: main::CommandInclude called by fhem.pl (568)
2018.03.26 17:34:16 1: PERL WARNING: Use of uninitialized value $v in concatenation (.) or string at ./FHEM/10_OWServer.pm line 200,$
2018.03.26 17:34:16 1: stacktrace:
2018.03.26 17:34:16 1: main::__ANON__ called by ./FHEM/10_OWServer.pm (200)
2018.03.26 17:34:16 1: main::OWServer_hasOWNet called by ./FHEM/10_OWServer.pm (232)
2018.03.26 17:34:16 1: main::OWServer_loadOWNet called by ./FHEM/10_OWServer.pm (160)
2018.03.26 17:34:16 1: main::OWServer_Define called by fhem.pl (3550)
2018.03.26 17:34:16 1: main::CallFn called by fhem.pl (1958)
2018.03.26 17:34:16 1: main::CommandDefine called by fhem.pl (1194)
2018.03.26 17:34:16 1: main::AnalyzeCommand called by fhem.pl (1044)
2018.03.26 17:34:16 1: main::AnalyzeCommandChain called by fhem.pl (1332)
2018.03.26 17:34:16 1: main::AnalyzeCommand called by fhem.pl (1044)
2018.03.26 17:34:16 1: main::AnalyzeCommandChain called by fhem.pl (1332)
2018.03.26 17:34:16 1: main::CommandInclude called by fhem.pl (568)
2018.03.26 17:34:16 3: myOWServer: No matching OWNet version found, using OWNet version 2.8p15.
....
....
2018.03.26 17:35:02 3: myOWServer: Opening connection to OWServer localhost:4304...
2018.03.26 17:35:02 3: myOWServer: Successfully connected to localhost:4304.
2018.03.26 17:35:05 3: DS18B20_BBB9BA030000: reading type did not return a value
2018.03.26 17:35:06 3: DS18S20_75EEDC010800: reading type did not return a value
2018.03.26 17:35:06 3: DS2438_1290AF000000: reading type did not return a value
2018.03.26 17:35:07 3: DS2438_Sensor: reading type did not return a value
2018.03.26 17:35:07 3: RPI1_TempSensor: reading type did not return a value
2018.03.26 17:35:09 3: myDS2413_1: reading type did not return a value
2018.03.26 17:35:10 3: myDS2450_1: reading type did not return a value
2018.03.26 17:35:10 3: myKombiSensor: reading type did not return a value
2018.03.26 17:35:11 3: myTiny25_4: reading type did not return a value
2018.03.26 17:35:11 0: Featurelevel: 5.8
2018.03.26 17:35:11 0: Server started with 275 defined entities (fhem.pl:16453/2018-03-20 perl:5.014002 os:linux user:fhem pid:22843)
List myOWServer:
Internals:
.path /20.E0380C000000/power
DEF localhost:4304 2.8p15
LAST_READ_FAILED 0
NAME myOWServer
NOTIFYDEV global
NR 37
NTFY_ORDER 50a-myOWServer
OWNET_VERSION
OWSERVER_VERSION
STATE Initialized
TYPE OWServer
.attraggr:
.attrminint:
READINGS:
2018-03-26 17:35:03 /settings/timeout/directory 60
2018-03-26 17:35:03 /settings/timeout/ftp 900
2018-03-26 17:35:03 /settings/timeout/ha7 60
2018-03-26 17:35:03 /settings/timeout/network 1
2018-03-26 17:35:03 /settings/timeout/presence 120
2018-03-26 17:35:03 /settings/timeout/serial 5
2018-03-26 17:35:03 /settings/timeout/server 10
2018-03-26 17:35:03 /settings/timeout/stable 300
2018-03-26 17:35:03 /settings/timeout/uncached 0
2018-03-26 17:35:03 /settings/timeout/usb 5
2018-03-26 17:35:04 /settings/timeout/volatile 15
2018-03-26 17:35:04 /settings/timeout/w1 30
2018-03-26 17:35:04 /settings/units/pressure_scale mbar
2018-03-26 17:35:04 /settings/units/temperature_scale C
2018-03-26 17:35:04 state Initialized
fhem:
protocol localhost:4304
Attributes:
nonblocking 1
room OW
Environment:
owserver version:
2.8p15
libow version:
2.8p15
debian wheezy and on jessie
PS: mit der version # $Id: 10_OWServer.pm 15589 2017-12-11 11:58:29Z neubert $ läuft alles bestens!
ich hoffe, das hilft beim debuggen...
l.g. erwin
Zitat von: erwin am 26 März 2018, 18:01:05
2018.03.26 17:34:16 3: myOWServer: OWNet version 2.8p15 loaded.
2018.03.26 17:34:16 3: myOWServer: Opening connection to OWServer localhost:4304...
2018.03.26 17:34:16 3: myOWServer: Successfully connected to localhost:4304.
2018.03.26 17:34:16 1: PERL WARNING: Use of uninitialized value $version in concatenation (.) or string at ./FHEM/10_OWServer.pm lin$
Das bedeutet, dass er /system/configuration/version nicht vom Server lesen kann.
Du hast OWNet-2.8p15.pm von Hand in lib eingespielt und zwar OWNet.pm aus Version 2.8p15 von Sourceforge?
Grüße
Boris
Hi Boris,
ich hab nix von Hand eingespielt - ich hab die bestehende OWNet.pm (die ja vorher funktioniert hat) auf OWNet-2.8.p15 umbenannt.
Was mir jetzt aufgefallen ist:
Es gibt in meinen systemen kein dir /system, und zwar sowohl auf:
Linux MH-RPI-10 4.1.13-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux
und
Linux MH-RPI-1 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux
und
Linux MHopenplotter 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
ich habe jetzt das define auf 2.8p17 geändert, Fehlermeldungen ident.
l.g.erwin
Hallo Erwin,
Zitat von: erwin am 26 März 2018, 18:39:31
ich hab nix von Hand eingespielt - ich hab die bestehende OWNet.pm (die ja vorher funktioniert hat) auf OWNet-2.8.p15 umbenannt.
Was mir jetzt aufgefallen ist:
Es gibt in meinen systemen kein dir /system, und zwar sowohl auf:
wenn OWNet.pm bisher funktioniert hat und Du sie in OWNet-2.8.p15 umbenannt hast, sollte das auch weiterhin funktionieren. Ich habe nichts an OWServer geändert außer die Gymnastikstunde zur Versionserkennung und -verwendung eingebaut.
Ich habe jetzt eine überarbeitete 10_OWServer.pm eingecheckt. Diese fängt den Fall ab, dass der owserver kein /system/configuration/version kennt. Es wird dann auch die vorgegebene Version verwendet.
Kannst Du bitte diese Datei aus dem SVN ziehen und es damit versuchen? Bitte auch wieder 2.8p15 vorgeben.
Viele Grüße
Boris
Hallo Boris,
ich wollte schon schreiben: Alles versucht, Problem bleibt...aber:
ich hab jetzt mal nonblocking gelöscht und siehe da: ALLES FUNKTIONIERT!!!
Das ist eindeutig reproduzierbar: nonblocking setzen: keine readings/ nonblocking löschen: alles funktioniert
sehr seltsam!
l.g. erwin
Danke, Erwin, für die weitere Mithilfe bei der Fehlersuche.
Zitat von: erwin am 27 März 2018, 07:52:25
ich hab jetzt mal nonblocking gelöscht und siehe da: ALLES FUNKTIONIERT!!!
Es gibt noch einen Nebeneffekt in der letzten Version: im Nonblocking-Mode zieht sich der Kindprozess zum Lesen Host:Port fälschlicherweise aus der Definition des Device. Wenn dort aber jetzt auch noch die Version drinsteht, schlägt der Aufruf fehl. Ich habe das jetzt so geändert, dass der Server benutzt wird.
Könntest Du bitte mal probieren, ob die beigefügte Version bei Dir funktioniert?
Viele Grüße
Boris
Hallo Boris,
Jep, es funktioniert, sowohl im blocking als auch im nonblocking Modus!
Danke für deinen Support!
l.g. erwin
Kommt morgen auch per Update.
So ich habe jetzt auch die letzte Version hier eingespielt:
File Rev Last Change
10_OWServer.pm 16495 2018-03-26 17:12:54Z neubert
fhemweb.js 16348 2018-03-07 21:02:42Z rudolfkoenig
svg.js 15896 2018-01-14 21:35:42Z rudolfkoenig
Jetzt läuft anscheinend wieder alles:
2018.03.27 18:23:51 1: Including /home/thorsten/Haussteuerung/fhem/fhem.cfg
2018.03.27 18:23:51 3: telnetPort: port 7072 opened
2018.03.27 18:23:51 3: web.default: port 86 opened
2018.03.27 18:23:51 3: myOWServer: OWNet version 2.8p17 loaded.
2018.03.27 18:23:51 3: myOWServer: Opening connection to OWServer localhost:4304...
2018.03.27 18:23:51 3: myOWServer: Successfully connected to localhost:4304.
2018.03.27 18:23:51 2: myOWServer: Could not read owserver version, using OWNet version 2.8p17.
Die readings kommen auch wieder.
Danke Dir,
Gruß,
Thorsten