Abfallkalender auswerten

Begonnen von raspklaus, 17 Juni 2014, 17:45:34

Vorheriges Thema - Nächstes Thema

fh168

ok, habe ich geändert.

aber da sollte doch irgendwann dieses Notify durchlaufen werden und die LED leuchten.
Passiert aber nicht. ich habe fhem neu gestartet.
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

stromer-12

wenn du

set Restmuell <Wert>

eingibst, sollte das notify triggern
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

fh168

#77
Funktioniert!

ich habe ein

Zitatset Abfall reload

gemacht. Mal abwarten!

Und vielen Dank!

(http://blog.moneybag.de/wp-content/uploads/2015/01/IMG_1924-800x600.jpg)
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

Franz Tenbrock

na das ist ja mal was :-)
obercool
und jetzt noch den ganzen code und Bauanleitung posten
dann wäre das der Oberkracher

einiges davon hab ich ja schon im Blog gesehen,
wäre auch was fürs wiki
man muss immer so suchen und Glück haben das man im richtigen Thread landet
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Tommy82

#79
Hi,
ich hab jetzt mal die Vorlage von Franz aus Post 59 genommen, und die bei mir stehenden Bezeichnungen abgeändert, jetzt wird alles angezeigt ausser Papier, da bekomme ich immer noch die ???
Sehr wichtig ist das in der 99_myUtils.pm
Zitatuse Time::Local;
drin ist, ansonsten kommen nur ???

Hier mal mein abgeänderter Code (hab auch die 2 Bereiche raus genommen, da ich es nur für mich zu hause brauche)

Der KAlender und die Buttons
define AbfallA Calendar ical file /home/thomas/limbach-hauptstrasse.ics
attr AbfallA alias Abfallkalender
attr AbfallA room Kalender

define GelbeTonneIn dummy
attr GelbeTonneIn alias Gelbe Säcke
attr GelbeTonneIn group Info
attr GelbeTonneIn room Kalender

define RestmuellIn dummy
attr RestmuellIn alias Restmüll
attr RestmuellIn group Info
attr RestmuellIn room Kalender

define PapierIn dummy
attr PapierIn alias Papier
attr PapierIn group Info
attr PapierIn room Kalender

define BiomuellIn dummy
attr BiomuellIn alias Bio
attr BiomuellIn group Info
attr BiomuellIn room Kalender


Das notify
define AbfallA_Update notify AbfallA:modeUpcoming.* {MuelltermineA("$EVENT")}
attr AbfallA_Update room Kalender


und der Eintrag in der 99_myUtils


package main;
use strict;
use warnings;
use POSIX;
use Time::Local;

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

# Mülltermine auswerten
sub MuelltermineA ($)
{
  my ($Ereignis) = @_;
  my @Ereignisarray = split(/.*:\s/,$Ereignis);
  my $Ereignisteil1 = $Ereignisarray[1];
  my @uids=split(/;/,$Ereignisteil1);
  my $t  = time;
  my $dtBio = '';
  my $dtYellow = '';
  my $dtRest = '';
  my $dtPapier = '';

  foreach my $uid (@uids) {
    my $Kalendertext = fhem("get AbfallA summary $uid");
    if ($Kalendertext =~ /Bioabfall/) {
        my $dt = fhem("get AbfallA 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 ($dtBio eq '' || ($eventDate < $dtBio && $eventDate > $t))
        {
          $dtBio = $eventDate;
          Log(3, $dtBio);
        }
    };
    if ($Kalendertext =~ /Gelber Sack/) {
        my $dt = fhem("get AbfallA 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 ($dtYellow eq '' || ($eventDate < $dtYellow && $eventDate > $t))
        {
          $dtYellow  = $eventDate;
        }
    };
    if ($Kalendertext =~ /Restabfall/) {
        my $dt = fhem("get AbfallA 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 =~ /Altpapier /) {
        my $dt = fhem("get AbfallA 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;
        }
    };

  my $dayDiffB = floor(($dtBio - $t) / 60 / 60 / 24 + 1);
  if ($dayDiffB >= 0) {
    fhem("set BiomuellIn $dayDiffB");
  }
  my $dayDiffG = floor(($dtYellow - $t) / 60 / 60 / 24 + 1);
  if ($dayDiffG >= 0) {
    fhem("set GelbeTonneIn $dayDiffG");
  }
  my $dayDiffR = floor(($dtRest - $t) / 60 / 60 / 24 + 1);
  if ($dayDiffR >= 0) {
    fhem("set RestmuellIn $dayDiffR");
  }
  my $dayDiffP = floor(($dtPapier - $t) / 60 / 60 / 24 + 1);
  if ($dayDiffP >= 0) {
    fhem("set PapierIn $dayDiffP");
  }
}



Find in dem Papier noch nicht den Fehler wieso das noch falsch angezeigt wird, vieleicht sieht den einer auf anhieb?

Danke


EDIT

Fehler gefunden in der 99_myUtils war ein leerzeichen zuviel, jetzt wird es  richtig angezeigt
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

Franz Tenbrock

du musst dir mal die Readings der ical Datei genau anschauen
wie es deine Stadt genau nennt... die Bezeichnungen müssen übereinstimmen
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Tommy82

Hi, wie im Edit oben erwähnt, hab ich es gelöst und es funktioniert jetzt alles, allerdings habe ich jetzt jede Menge einträge im LOG:
2015.01.03 19:32:26.835 3: get AbfallA summary 98fd06c7788f852a0010f4d93f1efb3e : Altpapier
2015.01.03 19:32:26.837 3: get AbfallA start 98fd06c7788f852a0010f4d93f1efb3e : 14.01.2015 00:00:00
2015.01.03 19:32:26.878 3: get AbfallA summary 99161b5afbcbb585be0f406d3836dd24 : Gelber Sack
2015.01.03 19:32:26.880 3: get AbfallA start 99161b5afbcbb585be0f406d3836dd24 : 11.11.2015 00:00:00
2015.01.03 19:32:26.917 3: get AbfallA summary 9c7bfcd4b5149f43c3b1ad05884c2385 : Bioabfall
2015.01.03 19:32:26.920 3: get AbfallA start 9c7bfcd4b5149f43c3b1ad05884c2385 : 14.10.2015 00:00:00
2015.01.03 19:32:26.958 3: get AbfallA summary 9dcf0dbef8d9450d2eb9f02370945e3f : Altpapier
2015.01.03 19:32:26.961 3: get AbfallA start 9dcf0dbef8d9450d2eb9f02370945e3f : 23.09.2015 00:00:00
2015.01.03 19:32:27.002 3: get AbfallA summary a1d062c70344bfb3213d04eb9016240d : Restabfall
2015.01.03 19:32:27.005 3: get AbfallA start a1d062c70344bfb3213d04eb9016240d : 28.01.2015 00:00:00
2015.01.03 19:32:27.046 3: get AbfallA summary a32d3ce013dce42af43e45b704748ea8 : Altpapier
2015.01.03 19:32:27.049 3: get AbfallA start a32d3ce013dce42af43e45b704748ea8 : 09.04.2015 00:00:00
2015.01.03 19:32:27.090 3: get AbfallA summary a9101fc9f495fbeaff0af9b4f185c41b : Problemabfall
2015.01.03 19:32:27.130 3: get AbfallA summary a988215a8fcc780b323cb88dda74c5dd : Restabfall
2015.01.03 19:32:27.132 3: get AbfallA start a988215a8fcc780b323cb88dda74c5dd : 02.12.2015 00:00:00
2015.01.03 19:32:27.173 3: get AbfallA summary aa8040a93a7f3d19de0093d7705deaed : Altpapier
2015.01.03 19:32:27.175 3: get AbfallA start aa8040a93a7f3d19de0093d7705deaed : 06.05.2015 00:00:00
2015.01.03 19:32:27.212 3: get AbfallA summary b15e5e0a1eaf1046a4a0e20d7b740714 : Problemabfall
2015.01.03 19:32:27.248 3: get AbfallA summary b373271e00477d65e42855115ec625d0 : Sperrmüll
2015.01.03 19:32:27.285 3: get AbfallA summary b3ae8cd0c8233fd270c0186bd02786ba : Bioabfall
2015.01.03 19:32:27.287 3: get AbfallA start b3ae8cd0c8233fd270c0186bd02786ba : 10.06.2015 00:00:00
2015.01.03 19:32:27.324 3: get AbfallA summary bc260cc11665e0ce641d632124a0173e : Bioabfall
2015.01.03 19:32:27.326 3: get AbfallA start bc260cc11665e0ce641d632124a0173e : 04.02.2015 00:00:00
2015.01.03 19:32:27.362 3: get AbfallA summary c82a6ccee8a3b7003d342b93cb866c0a : Restabfall
2015.01.03 19:32:27.365 3: get AbfallA start c82a6ccee8a3b7003d342b93cb866c0a : 12.08.2015 00:00:00
2015.01.03 19:32:27.401 3: get AbfallA summary c89d2727c0b9e747864088997f61af6b : Bioabfall
2015.01.03 19:32:27.403 3: get AbfallA start c89d2727c0b9e747864088997f61af6b : 15.04.2015 00:00:00
2015.01.03 19:32:27.444 3: get AbfallA summary cce63412e18b34997c97a7ee7476af94 : Gelber Sack
2015.01.03 19:32:27.446 3: get AbfallA start cce63412e18b34997c97a7ee7476af94 : 29.04.2015 00:00:00
2015.01.03 19:32:27.489 3: get AbfallA summary cf3b3b8dbb92bec4794dfabd0a80ba40 : Restabfall
2015.01.03 19:32:27.491 3: get AbfallA start cf3b3b8dbb92bec4794dfabd0a80ba40 : 04.11.2015 00:00:00
2015.01.03 19:32:27.527 3: get AbfallA summary cf46f2420972e8364c2a26270a49c9de : Restabfall
2015.01.03 19:32:27.530 3: get AbfallA start cf46f2420972e8364c2a26270a49c9de : 22.04.2015 00:00:00
2015.01.03 19:32:27.566 3: get AbfallA summary d09f5b4bbe9bf07b3b79f03a60db47c1 : Bioabfall
2015.01.03 19:32:27.568 3: get AbfallA start d09f5b4bbe9bf07b3b79f03a60db47c1 : 09.12.2015 00:00:00
2015.01.03 19:32:27.605 3: get AbfallA summary d580a099f0983019d2cccf294f3cef4a : Altpapier
2015.01.03 19:32:27.607 3: get AbfallA start d580a099f0983019d2cccf294f3cef4a : 21.10.2015 00:00:00
2015.01.03 19:32:27.643 3: get AbfallA summary d5c8aec3f3c597d3e3c944f1d8a11c7d : Altpapier
2015.01.03 19:32:27.646 3: get AbfallA start d5c8aec3f3c597d3e3c944f1d8a11c7d : 11.03.2015 00:00:00


und so weiter, ist das normal oder wieso kommt das?

Hab das ganze dann jetzt mal noch in meinem FP eingebunden
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

fh168

#82
Hallo Franz,

wenn du mich mit "obercool" meintest, ich habe meinen Blog-Beitrag gerade noch angepasst.
Die Schaltung steht schon einige Zeit da, Fhem-Scripte habe ich gerade reingestellt und den Sketch aktualisiert.
Beides ist sehr weit von "gut programmiert" entfernt und sollte auch nur zum Einstieg gedacht sein.

http://blog.moneybag.de/fhem-mit-led-statusanzeige-led-stripe-wd2812b-433-mhz-drahtlos-uebertragung/

Danke nochmal an das Forum für die Hilfe, es funktioniert jetzt alles!

LG
/robin
Hue, Lacrosse, PCA301, MySensors, V 1.67 CUL 868 V3.4, Lacrosse-WLAN-Gateway, Tasmota RF-

Tommy82

#83
Hi, bekomme immer noch im Log viele dieser Meldungen:
015.01.06 05:29:35.543 3: TV_Programme: Response didn't match Reading(s) ZDF
2015.01.06 07:44:10.511 3: get AbfallA summary 005463be460fc472d16433d931086705 : Gelber Sack
2015.01.06 07:44:10.513 3: get AbfallA start 005463be460fc472d16433d931086705 : 07.01.2015 00:00:00
2015.01.06 07:44:10.526 3: get AbfallA summary 007ce8e6f2ab0ab5a409f4b7333b634d : Problemabfall
2015.01.06 07:44:10.538 3: get AbfallA summary 06d8322db3bc2d314d1827aa2f72e7e2 : Weihnachtsbäume
2015.01.06 07:44:10.550 3: get AbfallA summary 0f14492d8971e7b7e1c51882ad52aafa : Bioabfall
2015.01.06 07:44:10.553 3: get AbfallA start 0f14492d8971e7b7e1c51882ad52aafa : 13.05.2015 00:00:00
2015.01.06 07:44:10.553 3: 1431468000
2015.01.06 07:44:10.575 3: get AbfallA summary 14723705b40b23e9f576127a6168d912 : Altpapier
2015.01.06 07:44:10.578 3: get AbfallA start 14723705b40b23e9f576127a6168d912 : 03.06.2015 00:00:00
2015.01.06 07:44:10.610 3: get AbfallA summary 17a646cb3e353fa16cacf52829c5f3d5 : Bioabfall
2015.01.06 07:44:10.612 3: get AbfallA start 17a646cb3e353fa16cacf52829c5f3d5 : 24.06.2015 00:00:00
2015.01.06 07:44:10.644 3: get AbfallA summary 1c9ca202d5df6f39e2c6d8099bf9455e : Bioabfall
2015.01.06 07:44:10.646 3: get AbfallA start 1c9ca202d5df6f39e2c6d8099bf9455e : 16.09.2015 00:00:00
2015.01.06 07:44:10.678 3: get AbfallA summary 1d6a3fc8e6144cb5e970783f2893ec3d : Bioabfall
2015.01.06 07:44:10.680 3: get AbfallA start 1d6a3fc8e6144cb5e970783f2893ec3d : 02.09.2015 00:00:00
2015.01.06 07:44:10.712 3: get AbfallA summary 24fee0fb46f6565f90f3ff7c35547ab4 : Bioabfall
2015.01.06 07:44:10.714 3: get AbfallA start 24fee0fb46f6565f90f3ff7c35547ab4 : 29.04.2015 00:00:00
2015.01.06 07:44:10.715 3: 1430258400
2015.01.06 07:44:10.746 3: get AbfallA summary 25b6ff2d1a3ac6f7b9c3d0f0e0343efa : Bioabfall
2015.01.06 07:44:10.749 3: get AbfallA start 25b6ff2d1a3ac6f7b9c3d0f0e0343efa : 04.03.2015 00:00:00
2015.01.06 07:44:10.749 3: 1425423600
2015.01.06 07:44:10.781 3: get AbfallA summary 2980cc66e6ccc6c7c2ddcb360f0a4569 : Bioabfall
2015.01.06 07:44:10.783 3: get AbfallA start 2980cc66e6ccc6c7c2ddcb360f0a4569 : 19.08.2015 00:00:00
2015.01.06 07:44:10.820 3: get AbfallA summary 2ba333b9df585295e6c730e95557ecd8 : Problemabfall
2015.01.06 07:44:10.852 3: get AbfallA summary 30c380a9893d50320eb831ff95a1ae20 : Altpapier
2015.01.06 07:44:10.854 3: get AbfallA start 30c380a9893d50320eb831ff95a1ae20 : 18.11.2015 00:00:00
2015.01.06 07:44:10.886 3: get AbfallA summary 323acfc40891e76af1d7e6e25569cbab : Bioabfall
2015.01.06 07:44:10.888 3: get AbfallA start 323acfc40891e76af1d7e6e25569cbab : 19.02.2015 00:00:00
2015.01.06 07:44:10.889 3: 1424300400


Was kann das sein?

Danke

EDit

Hallo,
es funktioniert doch noch was nicht, heute ist der Tag 0 (An dem wo der Müll abgeholt wird), Allerdings wird die 0 nicht angezeigt, sondern wieder die 14,weil das nächste mal der Müll in 14 Tagen geht.
Was ist da noch fallsch?

Im KAlender steht heute
005463be460fc472d16433d931086705   known    start                     07.01.2015 00:00:00-08.01.2015 00:00:00 Gelber Sack Limbach Hauptstraße
66874acd7d03c9ea18a98a88078066ea   known    start                     07.01.2015 00:00:00-08.01.2015 00:00:00 Bioabfall Limbach Hauptstraße


Wieso wird dann heute nicht Tag 0 angezeigt, gestern wurde richtigerweisse die 1 angezeigt.

Das notify sieht jetzt so aus AbfallA:(modeUpcoming|modeAlarmOrStart).* {MuelltermineA($NAME,"$EVENT")}

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

RoBra81

Zitat von: Tommy82 am 06 Januar 2015, 20:10:11
Hi, bekomme immer noch im Log viele dieser Meldungen:

Das sind die normalen Meldungen vom Calendar-Modul. Die kannst du mir verbose = 2 verstecken...

Tommy82

Hi, Super Danke für den Tip, dann mach ich das mal.

Mein Problem das heute Tag 0 sein sollte (heute wurde Müll geholt) und damit auch das entsprechende Icon angezeigt werden sollte, hat irgendwie nicht geklappt, heute wird mir Tag 14 angezeigt.
Was mache ich noch 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

RoBra81

#86
Zitat von: Tommy82 am 06 Januar 2015, 20:10:11
es funktioniert doch noch was nicht, heute ist der Tag 0 (An dem wo der Müll abgeholt wird), Allerdings wird die 0 nicht angezeigt, sondern wieder die 14,weil das nächste mal der Müll in 14 Tagen geht.
Was ist da noch fallsch?

Tausch mal in deiner sub die Zeile

  my $t  = time;

durch die Zeile

  my (undef,undef,undef,$mday,$mon,$year) = localtime;
  my $t  = timelocal(0,0,0,$mday,$mon,$year);


und dann in den einzelnen Müllarten statt

&& $eventDate > $t

schreibst du

&& $eventDate >= $t

Dann könnte es gehen...

EDIT: Sorry, hatte eine Zeile oben vergessen -> ist korrigiert

Tommy82

Dann bekomme ich beim Speichern diese Meldung:

ERROR:

Global symbol "$mday" requires explicit package name at ./FHEM/99_myUtils.pm line 236. Global symbol "$mon" requires explicit package name at ./FHEM/99_myUtils.pm line 236. Global symbol "$year" requires explicit package name at ./FHEM/99_myUtils.pm line 236.


236 ist my $t  = timelocal(0,0,0,$mday,$mon,$year);
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

RoBra81


Tommy82

Hab ein reload der 99_myUtils gemacht und auch des Kalenders, allerdings bekomme ich trotzdem 14 Tage angezeigt, wobei das ja jetzt nicht ganz falsch ist, weil der Müll ja in 14 Tagen wieder geht, allerdings hätte ja eigentlich heute die 0 angezeigt werden müssen weil er ja auch heute ging oder!?

Danke für deine Hilfe
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