Guten Tag,
beim Versuch, eine Zutrittssteuerung über 1-Wire zu realisieren, scheitere ich an der Reaktionsgeschwindigkeit: Wenn ich die "iButtons" in den Leser einlege, dauert es manchmal fast 2 Minuten, bis FHEM den Button als "present" erkennt. So lange vor einer verschlossenen Tür zu warten ist ziemlich langweilig.
Allerdings reagiert auch der OWHTTPD schon nicht viel schneller. Ich habe das Ganze so verstanden, dass nach dem Einlegen des Buttons in den Leser zunächst der OWServer den Button wahrnehmen muss. Dann wird das im Filesystem abgebildet und erst dann kann FHEM den Button erkennen. Damit wären ja einerseits die Auslesefrequenz des OWServers auf Betriebssystemebene, dann die in FHEM definierten Intervalle beim OWServer-Device und dann noch einmal beim einzelnen Device im Extremfall zu addieren. Wenn ich aber versuche, alle Abfragefrequenzen sehr kurz zu setzen, steigt die Systemlast bis hin zur Überlastung. Gibt es da Erfahrungswerte? Oder ist meine Idee über 1Wire in FHEM unrealistisch?
Bei Temperaturmessungen sind ja 60 oder 120 Sekunden Verzögerung kein Problem.
Mit freundlichen Grüßen
Frank
"owserver" und "im Filesystem abbilden" ist dasselbe. Nur wird die Geräteliste halt gecacht, weil das Auflisten ein ziemlicher Aufwand ist und der owhttpd/owfs das viel zu oft machen würde.
Normalerweise hängt man iButtons an einen Port eines DS2409. Der signalisiert via Conditional Search (das wird mit dem /alert/-Unterverzeichnis abgebildet), wenn ein Button mit ihm verbunden wird, weil der Button beim Verbinden kurz die Leitung runterzieht. Dann kann man den Teil-Bus hinter dem DS2409 auflisten /uncached/bus.0/F0.XXXXX/main bzw /aux) und so Reaktionszeiten von 1/3 Sekunde erreichen. Ich habe ein Python-Programm in Arbeit, dem man die gesamte Busverwaltung aufbürden kann und das dafür ganz gut geeignet wäre, aber das liegt aktuell aus Termingründen auf Eis ...
Einen größeren Bus öfters (oder überhaupt, sobald man mit dem Installieren fertig ist) aufzulisten ist tatsächlich nicht empfehlenswert.
Meine iButtons werden mit einem Arduino Micro mit 250ms abgefragt ... -> kein merkliches Delay.
VG ak323
Vielen Dank,
aber dann kommt ja wieder neue Hardware ins Spiel. Ich habe einen 1Wire-USB-Stick direkt am Raspi ...
Das Problem ist nicht die Auslesung eines bekannten Gerätes - sondern die offene Suche auf dem Bus, welche Geräte vorhanden sind. Das dauert vegleichsweise lange.
Für kurze Abfragezyklen ist es also absoluter Käse, Gerate immer neu anzulegen und wegnzunehmen - sie sollten der 1-Wire Software dauerhaft bekannt sein (egal, ob OWFS oder OWX).
LG
pah