OWServer/OWDevice nonblocking patch

Begonnen von justme1968, 28 November 2013, 21:50:55

Vorheriges Thema - Nächstes Thema

justme1968

noch eine bitte: schau mal in 11_OWDevice.pm ob in zeile 484 ein if( !$read_failed ) ist.

wenn ich das strace log richtig interpretiere versucht er bei dir trotz fehlgeschlagenem sensor auslesen noch das alarm dir zu lesen. genau das sollte er aber mit dem patch nicht mehr.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hi Andre,

scheint nicht so zu sein. Hier mal ein Print als Anlage

LG
Olaf


justme1968

du hast noch eine falsche version.

wenn du ein update machst sollte die richtige version kommen. Boris hat es gestern noch eingecheckt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hallo Andre,

das ist merkwürdig. Hatte die Datei von oben genommen und heute morgen ein update 11_OWDevice gemacht.

Jetzt nochmal und die Zeile 484 ist so, wie du sie geändert hast.

Teste jetzt nochmal.


Vielen Dank
Olaf

ollir

Hallo Andre,

leider keinen vollen Erfolg.
Zwar hängt FHEM nicht direkt, wenn owfs nicht erreichbar ist :-)
Jedoch hängt FHEM anscheinend, wenn owfs wieder erreichbar ist, bzw.das zweite mal nicht erreichbar ist.

Als Anhang nochmal die Ausgabe von strace

Lieben Dank
Olaf

justme1968

ich versuche gerade dein problem  zu reproduzieren und schaffe es nicht.

mein test owserver hat inzwischen 190 reads failed und fhem läuft immer noch.

auch wenn es vielleicht nervt, bitte vergleich noch mal die versionen. du musst jetzt
Zitat# $Id: 10_OWServer.pm 4430 2013-12-20 16:42:26Z borisneubert $
# $Id: 11_OWDevice.pm 4444 2013-12-22 21:08:44Z borisneubert $
am laufen haben. am besten gib direkt in fhem mal 'version' ein.

die stelle im neuen log an der er hängen bleibt ist auch wieder die alert stelle an die er gar nicht kommen darf. bzw scheinbar wird die Temperatur noch gelesen und dann hängt er. das wäre genau das zeitfenster das der patch noch nicht abdeckt. war das dein einziger versuch mit dieser version ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hi Andre,

ich liste dir mal meine Versionen
Zitat# $Id: fhem.pl 4386 2013-12-15 17:09:05Z rudolfkoenig $
# $Id: 00_CUL.pm 4232 2013-11-16 14:00:26Z martinp876 $
# $Id: 09_CUL_FHTTK.pm 4229 2013-11-15 17:29:55Z rudolfkoenig $
# $Id: 10_CUL_HM.pm 4316 2013-12-03 07:05:50Z martinp876 $
# $Id: 14_CUL_TX.pm 4229 2013-11-15 17:29:55Z rudolfkoenig $
# $Id: 57_Calendar.pm 4194 2013-11-09 18:58:18Z borisneubert $
# $Id: 66_ECMD.pm 2356 2012-12-23 09:02:02Z borisneubert $
# $Id: 67_ECMDDevice.pm 3412 2013-07-13 11:21:18Z rudolfkoenig $
# $Id: 72_FB_CALLMONITOR.pm 4318 2013-12-03 17:04:49Z markusbloch $
# $Id: 93_FHEM2FHEM.pm 4020 2013-10-08 10:32:25Z rudolfkoenig $
# $Id: 01_FHEMWEB.pm 4292 2013-11-27 20:50:06Z rudolfkoenig $
# $Id: 11_FHT.pm 4229 2013-11-15 17:29:55Z rudolfkoenig $
# $Id: 95_FLOORPLAN.pm 3971 2013-09-29 08:16:39Z ulimaass $
# $Id: 10_FS20.pm 3764 2013-08-22 07:09:38Z rudolfkoenig $
# $Id: 92_FileLog.pm 3759 2013-08-21 08:13:08Z rudolfkoenig $
# $Id: 00_HMLAN.pm 4257 2013-11-21 18:17:30Z martinp876 $
# $Id: 98_PID.pm 3988 2013-11-01 09:20:26Z john $
# $Id: 36_JeeLink.pm 4268 2013-11-22 17:29:18Z justme1968 $
# $Id: 36_LaCrosse.pm 4365 2013-12-12 09:05:37Z justme1968 $
# $Id: 11_OWDevice.pm 4444 2013-12-22 21:08:44Z borisneubert $
# $Id: 10_OWServer.pm 4430 2013-12-20 16:42:26Z borisneubert $
# $Id: 99_RPiUtils.pm $ 05/30/2013
# $Id: 99_SUNRISE_EL.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
# $Id: 98_SVG.pm 4315 2013-12-02 22:07:27Z rudolfkoenig $
# $Id: 59_Twilight.pm 4302 2013-11-30 19:37:54Z dietmar63 $
# $Id: 99_Utils.pm 3595 2013-08-05 05:38:48Z tobiasfaust $
# $Id: 59_Weather.pm 4321 2013-12-03 20:13:08Z borisneubert $
# $Id: 90_at.pm 4246 2013-11-18 20:35:20Z rudolfkoenig $
# $Id: 98_autocreate.pm 4234 2013-11-17 10:19:41Z rudolfkoenig $
# $Id: 98_dummy.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
# $Id: 95_holiday.pm 3602 2013-08-07 13:06:49Z rudolfkoenig $
# $Id: 91_notify.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
# $Id: 33_readingsGroup.pm 4317 2013-12-03 09:55:20Z justme1968 $
# $Id: 98_telnet.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
# $Id: 91_watchdog.pm 3738 2013-08-18 14:13:59Z rudolfkoenig $
# $Id: 98_weblink.pm 3770 2013-08-23 13:29:58Z rudolfkoenig $

Habe schon einige Versuche gemacht. Werde gleich mal auf beiden RPIs System Updates und über update force alle Versionen neu laden

Vielen Dank für deine Mühe
Olaf

ollir

Hallo Andre,

habe alles geupdated. Problem bleibt -konnte es aber weiter einschränken.

Wenn ich den über
Zitatservice owserser stop
stoppe, dann läuft FHEM weiter.

Wenn ich den Raspi reboote, auf dem der owserver läuft, hängt sich der FHEM auf.

Es scheint mir so, als gäbe es ein Problem wenn die IP-Adresse gar nicht erreichbar ist.

Viele Grüße
Olaf

justme1968

ich teste heute abend noch weiter.

den tag über hab ich es mit einem owfs auf einem raspi der über von erreichbar ist versucht. ich kann das von so oft ich will abschalten und wieder einschalten und es geht problemlos.

nachher versuch ich mal kiabel ziehen und neu booten.

ich habe gerade eine ganz andere stelle im verdacht. eventuell bleibt bei dir nicht das owdevice hängen sondern die permanente verbindung die im owserver noch da ist hängt sich auf. das ist eine ganz andere baustelle die bis her noch nicht berücksichtigt wird. auf dem mac auf dem ich bis jetzt getestet habe scheint es auch kein problem zu machen.

eigentlich kann ich die aber auch still legen wenn beim nonblocking lesen ein problem festgestellt wurde und erst wieder verbinden wenn das nonblocking lesen wieder funktioniert. mal sehen ...

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

ollir

Hallo Andre,

sehr grossen Dank an Dich. Ich denke es ist erstmal Weihnachten!
Die Tage sollten der Familie gehören.

Nochmals vielen Dank und schöne Tage

Viele Grüsse
Olaf

justme1968

weihnachten ist morgen :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

eppi

Hallo André
Ich habe mit der neuen Version von OWDevice das Problem, dass bei einem abgezogenen (nicht auf dem Holder liegenden) iButton der state auf "read failed" steht, statt "present: 0".
Danke für deine Unterstützung.
Gruss Dani

justme1968

der status 'read failed' wird nur gesetzt wenn vorher ein reading (über polls) gelesen wird das ein undefined zurück gibt.

wie genau ist deine konfiguration des decice? was steht in polls? falls es nur id ist schreib mal bitte gar nichts oder etwas anderes da rein.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

eppi

#43
Hallo Andre
Meine Konfiguration sieht wie folgt aus.
OWServer:
Internals:
   CFGFN      /opt/fhem/FHEM/fhem_1wire.cfg
   DEF        192.168.2.5:4304
   NAME       OWFS1
   NR         46
   STATE      Initialized
   TYPE       OWServer
   Readings:
     2013-12-23 19:22:31   /settings/timeout/directory           60
     2013-12-23 19:22:31   /settings/timeout/ftp          900
     2013-12-23 19:22:31   /settings/timeout/ha7           60
     2013-12-23 19:22:31   /settings/timeout/network            1
     2013-12-23 19:22:31   /settings/timeout/presence            3
     2013-12-23 19:22:31   /settings/timeout/serial            5
     2013-12-23 19:22:31   /settings/timeout/server           10
     2013-12-23 19:22:31   /settings/timeout/stable          300
     2013-12-23 19:22:31   /settings/timeout/uncached 0
     2013-12-23 19:22:31   /settings/timeout/usb            5
     2013-12-23 19:22:31   /settings/timeout/volatile           15
     2013-12-23 19:22:31   /settings/timeout/w1           30
     2013-12-23 19:22:31   /settings/units/pressure_scale mbar
     2013-12-23 19:22:31   /settings/units/temperature_scale C
     2013-12-23 19:22:31   state           Initialized
   Fhem:
     protocol   192.168.2.5:4304
Attributes:
   nonblocking 1

OWDevice:
Internals:
   CFGFN      /opt/fhem/FHEM/fhem_1wire.cfg
   CHANGED   
   DEF        01.684A8A150000 4
   IODev      OWFS1
   NAME       ibutton_Dani
   NR         60
   NTFY_ORDER 50b-ibutton_Dani
   STATE      read failed
   TYPE       OWDevice
   Readings:
     2013-12-23 18:43:08   id              684A9A150000
     2013-12-23 19:22:13   location        absent
     2013-12-23 19:22:13   present         0
     2013-12-23 19:27:07   state           read failed
   Fhem:
     address    01.684A8A150000
     alerting   0
     bus       
     interfaces id
     interval   4
     rand       0
     getters:
       address
       crc8
       family
       id
       locator
       r_address
       r_id
       r_locator
       type
     polls:
       id
     setters:
     state:
Attributes:
   IODev      OWFS1
   comment    Owner_Dani
   event-on-change-reading present
   model     
   room       Presence


Das Attribut polls ist bei mir nicht gesetzt.
Gruss Dani

justme1968

#44
die einzige idee die ich gerade habe ist das der timeout der verwendet wird kürzer ist als die zeit die owfs braucht um nach dem ibutton auf dem bus zu suchen. ich habe auf die schnelle kein dokument gefunden in dem das beschrieben ist. du kannst aber ganz einfach rausfinden ob es daran liegt.

in 10_OWServer.pm in zeile 285:my $nfound = select($rout=$rin, undef, $eout=$ein, 4);die 4 mal durch 9 ersetzen. wenn das noch nicht hilft kannst du den wert auch noch größer machen. dann musst du aber auch in Zeile 263:InternalTimer(gettimeofday()+10, "OWServer_TimeoutChild", $pid, 0);die 10 durch etwas grösseres ersetzen.

einen anhaltspunkt wie lange es dauert bekommst du wenn du nonblocking abschaltest und für den ibutton ein 'get <ibutton> id'  eingibst.

wenn es daran liegt würde ich vorschlagen den timeout konfiguierbar zu machen. allgemein höher gehen würde ich ungern weil scheinbar ausser dem ibutton alle anderen deivices mit den 4 sekunden reichlich zeit haben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968