Ich kann keine TXT-DATEI erstellen über Fhem

Begonnen von Testylon, 16 November 2019, 09:54:43

Vorheriges Thema - Nächstes Thema

Testylon

Guten Tag,

ich bräuchte mal eure Hilfe :).
Ich möchte eine TXT-Datei in Perl erstellen, die mir dann Lokal auf den Raspi gespeichert wird.
Dafür habe ich eine 99_myuntis... erstellt und folgendem Code hingeschrieben:

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;}
 
# Enter you functions below _this_ line.


sub SvgToPng {
open(my $fh, ">/home/pi/output.txt") or die; my $i;
my $r;
for($i=0; $i<=3; $i++) {
$r = int(rand(10));
print "$r\n";
print $fh "$r\n";
}
close($fh);
 
}


1;



Wenn ich den Code abspeichern tue, wird mir keine Fehlermeldung angezeigt, aber auch wird keine TXT-Datei erstellt.

Was mache ich nur falsch?

Mit freundlichen Grüßen,

Testylon

Frank_Huber

Hat der User fhem in dem Ordner Rechte?

Gesendet von meinem S60 mit Tapatalk


Testylon

Wie gebe ich den Fhem die Rechte für den besagten Ordner?


Gruß,

Testylon

MadMax-FHEM

Muss die Datei unbedingt unter /home/pi liegen!?

Es ist auf Linux-Systemen (aber auch anderen) so, dass es getrennte User-Verzeichnisse gibt, um eben ein (versehentliches) Schreiben (bzw. Zugriff) zwischen Usern zu vermeiden...

Also entweder die Dateirechte unter /home/pi "aufbohren" oder die Datei als User fhem mittels "sudo" schreiben (und besser nachher die User-Verhältnisse wieder "gerade rücken": sudo chown pi:pi PFAD/DATEINAME )...

"Aufbohren" widerspricht halt dem "Gedanken"...


Alternativ (siehe erste Frage): muss es genau dort sein!?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Testylon

Danke für deine Antwort.

Ich habe gerade Fhem die benötigte Rechte gegeben (sudo chown pi:pi /Home/pi)
soweit hat es auch geklappt.

Nur will Fhem trotzdem nicht , die TXT-Datei erstellt.


Mit freundlichen Grüßen,

Testylon

MadMax-FHEM

#5
Zitat von: Testylon am 16 November 2019, 10:28:37
Danke für deine Antwort.

Ich habe gerade Fhem die benötigte Rechte gegeben (sudo chown pi:pi /Home/pi)
soweit hat es auch geklappt.

Nur will Fhem trotzdem nicht , die TXT-Datei erstellt.


Mit freundlichen Grüßen,

Testylon

EDIT: und wenn du tatsächlich Home statt home geschrieben hast, hätte ein Fehler kommen MÜSSEN! Weil das Verzeichnis gibt es gar nicht! Zumindest bei mir nicht ;)

Bitte BEVOR du "einfach" irgendwelche Linux-Befehle einhackst erst mal LESEN WAS die machen!!

Und bitte auch ALLES lesen was Helfer schreiben!

EDIT: und auch GENAU lesen! Weil ich geschrieben hatte: sudo chown pi:pi /PFAD/DATEI und nicht "nur" /PFAD/ ! ABER NOCHMAL: DAS IST NICHT DIE LÖSUNG FÜR DEIN PROBLEM, DASS DER USER FHEM DORT SCHREIBEN DARF!!!

Also das Kommando (chown : change owner) sorgt NACH einem Kopieren mittels sudo (superuser do) dafür, dass der User pi (daher auch pi:pi) diese durch sudo angelegte Datei wieder nutzen kann bzw. er keine Dateien in "seinem" Verzeichnis liegen hat die NUR "root" bearbeiten kann/darf!

Andere Frage: was genau willst du denn erreichen? Warum muss die Datei (offenbar) genau DORT (/home/pi) liegen!?

EDIT: Nachtrag: wenn du dich zukünftig auf einem Linux-System bewegen willst (fhem läuft bei dir ja offenbar unter Linux), dann wäre es ratsam (fast Pflicht) sich damit auseinander zu setzen! Meine Meinung...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Zitat von: Testylon am 16 November 2019, 10:28:37
Danke für deine Antwort.

Gerne...



Zitat von: Testylon am 16 November 2019, 10:28:37
Ich habe gerade Fhem die benötigte Rechte gegeben (sudo chown pi:pi /Home/pi)
soweit hat es auch geklappt.

NEIN: damit hast du das gemaht was eigentlich schon immer war. Die Dateien im Verzeichnis /home/pi dem User pi "(zurück)gegeben"... Unnötig, weil normalerweise "gehören" die schon dem User pi. Es ist ja sein "Home-Verzeichnis". Daher kann der User fhem (unter dem fhem nun mal läuft) wie du gemerkt hast nicht "einfach so" schreiben...
Geklappt aber nur, wenn du home statt Home geschrieben hast... ;)



Zitat von: Testylon am 16 November 2019, 10:28:37
Nur will Fhem trotzdem nicht , die TXT-Datei erstellt.

KLAR! Siehe Erläuterung von zuvor...

Noch mal die Frage: WAS willst du erreichen (also Datei schreiben ist klar / aber wozu usw.)!? UND: muss die Datei GENAU DORT liegen!? Und wenn: WARUM!? (also was ist dann das Ziel!? ;)  )

EDIT: und bevor du dir dein System komplett "zerschießt" -> bitte besser (etwas) mit Linux beschäftigen... Nur gut gemeint...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)