Hallo zusammen,
Ich habe mich nun dazu entschieden einen kleinen FHEM Server aufzusetzen und nach und nach zu erweitern. Allerdings hänge ich gerade mit meinem Kalender an einem Problem:
Ich habe mit dem klassischem Muellkalender begonnen:
meine .ics Datei (erstmal mit nur einem Event) ist angehangen.
Meine Utilities habe ich auch entsprechend angepasst:
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
# Enter you functions below _this_ line.
sub Kalenderstart ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
if ($Kalendertext =~ /Graue_Tonne/) {
fhem("set Restmuell_Tonne ja");
};
};
}
#sub Kalenderende ($) {
# my ($Ereignis) = @_;
# my @Ereignisarray = split(/.*:\s/,$Ereignis);
# my $Ereignisteil1 = $Ereignisarray[1];
# my @uids=split(/;/,$Ereignisteil1);
# foreach my $uid (@uids) {
# my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid");
#
# if ($Kalendertext =~ /Graue_Tonne/) {
# fhem("set Restmuell_Tonne nein");
# };
#
# };
#}
1;
Die beiden Notifys sind angelegt und aktiv.
Wenn ich mir die Events im Kalender anzeigen lasse kriege ich die entsprechenden auch angezeigt (siehe Anhang).
Ich habe fuer meinen Dummy ein START event, allerdings springt er nicht auf ja. ich habe wahrscheinlich was ganz einfaches vergessen, aber ich finde es einfach nicht (hab es schon 3 mal neu gemacht um Fehler auszuschliessen).
Wäre ueber einen kleinen Tipp sehr dankbar ;)
Vielen Dank und Viele Gruesse
Daniel
Warum benutzt du nicht das ABFALL Modul? Ist besser und weniger aufwendig. Musst du aber runterladen und integrieren.
https://wiki.fhem.de/wiki/ABFALL (https://wiki.fhem.de/wiki/ABFALL)
99_myUtils.pm (Vorraussetzung ist, das pushmsg definiert ist. Kannst du aber auch für email oder telegram umschreiben)
# Abfall Tonnen fuer naechsten Tag
sub AbfallCheck() {
my $tonne = ReadingsVal("Muellabfuhr", "next_text", "0");
if (ReadingsVal("Muellabfuhr", "next_tage", "0") eq "1") {
fhem ("set pushmsg msg 'fhem' 'Müllabfuhr: $tonne rausstellen!'");
}
}
Kalender:
define Kalender_Abfall Calendar ical url <url> 14400
Modul:
define Muellabfuhr ABFALL Kalender_Abfall 3600
Pushnachricht: (20:00 Uhr)
define PushAbfall at *20:00 {AbfallCheck()}
my $Kalendertext = fhem("get Muelltonnen_Kalender summary $uid 1"); könnte helfen. (sh. commandref)
Gruß Jens