FHEM Forum

FHEM - Hausautomations-Systeme => 1Wire => Thema gestartet von: Tobias am 08 Februar 2013, 08:54:40

Titel: Nach Aktivierung von OWX ist das WebIf von FHEM sehr(!) träge
Beitrag von: Tobias am 08 Februar 2013, 08:54:40
Hi,
ich habe hier ein kleine fhem-installation, 2 CUL´s (MAX und slowrf) mit 4 Max-Thermostaten, 4 Max-Fensterkontakten und 3xWS300 Temperatursensoren. Das Webif von Fhem (pgm2) ist flott, nur millisekunden Verzögerung beim Mausklick.
Nach Hinzufügen von OWX habe ich sehr lange Wartezeiten wenn ich im Webif etwas auswähle. 5-10sek, gemessen!
Nehme ich OWX wieder heraus und starte FHEm neu, ist alles wieder flott.

Am OWX hängt ein Busmaster DS2480 und ein DS2450.
Genauer gesagt, von eservice-online der USB-Busmaster mit galvanischer Trennung und der 1wire Hub mit Strom-und Spannungsmesser.
Das der DS2450 z.Z. auch nur Müll anzeigt kommt noch dazu....siehe Screenshot

Ideen? Ist das nur bei mir so?
Titel: Aw: Nach Aktivierung von OWX ist das WebIf von FHEM sehr(!) träge
Beitrag von: ntruchsess am 08 Februar 2013, 12:19:11
das Problem ist, dass OWX synchron arbeitet, also z.B. einen Search anstößt und dann die Antwort abarbeitet. Solange das läuft kommt fhem.pl nicht wieder an die Reihe. Da müsste für asynchrone Bearbeitung einiges umgebaut werden.
Wenn Du dann noch das Attribut 'interval' auf 15 Sekunden stellst, dann ist OWX praktisch permanent am pollen und Dein Web-interface kommt fast gar nicht an die Reihe.
Titel: Aw: Nach Aktivierung von OWX ist das WebIf von FHEM sehr(!) träge
Beitrag von: Dr. Boris Neubert am 08 Februar 2013, 15:41:33
Zitat von: ntruchsess schrieb am Fr, 08 Februar 2013 12:19das Problem ist, dass OWX synchron arbeitet, also z.B. einen Search anstößt und dann die Antwort abarbeitet. Solange das läuft kommt fhem.pl nicht wieder an die Reihe. Da müsste für asynchrone Bearbeitung einiges umgebaut werden.
Wenn Du dann noch das Attribut 'interval' auf 15 Sekunden stellst, dann ist OWX praktisch permanent am pollen und Dein Web-interface kommt fast gar nicht an die Reihe.

Du könntest OWServer/OWDevice verwenden i.V.m. einer Installation von owserver auf dem Gerät, an dem der Busmaster hängt. OWServer unterstützt die asynchrone Bearbeitung von Anfragen an den OWServer.

Viele Grüße
Boris
Titel: Aw: Nach Aktivierung von OWX ist das WebIf von FHEM sehr(!) träge
Beitrag von: Prof. Dr. Peter Henning am 08 Februar 2013, 21:39:06
Das stimmt nicht - keineswegs ist OWX "permanent am pollen". Die Abfrage eines DS2450 ist innerhalb von einigen hundertstel Sekunden erledigt - und findet nur alle 15 Sekunden statt, wenn das Intervall auf 15 steht.

Die Tatsache, dass die Anzeige nur "Müll" liefert (gehts vielleicht etwas präziser ?) deutet auf ein Problem mit dem Bus hin, was sagt denn das Log ?

LG

pah

Titel: Aw: Nach Aktivierung von OWX ist das WebIf von FHEM sehr(!) träge
Beitrag von: ntruchsess am 08 Februar 2013, 22:34:12
ja, aber eben halt auch nur, wenn alles fix antwortet. Wenn ich ein paar DS18B20 im 5 Intervall polle (die sind halt nicht so schnell) dann wird das Webinterface reproduzierbar ziemlich zäh.

Gruß,

Norbert
Titel: Aw: Nach Aktivierung von OWX ist das WebIf von FHEM sehr(!) träge
Beitrag von: Prof. Dr. Peter Henning am 09 Februar 2013, 05:22:21
Na, nun mal langsam:

Die Temperaturmessung bei einem einzelnen DS1820 dauert 1 Sekunde.

A. Diese Wartezeit wird aber nur eingehalten, wenn in OWX das Attribut "buspowre" nicht auf "real" gesetzt wurde - und während dieser Zeit wird FHEM auch nicht blockiert, weil nicht etwa mit "sleep" sondern mit "select" gewartet wird. Das kann also nicht für die Verzögerung verantwortlich sein, und während dieser Zeit wird auch nicht "gepollt".

B. Wenn das Attribut "buspower" auf "real" gesetzt ist. werden alle "interval" Sekunden (Attribut von OWX !) alle Thermometer zu einer Temperaturmessung veranlasst. Bei der Abfrage wird dann eben nicht mehr gewartet, sondern es wird angenommen, dass der aktuelle Temperaturwert bereits im DS1829 steht.

Allerdings sehe ich keinen sinnvollen Anwendungsfall, bei dem eine Temperatur im 5-Sekunden-Abstand gemessen werden muss.

LG

pah