FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: slogan11 am 22 Februar 2016, 10:01:05

Titel: Abfallkalender
Beitrag von: slogan11 am 22 Februar 2016, 10:01:05
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")}}





Titel: Antw:Abfallkalender
Beitrag von: kumue am 22 Februar 2016, 10:29:25
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 (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 (http://forum.fhem.de/index.php/topic,48237.0.html)
Titel: Antw:Abfallkalender
Beitrag von: Tommy82 am 22 Februar 2016, 10:36:07
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
Titel: Antw:Abfallkalender
Beitrag von: josburg am 22 Februar 2016, 10:50:05
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 (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 (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>

Titel: Antw:Abfallkalender
Beitrag von: slogan11 am 23 Februar 2016, 10:02:15
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
Titel: Antw:Abfallkalender
Beitrag von: chanky am 23 Februar 2016, 21:26:05
Das  schon gelesen -> http://forum.fhem.de/index.php?topic=14114.0 ?
Titel: Antw:Abfallkalender
Beitrag von: Tommy82 am 24 Februar 2016, 20:37:46
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
Titel: Antw:Abfallkalender
Beitrag von: chris1284 am 25 Februar 2016, 08:20:42
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  ;)
Titel: Antw:Abfallkalender
Beitrag von: Tommy82 am 25 Februar 2016, 21:33:16
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.....