NEWS
Java Script - Schreiben in CSV
-
Guten Tag zusammen,
ich habe aktuell ein Problem mit meinen Java Scripten nach der Umstellung auf Java Script 8.8.3. Im Script schreibe ich Werte in eine CSV Datei, was aktuell nicht mehr funktioniert. Scheinbar wird der admin User disconnected. Hat jemand einen Tipp für mich?
Danke & vg
[javascript.0 2024-10-27 11:26:21.941 info script.js.53_WP_Monat_CSV: exec: echo "2024.10,309 ,198.7, 11.25" >> /etc/grafana/WP_Daten.csv javascript.0 2024-10-27 11:26:16.932 info script.js.53_WP_Monat_CSV: exec: sed -i '/^#/d' /etc/grafana/WP_Daten.csv javascript.0 2024-10-27 11:26:11.916 info script.js.53_WP_Monat_CSV: exec: sed -i s/2024.10/#2024.10/g /etc/grafana/WP_Daten.csv admin.0 2024-10-27 11:22:28.182 info <== Disconnect system.user.admin from ::ffff:192.168.178.22 javascript admin.0 2024-10-27 11:22:28.182 info <== Disconnect system.user.admin from ::ffff:192.168.178.22 javascript admin.0 2024-10-27 11:22:26.073 info ==> Connected system.user.admin from ::ffff:192.168.178.22 admin.0 2024-10-27 11:22:21.943 info ==> Connected system.user.admin from ::ffff:192.168.178.22
-
@smartuser_1 sagte in Java Script - Schreiben in CSV:
/etc/grafana/WP_Daten.csv
/etc/grafana ist auch der falsche Ort für sowas. Leg die Daten in ein anderes Verzeichnis und prozessier die von dort aus.
Z. B. /home/iobrokerSiehe:
https://www.debian.org/releases/stable/amd64/apcs02.en.html
Nach /etc gehören also die Host-specific system configuration, nicht deine gesammelten Werte der Wärmepumpe. -
Vielen Dank für Deine Rückmeldung. Ich habe das Ganze jetzt nochmal in einen anderen Verzeichnis wie vorgeschlagen ausprobiert und es hat funktioniert.
Jetzt hänge ich allerdings an Grafana. Dort kann man als CSV Datenquelle einen lokalen Ort definieren, der in meinen Fall unter Local: "/etc/grafana" definiert war.Wenn ich da jetzt den Ort mit "/home/raspberrypi/pi/iobroker" angebe findet er nichts. Muss ich diesen Ordner noch mit Rechten freischalten?
-
Gleiche Nummer.
Der User, unter dem Grafana läuft muss Zugriff auf die Datei haben (und auch überhaupt in das Verzeichnis wechseln können).
Wie sehen die Rechte da derzeitig aus? -
die Dateien habe ich mit den Befehl sudo chmod 777 freigeschaltet und sehe diese dann auch über mein verbundenes Netzlaufwerk auf den Windows Rechner. Am Ordner selber habe ich nichts gemacht
-
@smartuser_1 sagte in Java Script - Schreiben in CSV:
sudo chmod 777
777 ist auch die Unglückszahl...
ls -l /home/
sagt?
-
pi@raspberrypi:~/iobroker $ ls -l /home/ insgesamt 16 drwxr-xr-x 2 admin admin 4096 21. Nov 2022 admin drwxr-xr-x 5 iobroker iobroker 4096 4. Okt 21:31 iobroker drwxr-xr-x 20 pi pi 4096 28. Okt 09:53 pi drwxr-xr-x 3 ULD1 users 4096 20. Nov 2022 ULD1
-
Freies herumwurschteln für alles und jeden. Passt...
-
ja, ich bin da leider am kämpfen und nicht der Profi
Muss evtl. das Verzeichnis noch freigeschaltet werden? In der Samba Datei habe ich folgendes hinterlegt und verstehe nicht, warum etc/grafana funktioniert:[PiFreigabe] comment=raspberrypi path=/home/pi/Freigabeordner browseable=Yes writeable=Yes only guest=No create mask=0777 directory mask=0777 public=no [Pi-iobroker] comment=raspberry Pi Share path=/home/iobroker browseable=Yes writeable=Yes only guest=No create mask=0777 directory mask=0777 public=no [Pi-Grafana] comment=raspberry Pi Share path=/etc/grafana browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no [iobroker] comment=raspberry Pi Share path=/home/pi/iobroker browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=yes
-
Wie kommt denn da nun smb ins Spiel?
-
zum einen weil ich den Ordner auch gerne unter Windows (als Netzlaufwerk) sharen wollte, -> das funktioniert auch
das andere war nur eine Vermutung, warum Grafana den Ordner nicht erkennt bzw. zugreifen kann -
Ich hab selber kein Grafana im Einsatz.
-
danke Dir.
Fällt Dir sonst noch etwas ein, könnte evtl. der Ordner für Grafana User oder ähnliches nicht freigegeben sein? -
Das Heimverzeichnis des 'pi' ist für Hinz-und-Kunz offen.
Welche Rechte hat denn die csv-Datei? -
-
ls -l
auf die Datei. -
pi@raspberrypi:~/iobroker $ ls -l PV_Daten.csv -rwxrwxrwx 1 root root 4988 30. Okt 09:45 PV_Daten.csv
sollte damit ja passen.
Ich habe die Daten jetzt im Verzeichnis etc/grafana freigegeben und damit funktioniert das Java Script wieder.
Wie Du erwähnt hast, ist das nicht das optimale Verzeichnis und ich hätte es gerne geändert. Scheinbar ist es aber ein Grafana Problem, ist zumindest auch von einen anderen User als Issue gemeldet.https://github.com/grafana/grafana-csv-datasource/issues
Danke nochmals für die Unterstützung und Hilfe! Vg
-
@smartuser_1 sagte in Java Script - Schreiben in CSV:
-rwxrwxrwx 1 root root 4988 30. Okt 09:45 PV_Daten.csv
was hast du gemacht?
wiedo gehört die Datei dem root? -
Ich habe die Datei mit den Befehl sudo chmod 777 freigegeben. Ist das nachteilig bzw. was handle ich mir damit ein?
-
Man vergibt nicht ALLE Rechte an ALLE user.
Man vergibt nur an die erforderlichen User/Gruppen nur die notwendigsten Rechte.
Niemand muss eine csv-Datei ausführen. Also reicht da schon mal 666 an Rechten. Und dann gehören dem root niemals irgendwie generierte Daten. Die Datei gehört immer dem user, der auch die Daten anliefert. Wenn das klar ist, wer da wie drauf zugreifen darf wird da wohl irgendwas wie iobroker:iobroker 640 die richtige Einstellung sein.Wenn ich es als Angreifer z. B. schaffe in die csv-Datei ausführbaren Code einzuschleusen haste ein Problem.
Genauso funktionieren nämlich die meisten Angriffe. Man sucht eine nicht abgeschlossene Türe und jubelt da den eigenen Code unter.