juergen-rocks / raumklima

Die berühmte Raumklimastation RS 500 von ELV Elektronik unter Linux mit einem Raspberry Pi auslesen.
MIT License
17 stars 12 forks source link

Fehler beim MQTT beim Verlust der MQBroker Verbindung #47

Closed MaStr closed 3 years ago

MaStr commented 3 years ago

Hi, nur um den Fehler erstmal zu Dokumentieren.. ich versuche mich selbst dem Thema noch widmen.

Wenn der MQBroker plötzlich "weg" ist, ist es bei mir zu hängenden Sessions gekommen, die dann -bedingt durch die hohe Frequenz des cronjobs - das System fast an die Wand gefahren hat wegen out of memory.

Ich muss mir im Detail mal genau das anschauen was passiert wenn die Verbindung nicht aufgebaut werden kann, aber es darf unter keinen Umständen dazu kommen, dass das Skript eine "unendlich" lange Zeit mit dem Verbindungsaufbau verbringt.

liebe Grüße Matthias

edelbluth commented 3 years ago

Alles klar. Die MQTT-Anbindung liegt ja immer noch im develop-Branch, weil ich noch nicht dazu gekommen bin, mir ein paar sinnvolle Tests auszudenken und daher noch kein Release gebaut habe.

MaStr commented 3 years ago

Ich habe das heute Morgen mal getestet. Der MQTT Client geht mit einem Default-Timeout von 60s raus. Der Redis-Client scheint die Ursache zu sein, denn der geht erst nach 129s raus:

$ time ./check_rs500.py -c 1
unknown: Redis error

real    2m9.755s
user    0m0.069s
sys 0m0.004s

Den Connect Timeout für MQTT habe ich eingebaut. Ich mache das gleich noch für Redis.

edelbluth commented 3 years ago

Durch #50 erledigt, danke!