1wire auf Raspberry direkt auf GPIO4 mit w1-gpio-Modul

Begonnen von Punkt, 15 Februar 2013, 22:51:04

Vorheriges Thema - Nächstes Thema

bismosa

Hallo!

ZitatIndividuell geht das natürlich. Grundsätzlich im Modul aber nicht. Ich hab ja nicht umsonst einen Sensor, den ich alle 5s abgefragt haben will.
Darf ich fragen, welche Temperatur so zeitkritisch ist, dass sie alle 5s benötigt wird?
Dann darfst Du die letzte Version von dir aber auch nicht verwenden. Hier wird ja immer wieder um die Auslesezeit verschoben (um die Auslesevorgänge zu entzerren)

Ich kann auch meine Version verwenden und einfach glücklich sein. Aber wie wäre es mit einem Attribut? Dann könnte der User entscheiden, ob es zeitkritisch ist.

ZitatAber GPIO4 kann es ja nicht sein. Was blockiert denn da ?
Ich habe jetzt keinen Vergleich angestellt, ob es mit der Version in der CPU-Auslastung besser ist. Das alte Modul hat bestimmt einen Teil dazu beigetragen.

ZitatDa fällt mir aber doch mehr "tmr-sleep_WakeUpFn(N/A)" ins Auge. Was ist das, dass das so häufig aufgerufen wird ?
Ich sehe gerade erst, dass die Zeilen hier abgeschnitten sind. In fast jeder Zeile taucht bei den Freezes auch GPIO4 mit auf. Daher wollte ich mich erstmal darum kümmern  :)

Nachdem ich das nun über Nacht laufen lassen habe, und heute mal in die Log-Datei geschaut habe kommen allerdings wieder viele Freezes.
Nur ein ganz kleiner Auszug:

2021.01.16 20:55:46 1: [Freezemon] myFreezemon: possible freeze starting at 20:55:43, delay is 3.303 possibly caused by: tmr-GPIO4_DeviceUpdateLoop(GPIO4_DS18B20_Dachboden)
2021.01.16 20:55:52 1: [Freezemon] myFreezemon: possible freeze starting at 20:55:47, delay is 5.784 possibly caused by: tmr-at_Exec(at_HeizungGPIO_Test) tmr-sleep_WakeUpFn(N/A) tmr-GPIO4_DeviceUpdateLoop(GPIO4_DS18B20_Drempel_Bad) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-DOIF_SleepTrigger(di_Fenster_Flur)
2021.01.16 21:00:34 1: [Freezemon] myFreezemon: possible freeze starting at 21:00:31, delay is 3.121 possibly caused by: tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-GPIO4_DeviceUpdateLoop(GPIO4_DS18B20_Spielzimmer)
2021.01.16 21:00:39 1: [Freezemon] myFreezemon: possible freeze starting at 21:00:35, delay is 4.129 possibly caused by: tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-sleep_WakeUpFn(N/A) tmr-GPIO4_DeviceUpdateLoop(GPIO4_DS18B20_Netzteil) tmr-MQTT2_SERVER_keepaliveChecker(MQTT2_FHEM_Server) tmr-DOIF_SleepTrigger(di_Fenster_Flur)
2021.01.16 21:43:52 1: [Freezemon] myFreezemon: possible freeze starting at 21:43:51, delay is 1.141 possibly caused by: tmr-GPIO4_DeviceUpdateLoop(GPIO4_DS18B20_Drempel_Strasse)
2021.01.16 22:23:12 1: [Freezemon] myFreezemon: possible freeze starting at 22:23:09, delay is 2.999 possibly caused by: no bad guy found :-(

Sehr häufig taucht auch das squeezebox-Modul auf. Hier lässt sich bestimmt auch noch was machen. (Es liegt nicht nur an GPIO4!)
Auch habe ich gerade irgendwo gefunden, dass man nach Möglochkeit den DNS-Server setzen sollte, um einige blockings zu uumgehen. Das habe ich auch erst eben gerade gemacht.
GPIO4 dürfte ja jetzt eigentlich nicht mehr blockieren...taucht aber immer noch sehr häufig auf...??
Ich werde hier noch weiter suchen müssen. Ich kann aber jetzt schon sagen, das FHEM viel flüssiger läuft als vorher. Ich Pinge mit meinem Display (Kindle) FHEM Regelmäßig an...bisher konnte ich keine Aussetzer feststellen. Auch das Web-Interface läuft nun viel flüssiger  :)

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

KölnSolar

ZitatDarf ich fragen, welche Temperatur so zeitkritisch ist, dass sie alle 5s benötigt wird?
Fußbodenheizungsmischer.
ZitatDann darfst Du die letzte Version von dir aber auch nicht verwenden. Hier wird ja immer wieder um die Auslesezeit verschoben (um die Auslesevorgänge zu entzerren)
die war auch nur für Dich zur Analyse.
ZitatIch sehe gerade erst, dass die Zeilen hier abgeschnitten sind. In fast jeder Zeile taucht bei den Freezes auch GPIO4 mit auf. Daher wollte ich mich erstmal darum kümmern  :)
freezemon darf man nicht überinterpretieren. Mit meiner nonblocking-version kann GPIO4 nicht der Schuldige sein. 8) Ich tippe weiter auf  "tmr-sleep_WakeUpFn(N/A)" Sieht seeeehr verdächtig aus.
ZitatAuch habe ich gerade irgendwo gefunden, dass man nach Möglochkeit den DNS-Server setzen sollte, um einige blockings zu uumgehen.
Auf jeden Fall. Dadurch werden Netzzugriffe non-blocking.
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

Wernieman

ZitatIch Pinge mit meinem Display (Kindle) FHEM Regelmäßig an..
Wie "pingst" du?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

bismosa

Hallo!

ZitatWie "pingst" du?
Ich pinge nicht wirklich. Ich hole per wget eine png...wenn dies nicht erfolgreich ist (also FHEM nicht erreichbar oder png noch nicht fertig) zeige ich eine vorgefertigte error-png.
Also vereinfacht:
URI="http://server:8083/fhem/www/images/status.png"
if wget -q $URI -O $TMPFILE; then
...
else
-> Show error

Ich wollte es hier nicht komplizierter umschreiben als nötig.

Zitatfreezemon darf man nicht überinterpretieren. Mit meiner nonblocking-version kann GPIO4 nicht der Schuldige sein. 8) Ich tippe weiter auf  "tmr-sleep_WakeUpFn(N/A)" Sieht seeeehr verdächtig aus.
Das ist mir klar, das man das nicht überinterpretieren sollte.
Ich lasse jetzt auch mal vollständig dabei loggen. Die "tmr-sleep_WakeUpFn(N/A)" sind kurze Timer, die ich z.B. in den MyUtils setze (FHEM sleeps). Da ist dann auch nichts kritisches dabei.

Ich denke das ist schon alles gut, wie das nun läuft. Den erkannten Hauptverursacher haben wir ja nun (Dank Deiner Hilfe!) gefunden. Alles andere sind dann andere Verursacher.

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

KölnSolar

#64
Hi,
irgendwann, vmtl. Ende Jan., Anf. Feb, wurde etwas in Raspbian(buster) bzgl. 1W verändert. Dadurch werden negative Temperaturen nicht mehr richtig erfasst
Attached eine entsprechend korrigierte Version für DS18xxx-Sensoren. Die Korrektur hat keine negativen Auswirkungen, wenn man noch eine Altversion des OS hat. Kann also von jedermann bedenkenlos genutzt werden.

Grüße Markus

Edit: Alte Modulversion entfernt. Link zur aktuellsten Version hier.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

KölnSolar

Schließlich auch hier noch der Hinweis, dass es nun einen neuen Thread für das Modul gibt, nachdem ich es um die Funktionalität für DHT11/DHT22-Sensoren erweitert habe.

Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt