Autor Thema: Variable in define?  (Gelesen 863 mal)

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 238
Variable in define?
« am: 16 Dezember 2017, 13:51:15 »
Hallo zusammen,


Ich habe einen kalender, dieser wird nur einmal im jahr aktualisiert. aber in der URL ändert sich nur das Jahr.


Kann ich das im define irgendwie einbauen?

define MUELL CALENDER ical url http://www.kriftel.de/fileadmin/user_upload/pdf/abfallentsorgung/Abfallkalender_2018_1_3.ics 86400
Quasi so:

define MUELL CALENDER ical url http://www.kriftel.de/fileadmin/user_upload/pdf/abfallentsorgung/Abfallkalender_$YEAR_1_3.ics 86400

« Letzte Änderung: 16 Dezember 2017, 14:05:03 von AmunRe »
FHEM 5.8 , 4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline marvin78

  • Hero Member
  • *****
  • Beiträge: 5190
Antw:Variable in define?
« Antwort #1 am: 16 Dezember 2017, 14:11:07 »

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 238
Antw:Variable in define?
« Antwort #2 am: 16 Dezember 2017, 21:42:17 »

https://fhem.de/commandref_DE.html#perl


Wenn ich es so versuche:
ical url http://www.kriftel.de/fileadmin/user_upload/pdf/abfallentsorgung/Abfallkalender_{$year}_1_3.ics 21600

Passiert das:


Zitat
2017.12.16 21:37:21 1: PERL WARNING: Use of uninitialized value $ics in split at ./FHEM/57_Calendar.pm line 930.
2017.12.16 21:37:21 2: Calendar Muell: error (data not in ICal format; even not gzip data)




Steht aber auch in dem Modul das es sich hierbei eigentlich auf at/notify bezieht. Geht das also überhaupt?
« Letzte Änderung: 16 Dezember 2017, 22:46:26 von AmunRe »
FHEM 5.8 , 4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs

Offline marvin78

  • Hero Member
  • *****
  • Beiträge: 5190
Antw:Variable in define?
« Antwort #3 am: 17 Dezember 2017, 07:07:56 »
Du hast recht. Ich vergesse das immer, da ich die Perl Specials, wenn sinnvoll, in meine eigenen Module mit einbaue.

Aber du kannst dir hier mit einem at und defmod helfen, einfach jährlich die URL im define durch das at ändern.

Offline Beta-User

  • Hero Member
  • *****
  • Beiträge: 3813
Antw:Variable in define?
« Antwort #4 am: 17 Dezember 2017, 08:31:16 »
Ergänzender Vorschlag, da sich dieser Kalender ja nie ändert: wget nehmen, einmal jährlich den Kalender lokal unter demselben Namen abspeichern und in FHEM als file definieren.

Gruß, Beta-User
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | VCCU mit einiger HM-Hardware | MySensors seriell (2.3.1-beta@RS485, div. konkrete Hardware, u.a. einige DS18B20) | Milight@ESP-GW | SIGNALduino | MapleCUN
Zustimmung Zustimmung x 1 Hilfreich Hilfreich x 1 Liste anzeigen

Offline AmunRe

  • Full Member
  • ***
  • Beiträge: 238
Antw:Variable in define?
« Antwort #5 am: 17 Dezember 2017, 11:50:51 »
Ergänzender Vorschlag, da sich dieser Kalender ja nie ändert: wget nehmen, einmal jährlich den Kalender lokal unter demselben Namen abspeichern und in FHEM als file definieren.

Gruß, Beta-User


Danke für diesen Hinweis. Genau so hab ich es jetzt gelöst.

Du hast recht. Ich vergesse das immer, da ich die Perl Specials, wenn sinnvoll, in meine eigenen Module mit einbaue.

Aber du kannst dir hier mit einem at und defmod helfen, einfach jährlich die URL im define durch das at ändern.




Ja, scheint mir auch Sinnvoll dies zu tun.  Schade, egal, ich hab ja jetzt eine Möglichkeit. Wobei ich mir das mit dem at und defmod noch mal anschaue, da brauch ich kein zusätzliches script mit wget.
FHEM 5.8 , 4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue, Osram Lightify Gateway + Plugs