Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. ICal Mülltermine

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    ICal Mülltermine

    This topic has been deleted. Only users with topic management privileges can see it.
    • jens.maus
      jens.maus last edited by

      @Homoran:

      Nachdem die Stadt Köln es https://www.offenedaten-koeln.de/anfragen/abfuhrtermine-im-ical-formatdie Abfuhrtermine im iCal Format bereitzustellen, hat jetzt jemand einen Umwandler gebastelt: `

      Als was stellt die Stadt Köln denn den Müllkalender zur verfügung? Hier in Dresden gibt es auch kein ical sondern nur ein pdf das man täglich aktualisiert runterladen kann. Dafür hab ich mir ein shell Skript geschrieben das jede nach das pdf runterlädt und dann 'pdf2text" aufruft um Text daraus zu extrahieren und die richtigen Stellen dann zu parsen. Funktioniert seit >2 Jahren hier bereits wunderbar und ohne Probleme. Nur so als Hinweis für Alternativen.

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        Hallo Jens,
        @jens.maus:

        Als was stellt die Stadt Köln denn den Müllkalender zur verfügung? `
        Wahlweise als http://awbkoeln.de oder auch als pdf.

        Das letztere drucke ich mir aus und hänge es an den Kühlschrank 😛

        Aber etwa 1x om Quartal ändert sich was manchmal öfter. Zumindest war das eine zeitlang so.

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • jens.maus
          jens.maus last edited by

          @Homoran:

          Hallo Jens,
          @jens.maus:

          Als was stellt die Stadt Köln denn den Müllkalender zur verfügung? `
          Wahlweise als http://awbkoeln.de oder auch als pdf.

          Das letztere drucke ich mir aus und hänge es an den Kühlschrank 😛

          Aber etwa 1x om Quartal ändert sich was manchmal öfter. Zumindest war das eine zeitlang so. `

          Wie gesagt, bei mir parse ich im Grunde das pdf (nachdem ich es mittels "pdftotext" konvertiert habe) mittels eines python skriptes und mache dann daraus eine iCal (ics) datei die ich dann ioBroker zur Verfügung stelle.

          Hier der python skript:

          ! ````
          #!/usr/bin/python3

          Müllkalender Abfragescript

          Copyright (c) 2015 Jens Maus mail@jens-maus.de#

          Requirements:

          - curl: apt-get install curl

          - pdftotext: apt-get install pdftotext

          ! import subprocess
          import icalendar
          import re
          import pytz
          from datetime import datetime
          ! # output path to .ics file generated
          output_ics = "/var/www/html/Muellkalender.ics"
          ! # location identifier
          location_id = "XXXXX"
          ! #################################################

          Main stuff starts here. No reason to change anything

          here

          muell_query_url="http://stadtplan2.dresden.de/project/cm3/Detail/STADTRAUM/ABFALL/GA_TONNE/kalender.asp?STANDORT=" + location_id

          ! task = subprocess.Popen('/usr/bin/curl -s "' + muell_query_url + '" | /usr/bin/pdftotext -raw - -', shell=True, stdout=subprocess.PIPE)
          output = task.stdout.read().decode("utf-8").splitlines()
          assert task.wait() == 0
          ! cal = icalendar.Calendar()
          cal.add('prod', '-//hm_ddtrash.py//jens-maus.de//')
          cal.add('version', '2.0')
          ! for line in output:
          line = line.strip()
          res = re.search('.(Gelbe Tonne|Restabfall|Bio-Tonne|Blaue Tonne):., ([0-9]{2}.[0-9]{2}.[0-9]{4})/mail@jens-maus.de>, line)
          if res:
          event = icalendar.Event()
          event.add('summary', res.group(1))
          event.add('dtstart', datetime.strptime(res.group(2), "%d.%m.%Y").date())
          event.add('dtend', datetime.strptime(res.group(2), "%d.%m.%Y").date())
          event['uid'] = res.group(2) + "-" + res.group(1)
          cal.add_component(event)
          ! f = open(output_ics, 'wb')
          f.write(cal.to_ical())
          f.close()/mail@jens-maus.de

          
          Das ganze funktioniert hier bisher recht problemlos seit > 2 Jahren. Aber das ganze setzt natürlich voraus das das pdf auch wohl definiert ist und man den Text nach dem konvertieren mit "pdftotext" auch wirklich geordnet Parsen kann. Daher würde ich an deiner stelle als erstes probieren ob 1.) man das pdf von immer der gleichen URL runterladen kann. Und 2.) ob pdftotext daraus eine brauchbare ausgabe erzeugt die man dann entsprechend mittels regular expressions Parsen kann wie ich das hier in dem python Skript tue.
          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            @pix:

            Hallo Rainer,

            Also 'abfuhrkalender-awb-koeln' in die Adapter Einstellungen

            Dann vielleicht so:

            var awb2ics = require('abfuhrkalender-awb-koeln');
            
            function ermitteleJahr() {
                var date = new Date();
                var y = date.getFullYear();
                var m = date.getMonth();
                var d = date.getDate();
                if (m == 11 && d > 24) y++; // wenn Datum nach dem 24.12\. dann nächstes Jahr einstellen
                return (y);
            }
            
            var street_name = "Riehler Str.",
                building_number = "173",
                year = ermitteleJahr();
                zipcode = "50735";
            
            awb2ics(street_name, building_number, year, zipcode, (err, data) => {
                /*
                 hier fehlt vielleicht noch der Pfad, wo die Datei hingespeichert wird. 
                 Da kann ich nicht weiterhelfen. Ist ja auch abhänging von Hardware und Betriebssystem
                */
                log('Neuer Müllkalender geladen');
            });
            
            

            Der Code ist nicht getestet und einfach so in die Codetags geschrieben. Bitte rumprobieren.

            Viel Erfolg

            Pix `

            Hallo Pix,

            bin endlich dazu gekommen und habe das Skript getestet.

            Läuft ohne Fehler durch und meldet brav: "Neuer Müllkalender geladen"

            javascript.0	2017-04-18 11:17:23.623	info	script.js.allgemein.muelltermine: Neuer Müllkalender geladen
            javascript.0	2017-04-18 11:17:22.375	info	script.js.allgemein.muelltermine: registered 0 subscriptions and 0 schedules
            javascript.0	2017-04-18 11:17:22.299	info	Start javascript script.js.allgemein.muelltermine
            javascript.0	2017-04-18 11:17:20.562	info	Stop script script.js.allgemein.Skript1
            

            natürlich habe ich den Pfad noch nicht eingegeben, sollte wohl /var/www sein.

            Im moment suche ich die neue Datei 😉

            Ich weiß nicht mal wonach ich suchen soll 😉

            EDIT:

            ich verstehe es langsam - laut github sollte es heißen

             Usage: awb2ics <options>> my_cal.ics</options> 
            

            der letzte Teil fehlt im script, oder?

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • N
              novregen last edited by

              Hallo,

              ich habe von unserer Abfallgesellschaft ein ics Datei vorliegen.

              Leider bekomme ich den Kalender nicht in ical eingelesen.

              Ich habe die Datei in folgendes Verzeichnis getan und diesen Eintrag auch in der Instanz so eingetragen.

              http://192.168.x.xx/opt/iobroker/iobroker-data/files/ical.admin/Abfuhrkalender.ics

              Leider ohne erfolg.

              Fehlermeldungen:

              Error reading from URL "http://192.168.x.xx/opt/iobroker/iobroker-data/files/ical.admin/Abfuhrkalender.ics": Error: connect ECONNREFUSED 192.168.x.x:80

              Wie muss ich eine lokale ics Datei angeben ?

              1 Reply Last reply Reply Quote 0
              • jens.maus
                jens.maus last edited by

                @novregen:

                ich habe von unserer Abfallgesellschaft ein ics Datei vorliegen.

                Leider bekomme ich den Kalender nicht in ical eingelesen.

                Ich habe die Datei in folgendes Verzeichnis getan und diesen Eintrag auch in der Instanz so eingetragen.

                http://192.168.x.xx/opt/iobroker/iobrok … lender.ics

                […]

                Wie muss ich eine lokale ics Datei angeben ? `

                Einfach den Pfad ohne http und IP Adresse eingeben:

                /opt/iobroker/iobroker-data/files/ical.admin/Abfuhrkalender.ics
                

                Dann sollte es gehen.

                1 Reply Last reply Reply Quote 0
                • N
                  novregen last edited by

                  Ich habe ihn jetzt in /opt/iobroker/node_modules/iobroker.admin/www/Abfuhrkalender.ics gelegt und mit

                  http://192.168.x.xx:8081/Abfuhrkalender.ics in ical angegeben.

                  Log zeigt jetzt:

                  processing URL: AWG http://192.168.0.20:8081/AbfuhrkalenderAWGBramstedt.ics

                  instance system.adapter.ical.0 terminated with code 0 (OK)

                  Jedoch bekomme ich in in ical0/data/html nichts angezeigt.

                  Auch dein hinweis führt im Log zum gleichen (positiven) Ausdruck, jedoch auch hier nichts in data/html

                  1 Reply Last reply Reply Quote 0
                  • S
                    sveni_lee last edited by

                    das hatte ich auch… wieviele Tage vorlauf hast Du im ical-Addapter eingestellt.

                    eventuell kann nichts angezeigt werden, weil in dem angegebenen Zeitzaum nicht

                    anliegt...

                    1 Reply Last reply Reply Quote 0
                    • N
                      novregen last edited by

                      Danke das wars =:-> stand nur auf 7 jetzt bei 14 kommt was ! Sehr gut mache erstmal schluss für heute.

                      Vielen Dank !

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        Ich möchte diesen Thread nochmal ausgraben.

                        Ich habe mich die Tage nochmal herangemacht und das Skript von @pix versucht ans laufen zu bekommen.

                        Zum schluss soll ja eine Datei my_cal.ics erzeugt werden.

                        Ich finde sie nirgendwo auf dem Tinkerboard, auf dem ich es diesmal teste. Nach wie vor keine Fehlermeldung beim Aktivieren des Skripts.

                        Daraufhin habe ich mir die ics-Datei online erstellen lassen und habe den ersten Schwachpunkt des awb2ics gefunden: Die Hausnummer darf keine Buchstaben enthalten, dann klappt es online auch nicht.

                        Also die Hausnummer des Nachbarn ohne Zusatz in das Skript eingegeben, aber auch da war keine Datei zu finden.

                        Dann habe ich die online generierte Datei heruntergeladen, und ebenso wie @novregen in den Pfad /opt/iobroker/node_modules/iobroker.admin/www/ und in ical den Pfat mit http://192.168.x.xx:8081/abfuhrkalender.ics angegeben.

                        Leider zeigt mir ical auch jetzt noch nichts an. Anzeigezeitraum ist 28 age

                        Ich habe mal die ics Datei hinten angehängt, die sieht mir sehr unsortiert aus. Endung ist eigentlich ics, dann klappte der upload aber nicht 😉 )

                        Gruß

                        Rainer
                        144_abfuhrkalender_2017.txt

                        1 Reply Last reply Reply Quote 0
                        • M
                          MyMeyer last edited by

                          Hallo zusammen,

                          und meine ICS-Datei sieht so aus !

                          ! BEGIN:VCALENDAR
                          ! VERSION:2.0
                          ! PRODID:http://mnbvcx.eu/abfallkalender/
                          ! BEGIN:VEVENT
                          ! UID:5a4ba52d15054@mnbvcx.eu
                          ! SUMMARY: Abfuhrtermin Altpapier (BLAU)
                          ! DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Abfuhrtermin Altpapier
                          ! DTSTART:20180105
                          ! DTEND:20180106
                          ! END:VEVENT
                          ! BEGIN:VEVENT
                          ! UID:5a4ba52d177b1@mnbvcx.eu
                          ! SUMMARY: Abfuhrtermin Restmüll (SCHWARZ)
                          ! DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Abfuhrtermin Restmüll
                          ! DTSTART:20180106
                          ! DTEND:20180107
                          ! …
                          ! ...
                          ! ...
                          Was ist den jetzt richtig ? Weil bei mir in VIS wird auch nichts angezeigt.

                          Die Daten liegt local im Verzeichnis "/opt/iobroker/iobroker-data/files/ical.admin/Abfuhrkalender.ics".

                          Einstellung unter Instanzen sehen so aus (siehe Anhang).
                          6198_instanz.jpg

                          1 Reply Last reply Reply Quote 0
                          • K
                            Karl_999 last edited by

                            @MyMeyer:

                            Hallo zusammen,

                            und meine ICS-Datei sieht so aus !

                            ! BEGIN:VCALENDAR
                            ! VERSION:2.0
                            ! PRODID:http://mnbvcx.eu/abfallkalender/
                            ! BEGIN:VEVENT
                            ! UID:5a4ba52d15054@mnbvcx.eu
                            ! SUMMARY: Abfuhrtermin Altpapier (BLAU)
                            ! DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Abfuhrtermin Altpapier
                            ! DTSTART:20180105
                            ! DTEND:20180106
                            ! END:VEVENT
                            ! BEGIN:VEVENT
                            ! UID:5a4ba52d177b1@mnbvcx.eu
                            ! SUMMARY: Abfuhrtermin Restmüll (SCHWARZ)
                            ! DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Abfuhrtermin Restmüll
                            ! DTSTART:20180106
                            ! DTEND:20180107
                            ! …
                            ! ...
                            ! ...
                            Was ist den jetzt richtig ? Weil bei mir in VIS wird auch nichts angezeigt.

                            Die Daten liegt local im Verzeichnis "/opt/iobroker/iobroker-data/files/ical.admin/Abfuhrkalender.ics".

                            Einstellung unter Instanzen sehen so aus (siehe Anhang). `
                            Was hast du im Tab Ereignisse hinterlegt?

                            Dort steht bei mir z.B. Restmüll. Damit werden dann die entsprechenden Ereignisse (Kalendereinträge) angezeigt.

                            1 Reply Last reply Reply Quote 0
                            • M
                              MyMeyer last edited by

                              Hi,

                              ich habe das Problem jetzt anders gelöst !

                              Ich habe den Abfallender einfach in Google-Kalender importiert und den Link dann in IOBroker hinterlegt. Jetzt werden die Termine

                              auch gelesen und angezeigt im VIS.

                              Für mich ist es damit erst mal gelöst: 🙂

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              950
                              Online

                              32.1k
                              Users

                              80.7k
                              Topics

                              1.3m
                              Posts

                              7
                              16
                              5281
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo