Hallo zusammen,
ich nutze FHEM mit dem OWSERVER und diversen Sensoren, hauptsächlich Temperatursensoren.
Als Busmaster dient ein Link 45 http://www.ibuttonlink.com/products/link45 (http://www.ibuttonlink.com/products/link45) an der seriellen Schnittstelle.
Leider habe ich immer wieder Hänger bei FHEM die ich den 1-Wire Sensoren zuordnen konnte .
Hier die Apptime Ausgabe.
tmr-OWDevice_UpdateValues HASH(0xae1adfc) 2791 42 87885 2092.50 1 HASH(DS18B20_310CAE010000)
tmr-OWDevice_UpdateValues HASH(0xae10ba8) 2654 42 87028 2072.10 1 HASH(DS18B20_6602AC010000)
tmr-OWDevice_UpdateValues HASH(0xae1b978) 2602 42 79648 1896.38 1051 HASH(DS18B20_A370AC010000)
tmr-OWDevice_UpdateValues HASH(0xae1b57c) 2549 42 67460 1606.19 1 HASH(DS18B20_E912AE010000)
tmr-OWDevice_UpdateValues HASH(0xa89d978) 2323 42 68322 1626.71 1704 HASH(ow.multi.zisterne)
tmr-OWDevice_UpdateValues HASH(0xa8375e4) 1952 63 105812 1679.56 595 HASH(ow.temp.wz)
tmr-OWDevice_UpdateValues HASH(0xa8adfac) 1880 42 69413 1652.69 1633 HASH(DS18S20_AEFCE4000800)
tmr-OWDevice_UpdateValues HASH(0xae1b16c) 1780 42 69456 1653.71 1 HASH(DS18B20_69BBDF000000)
tmr-OWDevice_UpdateValues HASH(0xa8b9ec8) 1723 26 42353 1628.96 514 HASH(DS18S20_A81EE5000800)
tmr-OWDevice_UpdateValues HASH(0xa8adb80) 1640 26 41337 1589.88 1466 HASH(DS18S20_16FDE4000800)
tmr-OWDevice_UpdateValues HASH(0xa89d4a0) 876 126 81990 650.71 1615 HASH(ow.ds2408.eg)
Dauer so eine Temperaturabfrage über 1-Wire immer so lange? Also knapp 1-2 Sekunden finde ich ziemlich viel.
Ich habe immer gedacht der OWserver macht die Abfragen unabhängig von fhem und gibt die Daten dann nur weiter.
Oder liegt das an meinem Busmaster, hilft vielleicht ein anderer?
Ich habe den Intervall der Sensoren schon auf 180 Sekunden geändert, die Hänger bleiben, passieren jetzt aber seltener...
Danke und Gruß,
Thorsten
Hi,
nutzt Du die synchrone oder asynchrone Abfrage (Attribut nonblocking)?
Viele Grüße Boris
Also ich habe beide Varianten ausprobiert, ich meine aber keinen großen unterschied festgestellt zu haben.
Ich kann das aber noch einmal einschalten und beobachten.
Gruß,
Thorsten
Kann natürlich sein, dass deine "asynchrone" Abfrage trotzdem eine andere "synchrone" blockiert hat.
Sinnvollerweise macht man das so:
- 1 nach /bus.x/simultaneous/temperature schreiben
- 1sec warten
- /bus.x/uncached/10.xxx/lasttemp auslesen
Dann blockiert der Bus garantiert nicht. Voraussetzungen: alle Temperatursensoren haben 5V, du hast die aktuelle owserver-Version.
Danke für die Antwort,
ich glaube mein Problem iegt aber woanders...
Ich habe alle Temperatursensoren parasitär angeschlossen.
Kann es sein das das daran liegt?
Danke und gruß,
Thorsten
Ja. Der Bus ist dann beim Ablesen für 1sec blockiert, egal was. Wenn du owx_async verwendest, kann FHEM parallel dazu wohl trotzdem weiterarbeiten, aber ehrlich gesagt willst du (a) von vornherein keine parasitär arbeitenden Slaves am Bus haben und (b) grundsätzlich keine Abfragen triggern die nicht sofort beantwortet werden können.
Wie man das FHEM-Äquivalent von "owwrite /bus.x/simultaneous/temperature 1" auslöst, muss jemand anders erklären, ich verwende dafür externen Code.
Mmmhh - dann werde ich wohl ersteinmal eine 5V Versorgung in den Bus mit einbauen.
mal sehen ob es dann besser wird.
Dazu muss ich allerdings alle Temperatusensoren umlöten.
Wenn es dann immer noch nicht besser wird melde ich mich halt nochmal