Autor Thema: Abfallkalender geht nicht mehr nach fhem update  (Gelesen 906 mal)

Offline FhemPiUser

  • Sr. Member
  • ****
  • Beiträge: 767
Abfallkalender geht nicht mehr nach fhem update
« am: 15 April 2021, 19:47:18 »
Hallo,
mein seit vielen Jahren zuverlässig laufender Abfallkalender ist seit dem letzten Fhem Update am vor ein paar Tagen nicht mehr aktualisiert.

Ich habe ein Calendar device:
defmod Abfall_Kalender Calendar ical file /opt/fhem/www/kalender/entsorgungskalender_2021.ics 21600
attr Abfall_Kalender hideOlderThan 0

ein CALVIEW:
defmod Abfall_CalView CALVIEW Abfall_Kalender
attr Abfall_CalView maxreadings 17
attr Abfall_CalView modes modeAlarm,modeStart,modeStarted,modeUpcoming

und ein notify:
defmod n_Abfalltermine notify Abfall_Kalender:modeUpcoming.* { Abfalltermine("$EVENT") }

Das notify triggert eine Funktion in myUtil, die wiederum Readings in einem Dummy setzt, wieviele Tage es noch bis zu einem Abfallevent sind. Diese Tage bzw. Readings ändern sich seit dem fhem update nicht mehr.

sub
Abfalltermine ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1); #id des Kalendereintrags
my $t = time;
my $dtPapier = ''; #Datum der Leerung
my $dtWertstoff = '';
my $dtRest = '';
my $dtSperrmuell = '';
my $dtGruen = '';

fhem("setreading MuellterminDummy Altpapier 99");
fhem("setreading MuellterminDummy GelberSack 99");
fhem("setreading MuellterminDummy Restmuell 99");
fhem("setreading MuellterminDummy Sperrmuell 99");
fhem("setreading MuellterminDummy Gruen 99");

foreach my $uid (@uids) {
   my $Kalendertext = fhem("get Abfall_Kalender summary $uid");
   if ($Kalendertext =~ /Altpapier/)
   {
      my $eventDate = KalenderDatum('Abfall_Kalender', $uid);
      if ($dtPapier eq '' || ($eventDate < $dtPapier && $eventDate > $t))
      {
         $dtPapier = $eventDate;

         my $dayDiff = floor(($dtPapier - $t) / 60 / 60 / 24 + 1);
         if ($dayDiff > 99) { $dayDiff = 99; }
         if ($dayDiff >= 0) { fhem("setreading MuellterminDummy Altpapier $dayDiff"); }
      }
   };
   if ($Kalendertext =~ /Gelber/) {
      my $eventDate = KalenderDatum('Abfall_Kalender', $uid);
      if ($dtWertstoff eq '' || ($eventDate < $dtWertstoff && $eventDate > $t))
      {
         $dtWertstoff = $eventDate;

         my $dayDiff = floor(($dtWertstoff - $t) / 60 / 60 / 24 + 1);
         if ($dayDiff > 99) { $dayDiff = 99; }
         if ($dayDiff >= 0) { fhem("setreading MuellterminDummy GelberSack $dayDiff"); }
      }
   };
   if ($Kalendertext =~ /Restmüll/) {
      my $eventDate = KalenderDatum('Abfall_Kalender', $uid);
      if ($dtRest eq '' || ($eventDate < $dtRest && $eventDate > $t))
      {
          $dtRest = $eventDate;

          my $dayDiff = floor(($dtRest - $t) / 60 / 60 / 24 + 1);
          if ($dayDiff > 99) { $dayDiff = 99; }
          if ($dayDiff >= 0) { fhem("setreading MuellterminDummy Restmuell $dayDiff"); }
      }
   };
   if ($Kalendertext =~ /Sperrmüll/) {
      my $eventDate = KalenderDatum('Abfall_Kalender', $uid);
      if ($dtSperrmuell eq '' || ($eventDate < $dtSperrmuell && $eventDate > $t))
      {
         $dtSperrmuell = $eventDate;
         my $dayDiff = floor(($dtSperrmuell - $t) / 60 / 60 / 24 + 1);
         if ($dayDiff > 99) { $dayDiff = 99; }
         if ($dayDiff >= 0) { fhem("setreading MuellterminDummy Sperrmuell $dayDiff"); }
      };
   };
   if (($Kalendertext =~ /Grünrückstände/) or ($Kalendertext =~ /Weihnachtsbäume/)) {
      my $eventDate = KalenderDatum('Abfall_Kalender', $uid);
      if ($dtGruen eq '' || ($eventDate < $dtGruen && $eventDate > $t))
      {
         $dtGruen = $eventDate;
         my $dayDiff = floor(($dtGruen - $t) / 60 / 60 / 24 + 1);
         if ($dayDiff > 99) { $dayDiff = 99; }
         if ($dayDiff >= 0) { fhem("setreading MuellterminDummy Gruen $dayDiff"); }
      };
   };
}
}


Scheinbar wird der notify nicht mehr getriggert. Gleiches gilt für andere Kalender bei mir in fhem, die nach dem gleichen Prinzip funktionieren. Es kann also nicht an der Kalenderdatei liegen, sondern muss ein grundsätzliches Problem sein.

Hat jemand eine Idee, woran das liegen könnte?

Hat sich etwas in den Calendar-Modul geändert? Gibt es kein "modeUpcoming" mehr?
« Letzte Änderung: 15 April 2021, 19:49:17 von FhemPiUser »

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3385
  • ... wer sät, der erntet ...
Antw:Abfallkalender geht nicht mehr nach fhem update
« Antwort #1 am: 15 April 2021, 19:53:30 »
Zitat
Hat sich etwas in den Calendar-Modul geändert? Gibt es kein "modeUpcoming" mehr?

Ich meine ja, hab nur noch die lastUpdate,nextUpdate und nextWakeup-Readings.

Offline FhemPiUser

  • Sr. Member
  • ****
  • Beiträge: 767
Antw:Abfallkalender geht nicht mehr nach fhem update
« Antwort #2 am: 15 April 2021, 19:56:04 »
tatsächlich.

Habe das attr hasModeReadings auf 1 gesetzt und jetzt geht es wieder mit modeUpcoming.

Ist irgendwo beschrieben, wie sich die modes geändert haben? Was ersetzt modeUpcoming jetzt?


Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19188
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Abfallkalender geht nicht mehr nach fhem update
« Antwort #3 am: 15 April 2021, 19:59:55 »
Beschreibung https://commandref.fhem.de/#Calendar
ich glaube die Änderung war vor zwei Jahren?  ::)
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline FhemPiUser

  • Sr. Member
  • ****
  • Beiträge: 767
Antw:Abfallkalender geht nicht mehr nach fhem update
« Antwort #4 am: 15 April 2021, 20:50:11 »
ahh, danke, irgendwie hatte ich es in der commndref überlesen.

Aber ich wundere mich, dass es bis zu meinem letzten fhem update vor 4 Tagen ging. Ich mache sicherlich deutlich häufiger als alle 2 Jahre ein fhem update.

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19188
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Abfallkalender geht nicht mehr nach fhem update
« Antwort #5 am: 15 April 2021, 21:23:17 »
die letzte Änderung war am 17.3.2021
Ich habe aber jetzt auch erst gesehen, dass die Events weggefallen sind. Aber ich reagiere darauf auch nicht.
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266