Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Ical Müllplan auswerten für Alexa oder TTS

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
12 Beiträge 6 Kommentatoren 1.2k Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Nicht stören
    D Nicht stören
    dirkhe
    Developer
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      664

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe