Autor Thema: Abfallkalender auswerten  (Gelesen 100467 mal)

Offline xsasx

  • Jr. Member
  • **
  • Beiträge: 80
Antw:Abfallkalender auswerten
« Antwort #180 am: 09 Juni 2015, 10:52:33 »
Der Müll im Kalender an sich (google Kalender) ist auf 7:00 datiert.

Offline xsasx

  • Jr. Member
  • **
  • Beiträge: 80
Antw:Abfallkalender auswerten
« Antwort #181 am: 11 Juni 2015, 09:12:22 »
Niemand ne Lösung für nen Notify zu ner bestimmten Uhrzeit ?

Offline xxsteffenxx

  • Full Member
  • ***
  • Beiträge: 168
Antw:Abfallkalender auswerten
« Antwort #182 am: 20 Oktober 2015, 14:38:30 »
Hallo zusammen,
ich grab das Thema mal nochmals aus - sorry!

Hab nun meine fhem-cfg und die 99_Utils.pm gepflegt.
Bekomme mit dem Befehl

get Abfall full all

auch ne schöne Auflistung wann das nächste dran wäre, nur stehe ich total auf der Leitung wie ich das ganze grafisch in FHEM bzw. im FHEM Tablet UI anzeigen lassen kann.

Kann mir hier vielleicht jemand hilfestellung geben?
Steffen
Raspberry Pi3 mit Jessie lite, 4x Max Thermostat 1x, Fensterkontakt an Cube, Philips Hue für Hue Iris, 433 mhz Sender für Funksteckdosen, AMAD mit S4-Active und Galaxy Tab2 10.1,nanoCUL 868, Homematic Wandtaster. TelegramBot

Offline Tommy82

  • Hero Member
  • *****
  • Beiträge: 2864
Antw:Abfallkalender auswerten
« Antwort #183 am: 20 Oktober 2015, 20:22:44 »
Hallo zusammen,
ich grab das Thema mal nochmals aus - sorry!

Hab nun meine fhem-cfg und die 99_Utils.pm gepflegt.
Bekomme mit dem Befehl

get Abfall full all

auch ne schöne Auflistung wann das nächste dran wäre, nur stehe ich total auf der Leitung wie ich das ganze grafisch in FHEM bzw. im FHEM Tablet UI anzeigen lassen kann.

Kann mir hier vielleicht jemand hilfestellung geben?
Steffen

Also bei mir sieht es wie in Post 155 hier im Thread aus, und etwas weiter davor steht auch wie das angelegt wird
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

Offline xxsteffenxx

  • Full Member
  • ***
  • Beiträge: 168
Antw:Abfallkalender auswerten
« Antwort #184 am: 21 Oktober 2015, 14:22:56 »
Hallo zusammen,
also ich komm damit echt nicht weiter,
ich habe den Code in der 99_Utlis.pm
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");
    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]);
        Log(1, "eventDate: ".$eventDate);
        Log(1, "t: ".$t);
        if (($dtBio eq '' || $eventDate < $dtBio) && $eventDate >= $t)
        {
          $dtBio = $eventDate;
        }
    };
    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 (($dtRest eq '' || $eventDate < $dtPapier) && $eventDate >= $t)
        {
          $dtRest = $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(($dtRest - $t) / 60 / 60 / 24);
    if ($dayDiff >= 0) {
      fhem("set PapierIn $dayDiff");
    }
  }
}
1;

Dann in der fhem.cfg
define Abfall Calendar ical file ./www/abfuhr.ics 43200
attr Abfall room Kalender
attr Abfall verbose 2
define Abfall_Update notify Abfall:(modeUpcoming|modeAlarmOrStart).* {Abfalltermine("$EVENT")}
attr Abfall_Update room Kalender
define Papiertonne dummy
attr Papiertonne alias Blaue-Tonne
attr Papiertonne group Abfall Countdown
attr Papiertonne room Kalender
define Restmuell dummy
attr Restmuell alias Schwarze-Tonne
attr Restmuell group Abfall Countdown
attr Restmuell room Kalender
define Gelbetonne dummy
attr Gelbetonne alias Gelbe-Tonne
attr Gelbetonne group Abfall Countdown
attr Gelbetonne room Kalender

leider bekomme ich nirgends eine brauchbar ausgabe.

Kann mir jemand das passende html-Code-schnipsel zur Verfügung stellen, damit ich mal testen kann ob es dann klappt?
Raspberry Pi3 mit Jessie lite, 4x Max Thermostat 1x, Fensterkontakt an Cube, Philips Hue für Hue Iris, 433 mhz Sender für Funksteckdosen, AMAD mit S4-Active und Galaxy Tab2 10.1,nanoCUL 868, Homematic Wandtaster. TelegramBot
Informativ Informativ x 1 Liste anzeigen

Offline Doublefant

  • Jr. Member
  • **
  • Beiträge: 82
Antw:Abfallkalender auswerten
« Antwort #185 am: 31 Oktober 2015, 18:07:02 »
Hallo,
vielen Dank an Aim23 für die tolle Anleitung, Stormer für die Gundentwicklung und an die anderen natürlich auch.
Tolle Arbeit.
Habe es bei mir implementiert und es funktioniert nun so weit, mal abwarten was passiert wenn die Tage "0" erreichen.

Hat denn jemand schon eine Lösung für die Icon Anzeige bei mehreren Icons mit devStateIcon herausgefunden?
Aktuell wird bei mir die Anzahl Rest-Tage angezeigt bis geleert wird, dann 1 Tag vorher wird über devStateIcon die Zahl in ein Ausrufezeichen geändert.
So ganz will es nicht funktionieren, wenn ich den Ausdruck mit if else und mehreren Icons erweitere.

Offline kvo1

  • Hero Member
  • *****
  • Beiträge: 1475
  • FHEMonaut
Antw:Abfallkalender auswerten
« Antwort #186 am: 04 November 2015, 00:11:35 »
Hallo Aim,
danke für die gute Beschreibung auch meinerseits, mal sehen ob ich da
für mich noch was optimieren kann !
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 612
Antw:Abfallkalender auswerten
« Antwort #187 am: 03 Januar 2016, 14:15:48 »
Hi zusammen,

ich habe inzwischen eine funktionierende "Abfallentleerwarnung" dank dieses Thread. Besten DANK!
Das Einzige was mich noch stört ist das alle gets im Log erscheinen.

2016.01.03 14:14:48 3: get MuellKalender summary xxx : Biotonne
2016.01.03 14:14:48 3: get MuellKalender start xxx : 24.06.2016 00:00:00
2016.01.03 14:14:48 3: get MuellKalender summary xxx : Restmüll wöchentlich
2016.01.03 14:14:48 3: get MuellKalender summary xxx : Biotonne

Wie habt Ihr das weg bekommen? Ich habe es mit verbose 0 auf das Kalender define schon vergeblich versucht...

Offline RoBra81

  • Sr. Member
  • ****
  • Beiträge: 994
Antw:Abfallkalender auswerten
« Antwort #188 am: 03 Januar 2016, 14:25:33 »
Hallo,

einfach mal in der sub in myutils die Zeilen, die mit

        Log(1, ...

beginnen löschen oder auskommentieren...

Ronny

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 612
Antw:Abfallkalender auswerten
« Antwort #189 am: 03 Januar 2016, 14:45:37 »
Leider nicht. Die Einträge werden z.B. von folgender Zeile ausgelöst:

my $Kalendertext = fhem("get AbfallKalender summary $uid");

Offline ulli

  • Sr. Member
  • ****
  • Beiträge: 612
Antw:Abfallkalender auswerten
« Antwort #190 am: 03 Januar 2016, 17:38:39 »
Habe eine Lösung gefunden.

--> my $Kalendertext = fhem("get AbfallKalender summary $uid",1);

Offline Jack-Luck

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Abfallkalender auswerten
« Antwort #191 am: 04 Januar 2016, 18:55:01 »
Hi,

hat schon jemand eine idee für xsasx Problem? Ich möchte nämlich auch gerne per TelegramBot um
20 uhr erinnert werden wenn am nächsten Tag eine Mülltonne abgeholt wird.

Also bei mir läuft das nun 1A nur eine kleinigkeit mit der Pushbenachrichtignung klappt noch nicht.

Und zwat wenn ich es ohne Zeitangaben also so:


mache dann kommt eine Push um 00:00 1Tag vorher bzw halt um 00:00 davor.

#Push Biomuell
define PushDummy_Biomuell notify Biomuell:1 {fhem ("set push_BioMuell msg 'Müllkalender' 'Morgen wird der Bioemuell abgeholt' '' 0 ''")}


Hätte es aber gerne das er mir es um 18:00 sendet einen Tag davor - leider wenn ich folgendes eintrage bekomm ich gar keine message :(

#Push Biomuell
define PushDummy_Biomuell at *18:00:00 notify Biomuell:1 {fhem ("set push_BioMuell msg 'Müllkalender' 'Morgen wird der Bioemuell abgeholt' '' 0 ''")}


leider geht das so ja nicht, wie bekommt man den at befehl korrekt in den Code?

Gruß
Jack

Offline RoBra81

  • Sr. Member
  • ****
  • Beiträge: 994
Antw:Abfallkalender auswerten
« Antwort #192 am: 04 Januar 2016, 19:01:26 »
Guten Abend,

sieh dir mal DOIF an, damit muss es gehen...

Ronny

Offline Jack-Luck

  • Jr. Member
  • **
  • Beiträge: 51
Antw:Abfallkalender auswerten
« Antwort #193 am: 04 Januar 2016, 19:24:20 »
hey,

ich hab jetzt mal ein Code mit DOIF gemacht. Würde das so gehen?

define di_Wertstoff DOIF ([20:00] and [Wertstoff:state] < 2) (set telebot message Morgen Wertstoff)
Gruß
Jack
« Letzte Änderung: 04 Januar 2016, 19:33:59 von Jack-Luck »

Offline RoBra81

  • Sr. Member
  • ****
  • Beiträge: 994
Antw:Abfallkalender auswerten
« Antwort #194 am: 04 Januar 2016, 20:06:54 »
Sieht eigentlich gut aus