Hallo!
Ich habe heute direkt ein Update gemacht und die Sensoren umgestellt.
Ich habe 10 Sensoren und eine Kabellänge von insgesamt vermutlich 30m. Leider musste ich die Kabel in zwei Richtungen verteilen. Damit ich keine Sternförmige Verkabelung bekomme, muss ich von der einen Seite einen langen Weg wieder zurück zum Verteiler nehmen. Es handelt sich bei mir um geschirmte CAT7 Kabel.
Zum eingrenzen des Fehlers bei mir habe ich derzeit zwei 1-Wire Busse aktiviert. Derzeit kommen noch drei Sensoren mit Problemen in Frage.
Leider funktioniert das Modul dann nicht mehr. Du benutzt den
$w1_path="/sys/devices/w1_bus_master1"
Dadurch werden nur die Geräte erkannt, die an dem einen Busmaster hängen.
Ich habe das bei mir mal umgestellt auf:
$w1_path="/sys/bus/w1/devices"
Dadurch können alle ausgelesen werden.
Ob das noch weitere Auswirkungen hat, weiß ich nicht. Dafür habe ich den Code noch nicht genau genug studieren und verstehen können.

Folgendes ist mir sonst aufgefallen: (Sorry, kein meckern! Ich weiß wie viel Arbeit da schon drin steckt!)
- Wird ein Device im System nicht mehr erkannt (z.B. Kabelbruch) kommt es zu keinen Fehlermeldungen/"failures". Zumindest nicht, wenn nach einem Neustart die Sensoren nicht vorhanden sind.
- Ich hatte testweise einen Sensor im "timer" Modus. Obwohl ich keine Werte bekommen hatte wurden auch hier die "failures" nicht hochgezählt. Ich vermute das gleiche Problem wie oben?
- Ich habe noch nicht ganz verstanden, wie ich den Busmaster definieren muss. Im Wiki steht
Das Betriebssystem listet alle bekannten Devices im sysfs Verzeichnisbaum unter /sys/device/w1_bus_master - der benötigte String entspricht dem Namen der entsprechenden Unterverzeichnisse.
Es müsste doch /sys/device
s/ sein?
Leider bin ich jetzt noch nicht weiter zum testen gekommen. Bin noch dran, muss aber nachdem ich meinen Raspberry am Wochenende getauscht habe (der alte hatte mehrere zerschossene GPIO-Ports...7V waren zu viel) das Problem, das 2 Sensoren nun gar nicht mehr wollen. Da suche ich noch nach dem Problem.
Ich bin vielleicht gerade nicht der beste Tester im Moment. Meine Probleme sind doch sehr speziell

Ich schaue mir gerade noch an, wie man das mit dem "timer" mode und conv_time=2 löst.
...
3. Bei mode=timer oder mode=blocking eine Warnung in die "failreason" schreiben, wenn die Abfrage länger als 0.5s dauert
Ich denke, das könnte gut sein. Vielleicht noch ein Hinweis in doe Commandref, das die Zeit geändert werden sollte.
Ist es möglich immer die Abfragezeit als (extra) Reading einzubauen? Ist ja ggf. ein interessanter Wert, wenn man Blocking arbeitet.
Das bismosa geschilderte "update macht refresh" Problem, kann ich nur bedingt nachvollziehen: Bei mir werden die Readings gleich drauf rot und ich gebe bereits "undef" zurück. Allerdings schaltet der Hilfetext unter dem "set" um, so das es so aussieht als würde die Seite refreshed. Dagegen kann ich nichts machen.
Ich werde das nochmal beobachten. Heute klappte das bei mir auch. Kann es vielleicht sein, dass es mit mode:"timer" zusammenhängt?
DANKE für deine Bemühungen!
Gruß
Bismosa