Hallo,
ich habe den Kalender benutzt, leider wird bei Restmüll -1 angezeigt, die anderen Tonnen funktionieren 1a. Könnt ihr helfen. Wie bekomme ich den Wert jeder Tonne in eine Variable.
BioTonne
6
2016-09-22 16:33:52
BlaueTonne
22
2016-09-22 16:33:50
GelbeTonne
14
2016-09-22 16:33:51
Restmuell
-1
2016-09-22 16:33:51
Aufbau der cFg Datei:
define Abfall Calendar ical url https://calendar.google.com/calendar/ical/adsdsddasd/basic.ics
attr Abfall hideOlderThan 2d
define notAbfalltermine notify Abfall:triggered { Abfalltermine() }
define MuellterminDummy dummy
komisch das es so ist könnt habt ihr eine IDEE?
zusätzliche wird der dummy nicht gefüllt
define MuellterminDummy dummy
das eigentlich interessante zeigst du nicht. was steht denn in der Abfalltermine() an code drin?
das steht drin
use Time::Local;
#
# Hilfsfunktion für Kalenderauswertungen
#
sub
KalenderDatum($$)
{
my ($KalenderName, $KalenderUid) = @_;
my $dt = fhem("get $KalenderName start uid=$KalenderUid 1");
my $ret = time - (2*86400); #falls kein Datum ermittelt wird Rückgabewert auf "vorgestern" -> also vergangener Termin;
if ($dt and $dt ne "")
{
my @SplitDt = split(/ /,$dt);
my @SplitDate = split(/\./,$SplitDt[0]);
$ret = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
}
return $ret;
}
#
# Abfall Kalender auswerten / Google Kalender: "Abfall"
#
sub
Abfalltermine()
{
my $t = time;
my @Tonnen = ("BlaueTonne", "GelbeTonne", "Restmuell", "BioTonne");
my @SuchTexte = (".*Papier.*", ".*Wertstoff.*", ".*Restmüll.*", ".*Bio.*");
my $uid;
my $dayDiff;
for(my $i=0; $i<4; $i++)
{
$dayDiff = -1; #BUG behoben
my @uids = split(/;/,fhem("get Abfall find $SuchTexte[$i]"));
# den nächsten Termine finden
foreach $uid (@uids)
{
my $eventDate = KalenderDatum('Abfall', $uid);
my $dayDiffNeu = floor(($eventDate - $t) / 60 / 60 / 24 + 1);
if ($dayDiffNeu >= 0 && ($dayDiffNeu < $dayDiff || $dayDiff == -1)) #BUG behoben
{
$dayDiff = $dayDiffNeu;
}
}
fhem("setreading MuellterminDummy $Tonnen[$i] $dayDiff");
}
}
du darfst gerne die code tags verwenden ;)
wie heist denn der kalendertext zu restmüll?
Restmuell hast du eine Idee?
Der Eintrag im calendar ist Restmuell 2-woechentlich
Habe es selbst gefunden Danke für den Tip
Hallo zusammen,
hatte auch versucht das Abfall Modul zum laufen zu bringen. Doch trotz Anwesenheit im FHEM-Ordner, reload ohne Probleme und shutdown restart, sagt er mir bei der define-routine "Unknown Module 57_ABFALL.pm".
Woran liegt das ?
Viele Grüße und besten Dank
André
Wie versuchst du es denn zu definieren und worüber(Web cfg)?
Hallo,
ganz normal über die Konsole.
Mit : define myAbfall ABFALL Abfall 3600
Besten Dank...
André
https://forum.fhem.de/index.php/topic,48237.465/topicseen.html
frag am besten dort, das ist das richtige unterforum (oben das war kein modul fehler sonder hier war ein eigenes script eingebunden). poste auch mal ein log auszug dort nach dem du global verbose auf 5 gesetzt hast und ein define versucht hast.
Zitat von: Stargazer am 22 September 2016, 21:50:40
Hallo,
ganz normal über die Konsole.
Mit : define myAbfall ABFALL Abfall 3600
Besten Dank...
André
Hierzu muss ein Calender Device mit dem Namen Abfall existieren.
define Abfall Calendar ical url ..... 3600
dann kannst du mit
define myAbfall ABFALL Abfall
das Abfall Modul definieren.
So besseren lesbarkeit würde ich dir empfehlen, denn Teilen ein bisschen unterschiedliche Namen zu geben, zum Beispiel cal_Abfall für das Calender Device.
Schaue auch mal hier im Wiki
http://www.fhemwiki.de/wiki/ABFALL
Gruß Constantin