Hallo Rudolf,
erst mal vielen Dank für alle Deine Antworten und Deine Mühe, anderen und mir zu helfen. Und besten Dank für die viele Arbeit, Du in das FHEM Projekt sowohl mit Programmierung, als auch Support steckst und gesteckt hast. Nerven möchte ich keineswegs.
Deine Anregungen nehme ich durchaus ernst und teste sie durch, Netzteile sind auch gekommen. Der Test startet am Wochenende.
Es ist schlicht so, dass ich den Hardwaretest distanzbdingt nur mit Verzögerung durchführen kann, aber Remote wunderbar schon Softwaremöglichkeiten ausloten kann. Und mein Gefühl dabei schließt ein selten auftretendes Softwareproblem nicht aus, auch wegen der Systematik, siehe unten.
Eigentlich möchte ich nur zuverlässig die Sensoren empfangen können, um auf die Temperatursignale regeln zu können und nicht regelmäßig in die Hardwarebegrenzung rennen, weil z.B. die letzte empfangene Temperatur unter dem Sollwert hängen bleibt oder umgekehrt nicht geheizt wird weil sie drüber hängen bleibt.
Mit den Änderungen, die ich vorgenommen habe, kann ich jetzt auch schon einges sehen. So kann ich sagen, dass, ohne die Timeouts zu berücksichtigen, maximal alle 80s Daten vom CUL und somit von irgend einem der Sensoren kommen. Im Mittel kommen alle 12s Daten vom CUL rein.
Mittlerweile habe ich im Dauerbetrieb von 3 Tagen 11x meinen 5 Minuten Timeout geloggt und jeweils jedes mal den gleichen schon beschriebenen Registerzustand vorher und nacher gesehen.
Und worauf genau beruht diese Behauptung?
In allen Fällen des Timeouts konnte ich beim CUL die Register vor dem Disconnect anfordern und habe eine Antwort bekommen, ohne dass die Schnittstelle neu geöffnet worden wäre. Damit steht offenbar die USB Verbindung vom RasPi zum CUL noch in beide Richtungen und es kommen nur keine Empfangsdaten von den Sensoren rein. Der RasPi ist mir auch noch nie abgestürzt und seine Logs sind bezüglich USB sauber. Daher setze ich auch meine erste Hardwarehoffnung auf das Netzteil, das nach allen Recherchen dazu mit 1A etwas knapp bemessen ist. Die Spannung werd ich auch noch am CUL messen, um da Klarheit zu bekommen.
Ich habe auch noch das cc1101 Errata swrz020d.pdf gefunden und darin wird auch die Möglichkeit eines Empfangshängers beschrieben:
RXFIFO_OVERFLOW Issue Radio stays in RX state instead of entering RXFIFO_OVERFLOW state ...
Und noch einen weiteren Abschnitt zum FSCAL1 Register:
PLL Lock Detector Output PLL lock detector output is not 100% reliable
PLL lock can be checked reliably as follows:
1...
2. Read register FSCAL1. The PLL is in lock if the register content is different from
0x3F. With both of the above workarounds, the CC1101 PLL calibration should be
carried out with the correct settings for TEST0.VCO_SEL_CAL_EN and
FSCAL2.VCO_CORE_H_EN. These settings are depending on the operating
frequency, and is calculated automatically by SmartRF™ Studio. It must be noted
that the TEST0 register content is not retained in SLEEP state, and thus it is
necessary to write to this register as described above when returning from the
SLEEP state.
Ob der CUL mit seiner Programmierung für so einen beschrieben Empfangshänger anfällig sein kann, versuche ich am Quelltext zu ergründen, wenn die Hardwaretests nichts bringen.
Den 0x3F Zustand von FSCAL1 sehe ich bei jedem der Timeouts, jedoch nicht bei Abfrage der Register ohne Timeout.
Danke und Gruß, Ansgar.