juergen-rocks / raumklima

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

Laden der Konfiguration funktioniert nicht mit vorangestellten "python" #3

Closed MaStr closed 6 years ago

MaStr commented 6 years ago

https://github.com/juergen-rocks/raumklima/blob/5099980089ab9a957223344b2ef73fd1e7c49c73/src/save_rs500_to_redis.py#L18

Also vorab: super elegant gelöst.. ich bin echt soo super schwach in Python...

Aber die Zeile klemmt, wenn man versucht wie folgt das Skript auszuführen:

python3 save_rs500_to_redis.py

Denn dann ist wird plötzlich folgender Pfad ermittelt:

open("/rs5002redis.ini", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)

(habe es mit einem strace gedebugged.

Das ist etwas ungeschickt, da im Repository der Filemode +x auch nicht bei den python files gesetzt ist.. Ich weiß, "works for me" und nun für mich auch.. aber ein Hinweis wäre super cool

edelbluth commented 6 years ago

Ein sinnvoller Ansatz wird hier sein, die Konfiguration an mehren Stellen zu suchen:

Ich mache mir mal Gedanken darüber.

edelbluth commented 6 years ago

In der aktuellen Version (seit Commit 228364e1fb3ebca44c7ef0abd9043205cb6572f6) werden nun die Konfigurationsdateien an verschiedenen Stellen gesucht.

Für das konkrete Problem von @MaStr gibt es nun also mehrere Lösungsmöglichkeiten:

Außerdem erfolgt nun eine klarere Fehlermeldung, wenn die Dateien nicht gefunden werden. Beispiel: FileNotFoundError: Unable to find configuration file „check_rs500.ini“

Damit sollte klarer sein, was konkret nicht gefunden werden konnte.

MaStr commented 6 years ago

Hammer! Ich probiere das später mal aus.

Vielen Dank für deine Anpassung und dem konstruktiven Umgang mit dem Feedback, Liebe Grüße aus Wiesbaden Matthias

On 18. Aug 2018, at 10:43, Juergen Edelbluth notifications@github.com wrote:

In der aktuellen Version (seit Commit 228364e) werden nun die Konfigurationsdateien an verschiedenen Stellen gesucht.

Für das konkrete Problem von @MaStr gibt es nun also mehrere Lösungsmöglichkeiten:

Die Konfigurationsdateien wandern alle ins /etc-Verzeichnis. Rein nach LSB wären sie dort auch korrekt untergebracht. Die Umgebungsvariable RS500_CONFIG_PATH wird auf das Verzeichnis gesetzt, in dem aktuell die Konfigurationsdateien liegen. Außerdem erfolgt nun eine klarere Fehlermeldung, wenn die Dateien nicht gefunden werden. Beispiel: FileNotFoundError: Unable to find configuration file „check_rs500.ini“

Damit sollte klarer sein, was konkret nicht gefunden werden konnte.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

MaStr commented 6 years ago

Moin, funktioniert prima, danke!

Liebe Grüße Matthias