Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Playlist in Alexa2-Adapter wird nur angespielt

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Playlist in Alexa2-Adapter wird nur angespielt

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

      Guten Morgen,

      ich habe ein kleines Problem mit einem Weckerscript. Ich will das bei erreichen der Weckzeit im Alexa2-Adapter eine Playlist gespielt wird. Leider kommt es öfter vor (und das hauptsächlich beim Weckner meiner GöGa) das die Playlist nur kurz angespielt wird (nicht mal eine Sekunde) und dann wieder stopt. Die Datenpunkte werden gesetzt
      20191007_001.png
      20191007_002.png
      und angeblich hatt er 11 Sekunden gedudelt.

      Ich habe das Script mehrfach gecheckt, dinde aber keinen Fehler. Vieleicht sieht einer von euch was hier falsch läuft.

          // Musik-Lautstärke auf 5%, wird kontinuielich gesteigert auf 20%
          setState('alexa2.0.Echo-Devices.'+EchoDevice+'.Player.volume', 5);
          let tmpPlLstNr = getState(Path + 'iCal.'+Name+'.MusicProvider').val;
          let tmpPlLst = getState(Path + 'iCal.'+Name+'.Playlist').val;
          if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Musikwecker für Provider:'+tmpPlLstNr+' mit Playlist '+tmpPlLst);
      
          if (tmpPlLstNr == 0) {
      		  setStateDelayed('alexa2.0.Echo-Devices.'+EchoDevice+'.Music-Provider.Amazon-Music-Playlist', tmpPlLst, 8000, false);
            if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Playlist gesetzt');
      	  } else if (tmpPlLstNr == 1) {
      		  setStateDelayed('alexa2.0.Echo-Devices.'+EchoDevice+'.Music-Provider.Spotify-Playlist', tmpPlLst, 8000, false);
            if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Playlist gesetzt');
      	  } else if (tmpPlLstNr == 3) {
      		  setStateDelayed('alexa2.0.Echo-Devices.'+EchoDevice+'.Music-Provider.TuneIn', tmpPlLst, 8000, false);
            if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Playlist gesetzt');
      	  }
          let ii = 8000;
          for (let i = 10; i <= 20; i += 5) {
            ii = ii + 5000;
            setStateDelayed('alexa2.0.Echo-Devices.'+EchoDevice+'.Player.volume', i, ii, false);
            if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Lautstärkenerhöhung für Delay in '+ii+' MSek und Lautstärke '+i);
          }
        }
      

      Danke schon mal im vorraus
      Carsten

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @CKMartens last edited by paul53

        @CKMartens sagte:

        for (let i = 10; i <= 20; i += 5) {     
        

        Damit funktioniert es nicht, da kein neues setStateDelayed() erzeugt wird, sondern nur die Übergabeparameter in der Schleife geändert werden. Verwende ein Intervall:

        setTimeout(function() {
           var level = 10;
           var timer = setInterval(function() {
              setState('alexa2.0.Echo-Devices.'+EchoDevice+'.Player.volume', level);
              if(level < 20) level += 5;
              else clearInterval(timer);
           }, 5000);
        }, 8000);
        
        CKMartens 1 Reply Last reply Reply Quote 0
        • CKMartens
          CKMartens @paul53 last edited by

          @paul53 sagte in Playlist in Alexa2-Adapter wird nur angespielt:

          Damit funktioniert es nicht, da kein neues setStateDelayed() erzeugt wird, sondern nur die Übergabeparameter in der Schleife geändert werden. [...]

          Tatsächlich funktioniert der Part schon bei mir. Habe es für die Erhöhung der Laustärke und um die Nachttischlampen heller werden zu lassen.

              let ii = 8000;
              for (let i = 10; i <= 20; i += 5) {
                ii = ii + 5000;
                setStateDelayed('alexa2.0.Echo-Devices.'+EchoDevice+'.Player.volume', i, ii, false);
                if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Lautstärkenerhöhung für Delay in '+ii+' MSek und Lautstärke '+i);
              }
          [...]
              let ii = 8000;
              for (var i = 10; i <= 40; i += 5) {
                ii = ii + 2000;
                setStateDelayed(tmp_lichtDev, i, ii, false);
                if (DEBUG) log('Wecker: Wecker für '+WeckerName+' Helligkeitserhöhung für Delay in '+ii+' MSek und Helligkeit '+i);
              }
          

          Warum aber die Playlisten nicht immer gespielt werden, sondern manchmal nur ein paar Sekunden angespielt werden verwirrt mich. Und wie es aussieht ist meist der erste Weck-Cron betroffen.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          889
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          171
          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