Abfall Kalender aus Google, wie zeige ich die Werte an?

Begonnen von mitdra, 03 Januar 2017, 12:35:57

Vorheriges Thema - Nächstes Thema

mitdra

Hallo zusammen,

ich würde gerne aus meinem google-Account den Abfallkender auslesen, es gibt ein paar wenige Lösungen, aus denen ich nicht schlau werde, was die Auswertungen angeht.
Ich habe es analog zur http://www.juergenstechnikwelt.de/smarthome-2/smarthome-mit-fhem-umsetzung-meines-abfallkalenders/ eingestellt.

meine cfg Einträge:
define Abfall Calendar ical url https://calendar.google.com/calendar/ical/......calendar.google.com/public/basic.ics
attr Abfall hideOlderThan 2d
# define vKalender_DDM CALVIEW Abfall 1 21600
# attr vKalender_DDM alias Abfall_Kalender
# attr vKalender_DDM group Kalender
# attr vKalender_DDM maxreadings 10
# attr vKalender_DDM modes next
# attr vKalender_DDM room Kalender


define notAbfalltermine notify Abfall:modeUpcoming.* { Abfalltermine("$EVENT") }

define MuellterminDummy dummy


und in der 99_myutils:
#
# Hilfsfunktion für Kalenderauswertungen
#

sub
KalenderDatum($$)
{
   my ($KalenderName, $KalenderUid) = @_;
   my $dt = fhem("get $KalenderName start uid=$KalenderUid 1");
   my $ret = time - (2*86400);  #falls kein Datum ermittelt wird Rückgabewert auf "vorgestern" -> also vergangener Termin;

   if ($dt and $dt ne "")
   {
      my @SplitDt = split(/ /,$dt);
      my @SplitDate = split(/\./,$SplitDt[0]);
      $ret = timelocal(0,0,0,$SplitDate[0],$SplitDate[1]-1,$SplitDate[2]);
   }

   return $ret;
}


#
# Abfall Kalender auswerten / Google Kalender: "Abfall"
#

sub
Abfalltermine()
{
   my $t  = time;
   my @Tonnen = ("GrueneTonne", "GelbeTonne", "Restmuell", "BioTonne");
   my @SuchTexte = (".*Papier.*", ".*Wertstoff.*", ".*Restmüll.*", ".*Bio.*");
   my $uid;
   my $dayDiff;
 
   for(my $i=0; $i<4; $i++)
   {
      $dayDiff = -1; #BUG behoben
      my @uids = split(/;/,fhem("get Abfall find $SuchTexte[$i]"));
       
      # den nächsten Termine finden
      foreach $uid (@uids)
      {
         my $eventDate = KalenderDatum('Abfall', $uid);
         my $dayDiffNeu = floor(($eventDate - $t) / 60 / 60 / 24 + 1);
         if ($dayDiffNeu >= 0 && ($dayDiffNeu < $dayDiff || $dayDiff == -1)) #BUG behoben
         {
            $dayDiff = $dayDiffNeu;
         }
      }
       
      fhem("setreading MuellterminDummy $Tonnen[$i] $dayDiff");
   }
}

1;


Mit get Abfall Full all erhalte ich die Einträge aus dem Kalender.

Nur wie und wo werden sie angezeigt?

Otto123

#1
Hi,

im MuellterminDummy ?

Wenn Du es so machst -> https://wiki.fhem.de/wiki/ABFALL

hättest Du Readings, vielleicht ist das einfacher für Dich?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

mitdra

Hallo Otto,
Danke für den Tipp, das funktioniert ja direkt in der cfg

Gesendet von meinem Moto G (4) mit Tapatalk


Dummbatz

Hi Mitdra,

Aber das Modul ABFALL soll doch gerade so funktionieren das man nichts braucht in der 99_myutils ??

Ich suche mich nämlich auch schon tod wie man das schön in TabletUi einbauen kann.

Zumindest habe ich schon mal eine Tonne mit Text und Anzeige der Tage.

LG
FHEM auf Pi3 mit 1 nanoCul433 schaltet 2 Lichtkreise mit  ITL-1000 Empfänger + 5 Funkdosen ELRO / Unitec + DEC200 von AVM

mitdra

Hi dummbatz,

korrekt, so meinte ich es auch. via cfg kann ich alles einstellen und brauche die 99_myutils.pm nicht.