FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bubaer am 19 Dezember 2019, 21:45:27

Titel: define
Beitrag von: Bubaer am 19 Dezember 2019, 21:45:27
Hallo zusammen,

bin ganz neu in dem Thema FHEM. Nun habe ich sooooo viele ? im Kopf. Hoffe die ? werden bald weniger. Aber eins beschäftige mich besonders.
Kann ich beim anlegen von Geräten mit dem Befehl define dynamisch angaben machen?

z.B.: define Muell ABFALL Abfall-<Jahr>.ics
        define <Name> ABFALL <calendarname>,<calendarname2>,...

Also bei <Jahr> eine Variable setzen.

Gruß
Bubaer
Titel: Antw:define
Beitrag von: amenomade am 19 Dezember 2019, 22:21:09
Nein, nicht wenn es vom Modulautor nicht vorgesehen ist.
Z.B. bei der Definition von einer FileLog gibt es einige Wildcards. Aber sonst geht es nicht
Titel: Antw:define
Beitrag von: Bubaer am 19 Dezember 2019, 22:38:52
Hallo amenomade,

vielen dank für die schnelle Antwort. Also ist in diesem Fall wohl besser den bestehenden Kalender weiter zu führen und ein mal im Jahr zu importieren.

Gruß
Bubaer
Titel: Antw:define
Beitrag von: Otto123 am 20 Dezember 2019, 00:00:14
Hi,

also das Modul Calendar kann das:
https://fhem.de/commandref_modular.html#Calendar

Was Du machen willst erscheint mir unlogisch. Das Modul Abfall verweist in der DEF auf ein Gerät vom Type Calendar und nicht auf eine ICS Datei!
Aber ich rate Dir: nimm nicht das Modul ABFALL
Mach es einfach mit Calendar. Beispiel:
defmod AbfallKalender Calendar ical url https://calendar.google.com/calendar/ical/bumf5n64fr8s8f99vlfu06a87k%40group.calendar.google.com/private-058f78026c3b29446a489b2202aa3f53/basic.ics 86400
attr AbfallKalender comment Alternative zur Abfrage mit ? im userReadings\
$day=~s/1/morgen/;;;;$day=~s/0/heute/;;;;return $day
attr AbfallKalender cutoffOlderThan 0
attr AbfallKalender hideOlderThan 0
attr AbfallKalender onCreateEvent { $e->{alarm}= $e->{start}-43200 }
attr AbfallKalender room Abfall
attr AbfallKalender userReadings nextWasteDays {my $day = int((fhem('get '.$name.' events format:custom="$t1" limit:from=0,count=1',1) + 86399 - time)/86400);;\
                  $day?eval{$day>1?$day:"morgen"}:"heute"},\
Tonne {fhem('get '.$name.' events format:custom="$S" limit:from=0,count=1',1)}



Gruß Otto
Titel: Antw:define
Beitrag von: Bubaer am 20 Dezember 2019, 15:36:42
Hallo Otto,

vielen Dank für den interessanten Ansatz. Werde ich mal testen.

Gruß
Bubaer