Hauptmenü

Abfallkalender

Begonnen von slogan11, 22 Februar 2016, 10:01:05

Vorheriges Thema - Nächstes Thema

slogan11

Hallo zusammen,

ich habe eine Frage bzgl. meines Abfallkalenders. Dieser Updated sich seit ca. 7 Tagen nicht mehr und ich weiß nicht warum im STATE sollte normalerweise ACTIVE stehen es wird aber triggered angezeigt und ich weis nicht wieso. ( Bild siehe Anhang)
Leider erscheinen auch keinerlei Einträge im LOG.

(http://unbenannt.png)




Meine FHEM - Config lautet wie folgt:

#MuellKalender
define Abfall Calendar ical url https://calendar.google.com/calendar/ical/.....................................................................................
attr Abfall room Kalender

define Abfall_Update notify Abfall:(modeUpcoming|modeAlarmOrStart).* {Abfalltermine("$EVENT")}
attr Abfall_Update room Kalender

#MuellKalender

define Papiertonne dummy
attr Papiertonne group Abfall Countdown
attr Papiertonne room Kalender
define Restmuell dummy
attr Restmuell group Abfall Countdown
attr Restmuell room Kalender
define Gelbetonne dummy
attr Gelbetonne group Abfall Countdown
attr Gelbetonne room Kalender
define Biomuell dummy
attr Biomuell group Abfall Countdown
attr Biomuell room Kalender

define Psh_Papiertonne at *18:00:00 {if(Value("Papiertonne") eq "1") {fhem ("set myPushover msg 'Müllkalender' 'Morgen wird die Papiertonne abgeholt'")} }
define Psh_Restmuell at *18:00:00 {if(Value("Restmuell") eq "1") {fhem ("set myPushover msg 'Müllkalender' 'Morgen wird der Restmuell abgeholt'")} }
define Psh_Gelbetonne at *18:00:00 {if(Value("GelberSack") eq "1") {fhem ("set myPushover msg 'Müllkalender' 'Morgen wird der Gelbe Sack abgeholt'")} }
define Psh_Biomuell at *18:00:00 {if(Value("Biomuell") eq "1") {fhem ("set myPushover msg 'Müllkalender' 'Morgen wird der Biomuell abgeholt'")} }

define Muellalert dummy
attr Muellalert event-on-change-reading state
attr Muellalert room Kalender

define at_Muellalert at *06:00:00 {if(Value("Papiertonne") eq "1" || Value("Restmuell") eq "1" || Value("Gelbetonne") eq "1" || Value("Biomuell") eq "1") {fhem("set Muellalert on")} else { fhem("set Muellalert off")}}






kumue

Das Kalender-Modul wurde überarbeitet und sicher hast Du vor 7 Tagen ein Update gefahren...

siehe zum Kalender-Modul
http://fhem.de/commandref_DE.html#Calendar

Es gibt jetzt auch eine neues Abfall-Modul, welches mit dem neuen Kalender harmoniert...
http://forum.fhem.de/index.php/topic,48237.0.html

Tommy82

Hi, also ich hab gestern fhem geupdatet und mein abfallkalender aktualisiert sich nicht mehr.
Geht das mit dem kalendermodul jetzt nicht mehr!?


Gesendet von iPhone mit Tapatalk
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

josburg

#3
Hallo,

ich hatte auch das Problem, dass mein Abfall-Kalender nach dem FHEM-Update nicht mehr funktioniert hat.
Gestern habe ich mit der Unterstützung des Forums meine Probleme gelöst.

Eine Schritt-für-Schritt Doku habe ich hier erstellt, wie der Abfall-Kalender bei mir aktuell funktionsfähig realisiert ist:
http://raspberrypi.crmvy3qiisdstf8c.myfritz.net/wordpress/?p=496

Bei Fragen hierzu bitte einfach kurz melden.

Viele Grüße
Jens


P.S.: In der CommandRef
http://fhem.de/commandref.html#Calendar
wurde folgendes als deprecated beschrieben. Wahrscheinlich scheitert es hieran:

<reading> all calendar events listed in the reading <reading> (modeAlarm, modeAlarmed, modeStart, etc.) - this is deprecated and will be removed in a future version, use mode=<regex> instead.

sowie, was ich davor noch nicht gesehen habe (evtl. neu?)
hideOlderThan <timespec>
hideLaterThan <timespec>


slogan11

Hallo zusammen mein Kalender hat sich jetzt einmal Upgedatet. Aber heute nicht mehr es erscheint folgende Meldung im LOG:


Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtilsMuell.pm line 16.
"my" variable $dayDiff masks earlier declaration in same scope at ./FHEM/99_myUtilsMuell.pm line 81.
"my" variable $dayDiff masks earlier declaration in same scope at ./FHEM/99_myUtilsMuell.pm line 85.
"my" variable $dayDiff masks earlier declaration in same scope at ./FHEM/99_myUtilsMuell.pm line 89.
Subroutine Abfalltermine redefined at ./FHEM/99_myUtilsMuell.pm line 22.
2016.02.22 10:40:30 1: reload: Error:Modul 99_myUtilsMuell deactivated:

2016.02.22 10:40:30 1: reload: Error:Modul 99_myUtilsTemplate deactivated:


Meine 99_UtilsMuell.pm sieht wie folgt aus:

##############################################
# $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;
use Time::Local;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

sub
Abfalltermine ($)
{
  my ($Ereignis) = @_;
  my @Ereignisarray = split(/.*:\s/,$Ereignis);
  my $Ereignisteil1 = $Ereignisarray[1];
  my @uids=split(/;/,$Ereignisteil1);
  my $t  = time;
  my $dtPapier = '';
  my $dtWertstofftonne = '';
  my $dtRest = '';
  my $dtBiomuell = '';
   foreach my $uid (@uids) {
    my $Kalendertext = fhem("get Abfall summary $uid");
    if ($Kalendertext =~ /Papiertonne/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtPapier eq '' || ($eventDate < $dtPapier && $eventDate > $t))
        {
          $dtPapier = $eventDate;
          Log(3, $dtPapier);
        }
    };
if ($Kalendertext =~ /Wertstoff/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtWertstofftonne eq '' || ($eventDate < $dtWertstofftonne && $eventDate > $t))
        {
          $dtWertstofftonne  = $eventDate;
        }
    };
    if ($Kalendertext =~ /Restmüll/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtRest eq '' || ($eventDate < $dtRest && $eventDate > $t))
        {
          $dtRest = $eventDate;
        }
    };
    if ($Kalendertext =~ /Biomüll/) {
        my $dt = fhem("get Abfall start $uid");
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if ($dtBiomuell eq '' || ($eventDate < $dtBiomuell && $eventDate > $t))
        {
          $dtBiomuell  = $eventDate;
        }
    };
   
   
  my $dayDiff = floor(($dtPapier - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Papiertonne $dayDiff");
  }
  my $dayDiff = floor(($dtWertstofftonne - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Wertstofftonne $dayDiff");
  }
  my $dayDiff = floor(($dtRest - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Restmuell $dayDiff");
  }
    my $dayDiff = floor(($dtBiomuell - $t) / 60 / 60 / 24 + 1);
  if ($dayDiff >= 0) {
    fhem("set Biomuell $dayDiff");
  }
  }
}


Danke für eure Hilfe

chanky


Tommy82

#6
Hi,
also ich find meinen Fehler einfach nicht.
Mein Kalender sieht so aus:
Internals:
   DEF        ical file /home/thomas/limbach-hauptstrasse.ics 36000
   NAME       AbfallA
   NR         228
   NTFY_ORDER 50-AbfallA
   STATE      triggered
   TYPE       Calendar
   Helper:
     Dblog:
       Changed:
         Mydblog:
           TIME       1456268402.74847
           VALUE      113bf8eb63827ea37aeb2dfe730c86d6 start
       Lastupdate:
         Mydblog:
           TIME       1456324631.2144
           VALUE      2016-02-24 15:37:10
       Modealarmorstart:
         Mydblog:
           TIME       1456268402.74847
           VALUE      113bf8eb63827ea37aeb2dfe730c86d6
       Modechanged:
         Mydblog:
           TIME       1456268402.74847
           VALUE      113bf8eb63827ea37aeb2dfe730c86d6
       Modeend:
         Mydblog:
           TIME       1456324631.94966
           VALUE      f6c325fa3e124e58e861b575faead277;737aa85adec1f3140fb47dfecac34f0f;c6dbdbba338350a0cd06d7cd5ab35d04;6f012e49cdd5939ec941dccf571741ca;147c3a1c0453f61e543dd7ae8ee35a74;65fb077386e02b97d4f0e5c58d5bacc5;728ff15869395f3a332f653d2412f251;349ba66903103b54abe630bda82b7728;5fd600c3eaff02a39ca04cff9b4ce9cf;f582797dc008eb43ce28b2d6abcf5edc;eb6d48f4eeed65f8503a8a7933e06512
       Modestart:
         Mydblog:
           TIME       1456268402.74847
           VALUE      113bf8eb63827ea37aeb2dfe730c86d6
       Modestarted:
         Mydblog:
           TIME       1456268402.74847
           VALUE      113bf8eb63827ea37aeb2dfe730c86d6
       Modeupcoming:
         Mydblog:
           TIME       1456324631.94966
           VALUE      9af33f2b76d19c0973b5214b3a2de1bb;df6be729b05acb2449520fd869b6c2aa;274c5933a79fc3a19bcb61b9da27d05a;5163fdf9cfebb6c8b60892e11cb76e03;3b8d284fc7015b21a4dd4f831491ca3c;255ea065be39f2884d7f7bf188eafe2d;c06506ff2fbbd612b534c887380aa545;7155833479f7c4c3f9b5552236da558d;bf8095dc4d20e049fee94fd6f222d2ce;26eb942f8240b41009af85fdcb56daa9;6f457b16d2d45a8a5c4a40c1591c8142;ed19ca166f67097367fb0e709c129fb6;96cab15f4444209fcfa544640960aaf3;65f73efcbf65c4a0978b7bbb7a713a93;065a5ed2216b5a00b3d1f5a1826b262e;9439159d1249d40fd1ef8f4ad83d6d34;144b3b7153a0af1d76aaf8712a2f5bb0;42f1f1bbbbd32a6d476fc8611d835ed6;c47761fb38ee5f82f83fb7f5eb47cb57;41f810d050b8054083cc0a15d719cc10;50790711c80da14c0c5efd1a2ef43f6a;64b783c994fa2ec6a8f4cb042f9702b3;3509578f59a4f639d0c8bf44af6ef602;926bbf0694896f6482925df487c29356;f1d3e4378fcc05dedf0903f78c58992f;fae05746436c12420248e378fd9e3dc9;1f5821c3d9ed657dc312c6ee35902be8;160a6a9729f1279edb78548266866315;69ab05b5b02624a8b6119b69d95af5ff;3d940aa2c61832055ae5924a0751fcc0;c3a1ef0ee46ca27332168ca2f8bf54ee;f7809e25997d3fb21749610beed1f02b;f108b63a08ac799f338fad1deb5b58bf;6c17257084f4916559c4ab0cc7a8ee0b;149ec80be04c127df2397307b40db327;3217d71a23c41f00cc33726d57ed3f27;61530ee479ed8aa7358f118f261b4d83;3fa31acdf573e0ce51740a70d32608e8;2a17d3731262fbc7aee1d37395fb1204;9a2fabf8103a76d511fe34ed723ca1c0;ad57f1981fbc0ab8ad72008813d9c6eb;319676af7fc7c0fa74539a95ba5f6092;e65f3ab32d14da5d0ca7201638b33b81;5d9dde6fd7aead5b176e3ae2913040a3;e8972e51293d65e9dd3dab8893b88e68;76d4aa2294a1c9024708e729db92be00;8263484420f35709fe9a3e5a110c858b;9a5bfa027a0b8228e6099ca34454b7dd;01feade28d3c9763074773e89b90dc81;118501024d0227ba7707ee1441b29420;d252f7a1aab4cb87e205f0e19fecf625;6d78ff859b38b2fec640618b161e439b;2298f34522ab9098a6e5a4ee379217e1;e2b724454650d8bca40eb8455d40e3bc;0f19d4d0cacac5a3da090e36de58c6f1;5524f5c01ffc4e069398e7d7f56ec0e0;846e9518932e1fa3a94751055e31841d;259cb74a3d045a8e7b828e7e8e8f71ce;643cd426546781501d5bdf4bd052d42b;27aa34c843978665ef02c0fc52c90960;a81ddef6bf0f56aa800b50cd0e66749d;c7b6b21e8b998f70a2ddef8008c7a813;81d92a13bfee2a46563eabc208e28093
       Nextupdate:
         Mydblog:
           TIME       1456324631.2144
           VALUE      2016-02-25 01:37:10
       Nextwakeup:
         Mydblog:
           TIME       1456324631.98558
           VALUE      2016-02-25 00:00:00
       Start:
         Mydblog:
           TIME       1456268402.74847
           VALUE      113bf8eb63827ea37aeb2dfe730c86d6
       State:
         Mydblog:
           TIME       1456324631.94966
           VALUE      triggered
   Readings:
     2016-02-10 17:19:41   all             01feade28d3c9763074773e89b90dc81;065a5ed2216b5a00b3d1f5a1826b262e;0f19d4d0cacac5a3da090e36de58c6f1;113bf8eb63827ea37aeb2dfe730c86d6;118501024d0227ba7707ee1441b29420;144b3b7153a0af1d76aaf8712a2f5bb0;149ec80be04c127df2397307b40db327;160a6a9729f1279edb78548266866315;1f5821c3d9ed657dc312c6ee35902be8;2298f34522ab9098a6e5a4ee379217e1;255ea065be39f2884d7f7bf188eafe2d;259cb74a3d045a8e7b828e7e8e8f71ce;26eb942f8240b41009af85fdcb56daa9;274c5933a79fc3a19bcb61b9da27d05a;27aa34c843978665ef02c0fc52c90960;2a17d3731262fbc7aee1d37395fb1204;319676af7fc7c0fa74539a95ba5f6092;3217d71a23c41f00cc33726d57ed3f27;3509578f59a4f639d0c8bf44af6ef602;3b8d284fc7015b21a4dd4f831491ca3c;3d940aa2c61832055ae5924a0751fcc0;3fa31acdf573e0ce51740a70d32608e8;41f810d050b8054083cc0a15d719cc10;42f1f1bbbbd32a6d476fc8611d835ed6;50790711c80da14c0c5efd1a2ef43f6a;5163fdf9cfebb6c8b60892e11cb76e03;5524f5c01ffc4e069398e7d7f56ec0e0;5d9dde6fd7aead5b176e3ae2913040a3;61530ee479ed8aa7358f118f261b4d83;643cd426546781501d5bdf4bd052d42b;64b783c994fa2ec6a8f4cb042f9702b3;65f73efcbf65c4a0978b7bbb7a713a93;65fb077386e02b97d4f0e5c58d5bacc5;69ab05b5b02624a8b6119b69d95af5ff;6c17257084f4916559c4ab0cc7a8ee0b;6d78ff859b38b2fec640618b161e439b;6f457b16d2d45a8a5c4a40c1591c8142;7155833479f7c4c3f9b5552236da558d;76d4aa2294a1c9024708e729db92be00;81d92a13bfee2a46563eabc208e28093;8263484420f35709fe9a3e5a110c858b;846e9518932e1fa3a94751055e31841d;926bbf0694896f6482925df487c29356;9439159d1249d40fd1ef8f4ad83d6d34;96cab15f4444209fcfa544640960aaf3;9a2fabf8103a76d511fe34ed723ca1c0;9a5bfa027a0b8228e6099ca34454b7dd;9af33f2b76d19c0973b5214b3a2de1bb;a81ddef6bf0f56aa800b50cd0e66749d;ad57f1981fbc0ab8ad72008813d9c6eb;bf8095dc4d20e049fee94fd6f222d2ce;c06506ff2fbbd612b534c887380aa545;c3a1ef0ee46ca27332168ca2f8bf54ee;c47761fb38ee5f82f83fb7f5eb47cb57;c7b6b21e8b998f70a2ddef8008c7a813;d252f7a1aab4cb87e205f0e19fecf625;df6be729b05acb2449520fd869b6c2aa;e2b724454650d8bca40eb8455d40e3bc;e65f3ab32d14da5d0ca7201638b33b81;e8972e51293d65e9dd3dab8893b88e68;ed19ca166f67097367fb0e709c129fb6;f108b63a08ac799f338fad1deb5b58bf;f1d3e4378fcc05dedf0903f78c58992f;f582797dc008eb43ce28b2d6abcf5edc;f7809e25997d3fb21749610beed1f02b;fae05746436c12420248e378fd9e3dc9
     2016-02-10 17:19:42   lastCheck       2016-02-10 17:19:40
     2016-02-24 15:37:11   lastUpdate      2016-02-24 15:37:10
     2016-02-10 17:19:42   modeAlarm
     2016-02-24 00:00:01   modeAlarmOrStart 113bf8eb63827ea37aeb2dfe730c86d6
     2016-02-10 17:19:42   modeAlarmed
     2016-02-24 05:37:11   modeChanged
     2016-02-24 15:37:11   modeEnd         f6c325fa3e124e58e861b575faead277;737aa85adec1f3140fb47dfecac34f0f;c6dbdbba338350a0cd06d7cd5ab35d04;6f012e49cdd5939ec941dccf571741ca;147c3a1c0453f61e543dd7ae8ee35a74;65fb077386e02b97d4f0e5c58d5bacc5;728ff15869395f3a332f653d2412f251;349ba66903103b54abe630bda82b7728;5fd600c3eaff02a39ca04cff9b4ce9cf;f582797dc008eb43ce28b2d6abcf5edc;eb6d48f4eeed65f8503a8a7933e06512
     2016-02-18 02:36:27   modeEnded
     2016-02-24 00:00:01   modeStart       113bf8eb63827ea37aeb2dfe730c86d6
     2016-02-24 05:37:11   modeStarted
     2016-02-24 15:37:11   modeUpcoming    9af33f2b76d19c0973b5214b3a2de1bb;df6be729b05acb2449520fd869b6c2aa;274c5933a79fc3a19bcb61b9da27d05a;5163fdf9cfebb6c8b60892e11cb76e03;3b8d284fc7015b21a4dd4f831491ca3c;255ea065be39f2884d7f7bf188eafe2d;c06506ff2fbbd612b534c887380aa545;7155833479f7c4c3f9b5552236da558d;bf8095dc4d20e049fee94fd6f222d2ce;26eb942f8240b41009af85fdcb56daa9;6f457b16d2d45a8a5c4a40c1591c8142;ed19ca166f67097367fb0e709c129fb6;96cab15f4444209fcfa544640960aaf3;65f73efcbf65c4a0978b7bbb7a713a93;065a5ed2216b5a00b3d1f5a1826b262e;9439159d1249d40fd1ef8f4ad83d6d34;144b3b7153a0af1d76aaf8712a2f5bb0;42f1f1bbbbd32a6d476fc8611d835ed6;c47761fb38ee5f82f83fb7f5eb47cb57;41f810d050b8054083cc0a15d719cc10;50790711c80da14c0c5efd1a2ef43f6a;64b783c994fa2ec6a8f4cb042f9702b3;3509578f59a4f639d0c8bf44af6ef602;926bbf0694896f6482925df487c29356;f1d3e4378fcc05dedf0903f78c58992f;fae05746436c12420248e378fd9e3dc9;1f5821c3d9ed657dc312c6ee35902be8;160a6a9729f1279edb78548266866315;69ab05b5b02624a8b6119b69d95af5ff;3d940aa2c61832055ae5924a0751fcc0;c3a1ef0ee46ca27332168ca2f8bf54ee;f7809e25997d3fb21749610beed1f02b;f108b63a08ac799f338fad1deb5b58bf;6c17257084f4916559c4ab0cc7a8ee0b;149ec80be04c127df2397307b40db327;3217d71a23c41f00cc33726d57ed3f27;61530ee479ed8aa7358f118f261b4d83;3fa31acdf573e0ce51740a70d32608e8;2a17d3731262fbc7aee1d37395fb1204;9a2fabf8103a76d511fe34ed723ca1c0;ad57f1981fbc0ab8ad72008813d9c6eb;319676af7fc7c0fa74539a95ba5f6092;e65f3ab32d14da5d0ca7201638b33b81;5d9dde6fd7aead5b176e3ae2913040a3;e8972e51293d65e9dd3dab8893b88e68;76d4aa2294a1c9024708e729db92be00;8263484420f35709fe9a3e5a110c858b;9a5bfa027a0b8228e6099ca34454b7dd;01feade28d3c9763074773e89b90dc81;118501024d0227ba7707ee1441b29420;d252f7a1aab4cb87e205f0e19fecf625;6d78ff859b38b2fec640618b161e439b;2298f34522ab9098a6e5a4ee379217e1;e2b724454650d8bca40eb8455d40e3bc;0f19d4d0cacac5a3da090e36de58c6f1;5524f5c01ffc4e069398e7d7f56ec0e0;846e9518932e1fa3a94751055e31841d;259cb74a3d045a8e7b828e7e8e8f71ce;643cd426546781501d5bdf4bd052d42b;27aa34c843978665ef02c0fc52c90960;a81ddef6bf0f56aa800b50cd0e66749d;c7b6b21e8b998f70a2ddef8008c7a813;81d92a13bfee2a46563eabc208e28093
     2016-02-24 15:37:11   nextUpdate      2016-02-25 01:37:10
     2016-02-24 15:37:11   nextWakeup      2016-02-25 00:00:00
     2016-02-24 15:37:11   state           triggered
     2016-02-10 17:19:41   stateChanged
     2016-02-10 17:19:41   stateDeleted
     2016-02-10 17:19:41   stateNew
     2016-02-10 17:19:41   stateUpdated
Attributes:
   alias      Abfallkalender
   room       Kalender
 


das notify so:
Internals:
   DEF        AbfallA.all:.* {MuelltermineA("$EVTPART1")}
   NAME       AbfallA_Update.not.Update
   NR         233
   NTFY_ORDER 50-AbfallA_Update.not.Update
   REGEXP     AbfallA.all:.*
   STATE      active
   TYPE       notify
   Readings:
     2016-02-21 17:25:54   state           active
Attributes:
   room       Kalender


die sub in der 99myUtils sieht so aus:
sub
MuelltermineA ($)
{
  my ($Ereignis) = @_;
  my @uids=split(/;/,$Ereignis);
  my (undef,undef,undef,$mday,$mon,$year) = localtime;
  my $t  = timelocal(0,0,0,$mday,$mon,$year);
  my $dtBio = '';
  my $dtYellow = '';
  my $dtRest = '';
  my $dtPapier = '';
  foreach my $uid (@uids) {
    my $Kalendertext = fhem("get AbfallA summary $uid",1);
    if ($Kalendertext =~ /Bioabfall/) {
        my $dt = fhem("get AbfallA start $uid",1);
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if (($dtBio eq '' || $eventDate < $dtBio) && $eventDate >= $t)
        {
          $dtBio = $eventDate;
        }
    };
    if ($Kalendertext =~ /Gelber Sack/) {
        my $dt = fhem("get AbfallA start $uid",1);
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if (($dtYellow eq '' || $eventDate < $dtYellow) && $eventDate >= $t)
        {
          $dtYellow  = $eventDate;
        }
    };
    if ($Kalendertext =~ /Restabfall/) {
        my $dt = fhem("get AbfallA start $uid",1);
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if (($dtRest eq '' || $eventDate < $dtRest) && $eventDate >= $t)
        {
          $dtRest = $eventDate;
        }
    };
if ($Kalendertext =~ /Altpapier/) {
        my $dt = fhem("get AbfallA start $uid",1);
        my @SplitDt = split(/ /,$dt);
        my @SplitDate = split(/\./,$SplitDt[0]);
        my $eventDate = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
        if (($dtPapier eq '' || $eventDate < $dtPapier) && $eventDate >= $t)
        {
          $dtPapier = $eventDate;
        }
    };
  };

  my $dayDiff = 0; 
 
  if ($dtBio eq '') {
    fhem("set BiomuellIn Keine weiteren Termine");
  }
  else {
    $dayDiff = floor(($dtBio - $t) / 60 / 60 / 24);
    if ($dayDiff >= 0) {
      fhem("set BiomuellIn $dayDiff");
    }
  }
  if ($dtYellow eq '') {
    fhem("set GelbeTonneIn Keine weiteren Termine");
  }
  else {
    $dayDiff = floor(($dtYellow - $t) / 60 / 60 / 24);
    if ($dayDiff >= 0) {
      fhem("set GelbeTonneIn $dayDiff");
    }
  }
  if ($dtRest eq '') {
    fhem("set RestmuellIn Keine weiteren Termine");
  }
  else {
    $dayDiff = floor(($dtRest - $t) / 60 / 60 / 24);
    if ($dayDiff >= 0) {
      fhem("set RestmuellIn $dayDiff");
    }
  }
  if ($dtPapier eq '') {
    fhem("set PapierIn Keine weiteren Termine");
  }
  else {
    $dayDiff = floor(($dtPapier - $t) / 60 / 60 / 24);
    if ($dayDiff >= 0) {
      fhem("set PapierIn $dayDiff");
    }
  }
}


Was läuft da jetzt falsch?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

chris1284

ZitatWas läuft da jetzt falsch?

alles? deine myutils passt halt nicht zum neuen calendar modul.
1. fehler: dein notify: wenn der calendard trigger gibts nichts auszuwerten ($EVENTPART in deinem notify ist dann leer bzw max triggered). somit übergibst du an deine myutils nichts
2. die myutils:
  my ($Ereignis) = @_;
  my @uids=split(/;/,$Ereignis);


bringt nichts weil ereignis leer ist und so der ganze rest auch hinfällig ist.
wenn dann müsstest du in den my utils dir ersteinmal entweder
a) die uids holen mit get kalendername uid next (nicht vergessen das attribut hideOlsderThan im calendar zu setzen)
- die ganzen termine holen mit get kalendername full next (nicht vergessen das attribut hideOlsderThan im calendar zu setzen)

auf der datenbasis kannst du dann weiter machen und
bei a) split bei zeilenumbruch um die einzele uid zu bekommen und dann mit get summary uid den text holen
bei b) split bei zeilenumbruch umd die einzelen termine zu holen, diese dann bei mehr als ein leerzeichen in uid start end summary location zu splitten



such mal nach dem modul abfall ist sicher einfacher  ;)

Tommy82

Also wenn ich les was du da schreibts, scheint es echt mit dem anderen Modul einfacher zu sein:-(
Schade das das Kalender Module so geändert wurde, hatte so um sehr gut funktioniert.....
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI