[Gelöst] Datei über ein Script öffnen/aktualisieren

Begonnen von Bozan, 19 Januar 2018, 17:49:18

Vorheriges Thema - Nächstes Thema

Bozan

Hallo!
Zunächst: ich bin blutiger Anfänger in FHEM und Perl, beiße mich aber schon ganz gut durch.
Hier im Forum hab ich eine Routine gefunden, um Kalendereinträge in Fhem zu importieren, bzw. die Kalenderdatei automatisch zu aktualisieren. Allerdings bekomme ich dabie immer eine Fehlermeldung:

Calendar Ferien: retrieved no or empty data

sub getCalendar(){
   my $ret;
   my $year=strftime("%Y",localtime);
   $ret = system("sudo wget -O feiertage.ics https://www.ferienwiki.de/exports/feiertage/2018/de/rheinland-pfalz");
   $ret = system("sudo wget -O ferien.ics http://www.ferienwiki.de/exports/ferien/2018/de/rheinland-pfalz");

};


Gebe ich aber folgenden Befehl direkt bei FHEM in die Konsole ein, dann wird die gewünschte Datei erzeugt/aktualisiert.

{system("sudo wget -O ferien.ics http://www.ferienwiki.de/exports/ferien/2018/de/rheinland-pfalz")}

Wo ist der Unterschied, bzw. wieso funktiniert das im Script nicht?
Wenn ich noch irgendwelche weiteren Infos benötigt, dann bitte einfach danach fragen.
Besten Dank für Eure Hilfe!

Amenophis86

Warum willst du es erst als Datei speichern? Das Kalendermodul kann doch direkt mit URLs umgehen, oder übersehe ich etwas?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

Zitat von: Amenophis86 am 19 Januar 2018, 18:03:56
Das Kalendermodul kann doch direkt mit URLs umgehen

das Calendar-Modul zu benutzen wäre für einen

Zitat von: Bozan am 19 Januar 2018, 17:49:18
Zunächst: ich bin blutiger Anfänger in FHEM und Perl

blutigen Anfänger vermutlich eine zu primitive Lösung...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Hallo Bozan,

um auf Deine eigentliche Frage einzugehen, ich habe Deinen Code so wie er ist in meine 99_myUtils kopiert und er funktioniert.
Eine Sache fällt mir auf: Du brauchst kein sudo, wozu auch?!

Das Problem ist also nicht der Code sondern die Art wie Du ihn bei Dir eingebunden hast, dazu hast Du leider nicht geschrieben.

Hier noch was zum lesen. -> https://wiki.fhem.de/wiki/99_myUtils_anlegen

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Bozan

Hallo Otto,

besten Dank für Deine Antwort. Schön, wenn jemand konstruktiv vorgeht.
Ich werde mir die Doku im wiki noch einmal vornehmen, evtl. finde ich dann die Ursache.
Imemrhin gut zu wissen, dass es am Code nicht liegt.
Sollte ich nicht weiterkommen, schreibe ich noch einmal meine gesamte myUtils.

Schönen Abend noch,

Bozan

Amenophis86

Zitat von: Bozan am 19 Januar 2018, 19:20:05
besten Dank für Deine Antwort. Schön, wenn jemand konstruktiv vorgeht.

Mir ist jetzt nicht ganz klar was an meiner Aussage nicht konstruktiv war, wenn ich dich auf eine einfachere Lösung hinweisen möchte. Aber Joa, viele Wege führen nach Rom.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

Eigentlich steht in der myUtilsTemplate.pm unter Edit Files alles Wesentliche drin.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

@Bozan

Nur mal interessehalber - und die Frage ist ernst gemeint:

was willst Du mit der ics-Datei manuell machen, was das Calendar-Modul damit nicht out-of-the-box kann?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86

Zitat von: CoolTux am 19 Januar 2018, 20:11:54
Er meinte Otto damit glaube ich.

Also meinte er mit nicht konstruktiv auch mich und das wollte ich wissen :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

Mach Dir nix draus.

"Blutige Anfänger" neigen gernem und oft dazu, Rückfragen und Hinweise auf andere (vorhandene) Module als "nicht konstruktiv" zu betrachten.

Dabei übersehen sie allerdings die Tatsache, dass es Hilfewilligen oftmals leichter fällt, eine Lösung vorzuschlagen, wenn man das eigentliche Ziel hinter einer Frage kennt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Bozan

Guten Morgen!

So, gestern hatte ich leider nicht mehr genug Zeit ui antworten.
Zunächst: das Problem lag tatsächlich im Aufbau der myUtils. Ich hatte die Zeilen ans Ende kopiert und dabei völlig aus dem Auge verloren, dass die datei mit 1; zu enden hat... Anfängerfehler eben...

Doch das hat mich nun gut weitergebracht, da ich bei der genauen Durchsicht des Codes auf ein paar weitere Denkfehler gestossen war. Nun verstehe ich den kopierten Code deutlich besser und werde dann (wenn wieder etwas mehr zeit ist) bestimmt auch den rest noch hinbekommen.
Schritt für Schritt eben.

Warum ich es nicht über das Calender Modul mache? Ich nutze das Calender Modul, allerdings geht es eben hierbei darum, die Kalenderdatei regelmäßig und vor allem automatisiert zu aktualisieren. Sprich einmal im Jahr ein Download der ics-Datei. Dafür hatte ich eben genau so einen beispielcode gefunden.
Das "sudo" stand dort natürlich nicht drin, das war lediglich einer meiner Versuche, die Fehlermeldung weg zu bekommen, da ich glaubte, dass evtl. die Rechtevergabe das Problem sei... was es aber ja nicht war.

Danke also zunächst, jetzt kann ich weiter "basteln". Es ist ja noch kein Meister vom Himmel gefallen.

KernSani

Können wir das dann auf "gelöst" setzen (Subject des ersten Posts ändern und [Gelöst] davor schreiben? Oder möchtest du den Thread offen lassen, bis du es endgültig geschafft hast?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Ah, Mist... Nicht schliessen, sondern das Subject des ersten Post ändern... Bitte mal hier nachlesen
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Amenophis86

Sry, musste jetzt nochmal öffnen.

Also A) musst du deinen Code anpassen, wenn er jedes Jahr die Datei holen soll, weil die Jahreszeit in der URL ist. B) macht es in meinen Augen immer noch mehr Sinn das Kalendermodul die Arbeit machen zu lassen und diese kann man zB zu Beginn des Jahres (zB ein at) über defmod die Definition ändern, welche automatisch das aktuelle Jahr einsetzt. So sparst du dir die ganzen Probleme, welche du aktuell hast. Aber wie gesagt, viele Wege führen nach Rom.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...