Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Ical Müllplan auswerten für Alexa oder TTS

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    249

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Ical Müllplan auswerten für Alexa oder TTS

Scheduled Pinned Locked Moved Blockly
blockly
12 Posts 6 Posters 1.3k Views 9 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    ChrisXY
    wrote on last edited by
    #1

    Hallo,
    habe einen Müllplan im ical. Dort bekomme ich für VIS auch schön Tabelle oder HTML ausgegeben.

    Nun möchte ich aber gerne das ganze in meiner Begrüßung reinpacken.
    Das ganze ist eine Speak oder TTS ansage.
    Ich will gerne:

    Hallo XYZ morgen ist die "Gebe Tonne" dran. Aber nur wenn auch morgen eine Tonne dran ist ;)

    Hat schon jemand ein Blockly oder script um das irgendwie hinzubekommen ?

    Albert KA 1 Reply Last reply
    0
    • C Offline
      C Offline
      ChrisXY
      wrote on last edited by
      #2

      Lösung gefunden:
      https://forum.iobroker.net/topic/27050/test-adapter-trashschedule

      1 Reply Last reply
      0
      • D Offline
        D Offline
        dirkhe
        Developer
        wrote on last edited by dirkhe
        #3

        Sonst hätte ich hier auch noch ein kleines Script

        (function(){
        
            const id_alexa= "alexa2.0.Echo-Devices.xxxxxxx.Commands.speak";
            const id_cal= 'ical.0.events.';
            const id_cal_homeoffice_now= id_cal + '0.now.Homeoffice';
            const id_Heizung_Buero= 'fritzdect.0.Comet_11xxx32';
        
            on({id: id_cal_homeoffice_now, change:"ne"}, function(obj){
                let temp= obj.state.val 
                    ? (getState(id_Heizung_Buero + '.comfytemp').val ||  22) 
                    : (getState(id_Heizung_Buero + '.nighttemp').val ||  16) ;
                setState(id_Heizung_Buero + '.targettemp', temp);  
                setState(id_alexa, '60;Die Heizung im Büro wurde auf ' + temp + ' Grad eingestellt');
            });
        
            schedule({hour: 19, minute: 0}, function(){
                ['Restabfall','Altpapier','GelberSack'].forEach(function(value){
                    if (getState(id_cal + '1.' + value).val === true)
                        setState(id_alexa, '60;Morgen ist ' + value);
                })
            });
        
            schedule({hour: 7, minute: 0}, function(){
                ['Restabfall','Altpapier','GelberSack'].forEach(function(value){
                    if (getState(id_cal + '0.today.' + value).val === true)
                        setState(id_alexa, '60;Heute ist ' + value);
                })
            });
        
        })();
        

        Das mit dem Homeoffice kannst du löschen, ist halt mein aktuelles Kalender Script...
        Allerdings braucht man noch ein kleinen Doc im iCal adapter, siehe https://github.com/iobroker-community-adapters/ioBroker.ical/issues/103

        Gruss
        Dirk

        V 1 Reply Last reply
        3
        • D dirkhe

          Sonst hätte ich hier auch noch ein kleines Script

          (function(){
          
              const id_alexa= "alexa2.0.Echo-Devices.xxxxxxx.Commands.speak";
              const id_cal= 'ical.0.events.';
              const id_cal_homeoffice_now= id_cal + '0.now.Homeoffice';
              const id_Heizung_Buero= 'fritzdect.0.Comet_11xxx32';
          
              on({id: id_cal_homeoffice_now, change:"ne"}, function(obj){
                  let temp= obj.state.val 
                      ? (getState(id_Heizung_Buero + '.comfytemp').val ||  22) 
                      : (getState(id_Heizung_Buero + '.nighttemp').val ||  16) ;
                  setState(id_Heizung_Buero + '.targettemp', temp);  
                  setState(id_alexa, '60;Die Heizung im Büro wurde auf ' + temp + ' Grad eingestellt');
              });
          
              schedule({hour: 19, minute: 0}, function(){
                  ['Restabfall','Altpapier','GelberSack'].forEach(function(value){
                      if (getState(id_cal + '1.' + value).val === true)
                          setState(id_alexa, '60;Morgen ist ' + value);
                  })
              });
          
              schedule({hour: 7, minute: 0}, function(){
                  ['Restabfall','Altpapier','GelberSack'].forEach(function(value){
                      if (getState(id_cal + '0.today.' + value).val === true)
                          setState(id_alexa, '60;Heute ist ' + value);
                  })
              });
          
          })();
          

          Das mit dem Homeoffice kannst du löschen, ist halt mein aktuelles Kalender Script...
          Allerdings braucht man noch ein kleinen Doc im iCal adapter, siehe https://github.com/iobroker-community-adapters/ioBroker.ical/issues/103

          Gruss
          Dirk

          V Offline
          V Offline
          vb-raven
          wrote on last edited by
          #4

          @dirkhe Hi,

          Dein Skript funktioniert soweit!, aber wie müsste es aussehen wenn an einem Tag zwei Tonnen nach Plan rausgestellt werden müssen?

          Das Skript erkennt zwar, das zwei Tonnen dran sind, aber es wir immer eine Tonne über die Alexa ausgegeben bzw. die Sprachausgabe beider Tonne kommt laut log immer zur exakt selben Zeit, weswegen Alexa nur eine Tonne ansagt.

          Synlology DS418/Surveilance Station / FritzBox 7590 / VDSL 50/10 / Intel NUC 5i3RYH 12 GB RAM mit Proxmox 6.3 und iobroker + pi-hole + JITSI-Meet in jeweiligen LXC-Containern

          haselchenH 1 Reply Last reply
          0
          • V vb-raven

            @dirkhe Hi,

            Dein Skript funktioniert soweit!, aber wie müsste es aussehen wenn an einem Tag zwei Tonnen nach Plan rausgestellt werden müssen?

            Das Skript erkennt zwar, das zwei Tonnen dran sind, aber es wir immer eine Tonne über die Alexa ausgegeben bzw. die Sprachausgabe beider Tonne kommt laut log immer zur exakt selben Zeit, weswegen Alexa nur eine Tonne ansagt.

            haselchenH Offline
            haselchenH Offline
            haselchen
            Most Active
            wrote on last edited by
            #5

            @vb-raven

            Ich habe für jede Tonne ein Blockly und jeweils eine Verzögerung eingebaut.
            Als Beispiel:
            Papiertonne nach 10sek ansagen
            Biotonne nach 20sek ansagen usw.

            Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

            V 1 Reply Last reply
            0
            • haselchenH haselchen

              @vb-raven

              Ich habe für jede Tonne ein Blockly und jeweils eine Verzögerung eingebaut.
              Als Beispiel:
              Papiertonne nach 10sek ansagen
              Biotonne nach 20sek ansagen usw.

              V Offline
              V Offline
              vb-raven
              wrote on last edited by
              #6

              @haselchen Ja sowas hatte ich auch im Sinn! Ich bin blutiger Anfänger im JavaScript bzw. Blocky. Das soll heißen das ich nur eine Tonne in die Schleife werfe und kopiere den ganzen Block für jeden anderen Tonne. Wo trage ich nochmal die Verzögerung ein?

              Synlology DS418/Surveilance Station / FritzBox 7590 / VDSL 50/10 / Intel NUC 5i3RYH 12 GB RAM mit Proxmox 6.3 und iobroker + pi-hole + JITSI-Meet in jeweiligen LXC-Containern

              haselchenH 1 Reply Last reply
              0
              • V vb-raven

                @haselchen Ja sowas hatte ich auch im Sinn! Ich bin blutiger Anfänger im JavaScript bzw. Blocky. Das soll heißen das ich nur eine Tonne in die Schleife werfe und kopiere den ganzen Block für jeden anderen Tonne. Wo trage ich nochmal die Verzögerung ein?

                haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                wrote on last edited by haselchen
                #7

                @vb-raven
                Ich benutze einen GoogleHomeMini für die Sprachausgabe.
                So sehen die anderen Blocklys auch aus. Aber halt mit anderen Verzögerungen.

                0868e73e-c60e-4983-b950-e59d4bb863f0-grafik.png

                01e1c409-6100-4eba-8740-db9e30600c1a-grafik.png

                Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                dslraserD 1 Reply Last reply
                0
                • haselchenH haselchen

                  @vb-raven
                  Ich benutze einen GoogleHomeMini für die Sprachausgabe.
                  So sehen die anderen Blocklys auch aus. Aber halt mit anderen Verzögerungen.

                  0868e73e-c60e-4983-b950-e59d4bb863f0-grafik.png

                  01e1c409-6100-4eba-8740-db9e30600c1a-grafik.png

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  wrote on last edited by
                  #8

                  @haselchen
                  mach am Besten noch einen Haken bei löschen falls läuft (das ist quasi stop timeout), nicht das sonst Deine timeout mehrfach laufen, wenn Du das Fenster öffnest und schließt und wieder öffnest usw. (innerhalb der Verzögerung)
                  Timeout am Besten immer stoppen, auch wenn es manchmal/meistens auch so geht.

                  haselchenH 1 Reply Last reply
                  1
                  • C ChrisXY

                    Hallo,
                    habe einen Müllplan im ical. Dort bekomme ich für VIS auch schön Tabelle oder HTML ausgegeben.

                    Nun möchte ich aber gerne das ganze in meiner Begrüßung reinpacken.
                    Das ganze ist eine Speak oder TTS ansage.
                    Ich will gerne:

                    Hallo XYZ morgen ist die "Gebe Tonne" dran. Aber nur wenn auch morgen eine Tonne dran ist ;)

                    Hat schon jemand ein Blockly oder script um das irgendwie hinzubekommen ?

                    Albert KA Offline
                    Albert KA Offline
                    Albert K
                    wrote on last edited by
                    #9

                    @ChrisXY

                    Nur so nebenbei....
                    Ist aber schon bekannt dass es einen entsprechenden Skill mit Benachrichtigung und sogar Anzeige auf Echo Show Geräten gibt?

                    ...keine Kritik...nur Hinweis falls unbekannt...

                    V 1 Reply Last reply
                    0
                    • Albert KA Albert K

                      @ChrisXY

                      Nur so nebenbei....
                      Ist aber schon bekannt dass es einen entsprechenden Skill mit Benachrichtigung und sogar Anzeige auf Echo Show Geräten gibt?

                      ...keine Kritik...nur Hinweis falls unbekannt...

                      V Offline
                      V Offline
                      vb-raven
                      wrote on last edited by vb-raven
                      #10

                      @Albert-K ich wurde zwar nicht angesprochen, aber ich bin ein Freund von "Alles aus einer Hand" und der iobroker muss es jetzt richten, da er im Haus noch weitere Sachen steuert - stehe aber da noch am Anfang

                      Aktuell habe ich eine Anruferansage durch FritzBox und Alexa

                      @haselchen ich werde mir mal Blocky anschauen

                      Synlology DS418/Surveilance Station / FritzBox 7590 / VDSL 50/10 / Intel NUC 5i3RYH 12 GB RAM mit Proxmox 6.3 und iobroker + pi-hole + JITSI-Meet in jeweiligen LXC-Containern

                      1 Reply Last reply
                      0
                      • dslraserD dslraser

                        @haselchen
                        mach am Besten noch einen Haken bei löschen falls läuft (das ist quasi stop timeout), nicht das sonst Deine timeout mehrfach laufen, wenn Du das Fenster öffnest und schließt und wieder öffnest usw. (innerhalb der Verzögerung)
                        Timeout am Besten immer stoppen, auch wenn es manchmal/meistens auch so geht.

                        haselchenH Offline
                        haselchenH Offline
                        haselchen
                        Most Active
                        wrote on last edited by
                        #11

                        @dslraser

                        Hey....Guter Einwand, werde ich beobachten.
                        Ich brauchte einen zuverlässigen Trigger.
                        Und das Fenster öffnen wir jeden Tag nach dem Aufstehen. Geöffnet und geschlossen wird es nur 1mal bevor wir das Haus verlassen.
                        Habe lange tüfteln müssen bevor alle Ansagen korrekt gesprochen wurden.
                        Wir lassen nämlich auch Radio nach dem Aufstehen auf dem Mini laufen. Das war schon nen Hexenwerk das zu programmieren.

                        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                        V 1 Reply Last reply
                        0
                        • haselchenH haselchen

                          @dslraser

                          Hey....Guter Einwand, werde ich beobachten.
                          Ich brauchte einen zuverlässigen Trigger.
                          Und das Fenster öffnen wir jeden Tag nach dem Aufstehen. Geöffnet und geschlossen wird es nur 1mal bevor wir das Haus verlassen.
                          Habe lange tüfteln müssen bevor alle Ansagen korrekt gesprochen wurden.
                          Wir lassen nämlich auch Radio nach dem Aufstehen auf dem Mini laufen. Das war schon nen Hexenwerk das zu programmieren.

                          V Offline
                          V Offline
                          vb-raven
                          wrote on last edited by
                          #12

                          @haselchen Wie gesagt, ich bin blutiger Anfänger in Blocky.

                          Wieso brauche ich eigentlich einen Trigger, der mit der eigentlichen Sache nichts zu tun hat? Kann man "nur" den "blauen Block" zur einer bestimmten Zeit laufen lassen?

                          Was passiert wenn das Fenster vergessen wird zu öffnen bzw. zu schließen - löst dann die Ansprache der Tonnen nicht aus?

                          Synlology DS418/Surveilance Station / FritzBox 7590 / VDSL 50/10 / Intel NUC 5i3RYH 12 GB RAM mit Proxmox 6.3 und iobroker + pi-hole + JITSI-Meet in jeweiligen LXC-Containern

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          470

                          Online

                          32.7k

                          Users

                          82.5k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe