- Home
- Deutsch
- Skripten / Logik
- Blockly
- Chromecast: Musik stoppen und weiterspielen
Chromecast: Musik stoppen und weiterspielen
-
Hi,
hat jemand folgendes Szenario und irgendwie gelöst?
Ich spreche verschiedene Google Homes über Chromecast Adapter an.
Es gibt Ansagen und Erinnerungen vom Haus, dabei bleibt Musik, die gerade gespielt wird stehen, weil eine mp3 Datei vom Sayit Adapter abgespielt wird.
Danach startet die Musik leider nicht mehr.Ich habe nun versucht die Musik zu merken und dann wieder abzuspielen. Aber das Ding will nicht.
Gruß
maxpd -
@maxpd musst du das nicht über den Datenpunkt
chromecast.0.xxx.player.url2play
eintragen?
Glaub was anderes geht nicht. -
@michi_pi Ist bei mir im Fall von Tunein und YouTube Music aber leer.
-
@maxpd
Ich habe das mal für mein Küchenradio und tunein gelöst und musste eine zeitliche Verzögerung von 5 Sekunden einbauen, bis der Sender nach einer Durchsage wieder gespielt wurde.
Die Lautstärkeregelung für die anderen Player haben nichts zu sagen.
Hier der code:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="N7yghK6ob{L8fcbwho3I">Sperre</variable> <variable id="sq1eXInkzRaQJ(NDyB;D">Sperre_stumm</variable> <variable id="Jd?WFl//]1:B{a:KVn6]">volume</variable> <variable id="jD;6kV~r[_]h^?2PrY?g">playnow</variable> <variable type="timeout" id="timeout3">timeout3</variable> <variable type="timeout" id="timeout2">timeout2</variable> <variable type="timeout" id="timeout1">timeout1</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="variables_set" id="mgat%F~,0j*2cRIJ+:bY" x="-762" y="-187"> <field name="VAR" id="N7yghK6ob{L8fcbwho3I">Sperre</field> <value name="VALUE"> <block type="logic_boolean" id="9;r[;^/t)XedoMgK5QoW"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="b-7EGJ()=;,kipT%(Xk|"> <field name="VAR" id="sq1eXInkzRaQJ(NDyB;D">Sperre_stumm</field> <value name="VALUE"> <block type="logic_boolean" id="h[qO%g/rgCMQZ:kLA2;t"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on" id=".o}/i1mHhs+[B{)rY0#^"> <field name="OID">hm-rpc.1.0000DA499F3C4A.1.STATE</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="comment" id="((I}[b`__G|/iWd5a7^p"> <field name="COMMENT">Sprachausgabe zeitabhängig</field> <next> <block type="controls_if" id="{aMZ~e3KYP])8qH9jiYd"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="qTOpy~IN8w=4H`8x]i_O" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="fkb_W8}2Z{mcTfOh4hO@" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="lGA|(OC{J:Zj^RQQ.Rlx"> <value name="BOOL"> <block type="variables_get" id="TS}lHP6DCs}KGQt{EpPj"> <field name="VAR" id="N7yghK6ob{L8fcbwho3I">Sperre</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="^[76Xhev#)3(^dI;au-q" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="time_compare_ex" id="CxFvPV6WGEY[IEg!./Q@"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">between</field> <value name="START_TIME"> <shadow type="text" id="@~^}^9X|;]S}}5=jF!Nx"> <field name="TEXT">08:00</field> </shadow> </value> <value name="END_TIME"> <shadow type="text" id="|KZ?/]J_Z#1q4eY4!5h$"> <field name="TEXT">20:00</field> </shadow> </value> </block> </value> <value name="B"> <block type="on_source" id="A_;kBc~wX_F`JEx)VVEl"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="FPGsoj]nBheeQez9T#:b"> <value name="BOOL"> <block type="get_value" id="lhK){Yu8cOX.MkKGTcy:"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Haushalt.Briefkasten</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="EV9G$@,DMGx3QcGUY1f?"> <field name="COMMENT">Prüfen ob Radio läuft, bei ja, wieder einschalten nach Sprachausgabe</field> <next> <block type="controls_if" id="%IzzlF/N?N!pN3tvKWV~"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="t/$L|f*r(,2khE9y!1pB" inline="false"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="XPBH?{ts*Qkb9gT#h*CS"> <field name="ATTR">val</field> <field name="OID">chromecast.0.Küche.player.playerState</field> </block> </value> <value name="B"> <block type="text" id="sR,b{zw]OC|lXb%k%yAM"> <field name="TEXT">playing</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="kCqI;O-HW5[pkUPKf+1w"> <field name="VAR" id="N7yghK6ob{L8fcbwho3I">Sperre</field> <value name="VALUE"> <block type="logic_boolean" id="C3T^v_Ek=HOnsERrVAMN"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="o-x^ijZ@-Sn$.HacZSN#"> <field name="VAR" id="Jd?WFl//]1:B{a:KVn6]">volume</field> <value name="VALUE"> <block type="get_value" id="ON?lXI?!qbQ_]]:RmN5c"> <field name="ATTR">val</field> <field name="OID">chromecast.0.Küche.status.volume</field> </block> </value> <next> <block type="variables_set" id="~pIC;IRZ:u#av:q2NzAu"> <field name="VAR" id="jD;6kV~r[_]h^?2PrY?g">playnow</field> <value name="VALUE"> <block type="get_value" id="700sdwaNEZ~)c^NrwwNI"> <field name="ATTR">val</field> <field name="OID">chromecast.0.Küche.player.url2play</field> </block> </value> <next> <block type="sayit" id="]zuO)Xo1QlnbS@6%B?l2" collapsed="true"> <field name="INSTANCE">all</field> <field name="LANGUAGE"></field> <field name="LOG"></field> <value name="VOLUME"> <block type="math_number" id=")F6#uU5Ep^;$9n/gS0(m"> <field name="NUM">50</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=",eJD+cTdj5g)C?z*%.C9"> <field name="TEXT">Es war gerade jemand am Postkasten</field> </shadow> </value> <next> <block type="debug" id="wJi!hI`|aCgR?1en^lml"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="Mdx{sIexS]1YsX7a$4B{"> <field name="TEXT">Post da</field> </shadow> </value> <next> <block type="telegram" id="~+HTGOE-t%h#d/4GfEt`" collapsed="true"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="Mt3a.N,N0`Hms,PwZ5%p"> <field name="TEXT">+++📫 Wahrscheinlich ist etwas im Briefkasten. +++</field> </shadow> </value> <next> <block type="control" id="]3:9CA%I[|n`KoYnjKAJ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">chromecast.0.Büro.status.volume</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="inZubc`ZrI^a|z|=jIEt"> <field name="NUM">10</field> </block> </value> <next> <block type="control" id="@#5|c-I0?DX;1%puyH1^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">chromecast.0.Google_Mini_Wohnzimmer.status.volume</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id=")oDqo0`FA8qBlG}]CANA"> <field name="NUM">10</field> </block> </value> <next> <block type="control" id="B,;[a5]k{.9+o6sLv.s^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">chromecast.0.Schlafzimmer.status.volume</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="O#j6aWWe:f2^,vzF3qz#"> <field name="NUM">10</field> </block> </value> <next> <block type="control" id="Bdx;5CpMl))JgW}8p[3s"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Haushalt.Briefkasten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Izn8l#L^PEbQ|D=zgZt;"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="yxs!VuiWu[^!H/57O.a+"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">chromecast.0.Küche.player.url2play</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="qX.b2zL{`S}hZ7m|F(./"> <field name="VAR" id="jD;6kV~r[_]h^?2PrY?g">playnow</field> </block> </value> <next> <block type="control" id="r5l`cN,ukW+I=*.|_(d6"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">chromecast.0.Küche.status.volume</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="d=szS~A(]]tF*KEav(pk"> <field name="VAR" id="Jd?WFl//]1:B{a:KVn6]">volume</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="{8,w*CM{7=q@MZj)cWj/"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="ghd6f@7+t*0yp,hZbO;5"> <field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="K|N4(rC/D0bOX1!.(Obr"> <field name="VAR" id="N7yghK6ob{L8fcbwho3I">Sperre</field> <value name="VALUE"> <block type="logic_boolean" id="7*[cFl5f-m+G*^bhMF+S"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="URtt),QJ^6]vQRVqj@LC"> <field name="VAR" id="N7yghK6ob{L8fcbwho3I">Sperre</field> <value name="VALUE"> <block type="logic_boolean" id="v!o.$0/3k^?EmfKg|~G%"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="sayit" id="n]jkJkj-+cFreXFE{dCN" collapsed="true"> <field name="INSTANCE">all</field> <field name="LANGUAGE"></field> <field name="LOG"></field> <value name="VOLUME"> <block type="math_number" id="rHd9z5=5D2LGqloAfUXN"> <field name="NUM">50</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":,%k|HJNWhfPV1DTfks("> <field name="TEXT">Es war gerade jemand am Postkasten</field> </shadow> </value> <next> <block type="telegram" id="zE(~P{c[h]dpIUcNWp2y" collapsed="true"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id=":^DpZ/[RSpig,Dcina;e"> <field name="TEXT">+++📫 Wahrscheinlich ist etwas im Briefkasten. +++</field> </shadow> </value> <next> <block type="control" id="^6rZ!xR,ql)s_H@Ts#B5"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Haushalt.Briefkasten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="*AY/4mD0lKVI8XG73~D+"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="g8~)P[k*D9/eRieW+l7X"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="%5gSeoKk0DJ_|r?,(KrM"> <field name="NAME">timeout2</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="$1);@M|U%.y4[o5a,mH{"> <field name="VAR" id="N7yghK6ob{L8fcbwho3I">Sperre</field> <value name="VALUE"> <block type="logic_boolean" id="v9G)ps,*.+TRX9{NjaiN"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="X?3sSnY-5=gB2a^@in|3" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="H_#P31X0+pnFFN|NT|1D" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="8JclNt+YmQ0,7PN.W2]B"> <value name="BOOL"> <block type="variables_get" id="XU}0~U%]3*-k?:]^unr{"> <field name="VAR" id="sq1eXInkzRaQJ(NDyB;D">Sperre_stumm</field> </block> </value> </block> </value> <value name="B"> <block type="on_source" id="8Lgea48)uqKT|j:v?okq"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="+]+4P=M7mwaxSZVg7[E1"> <value name="BOOL"> <block type="get_value" id="QZ}7sMrwKM2sYX@3LCnf"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Haushalt.Briefkasten</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="4p]jn,1`A!q3M;=bu:sg"> <field name="COMMENT">Prüfen ob Radio läuft, bei ja, wieder einschalten nach Sprachausgabe</field> <next> <block type="controls_if" id="kw2Rd2Ed^1G[~`M-z}6$" collapsed="true"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="d:q#fX)jm0@INFXaC}+k" inline="false"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6nF~FXBceiZ~svi^{aQ]"> <field name="ATTR">val</field> <field name="OID">chromecast.0.Küche.player.playerState</field> </block> </value> <value name="B"> <block type="text" id=";(:H9jL8}B{r?Q]q6upp"> <field name="TEXT">playing</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=";+U||tI7.aUiD)mtu-e("> <field name="VAR" id="sq1eXInkzRaQJ(NDyB;D">Sperre_stumm</field> <value name="VALUE"> <block type="logic_boolean" id=",*22NiLED2p:+vxmOVw3"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="1E][{7h/863-DtX7?d6S"> <field name="VAR" id="Jd?WFl//]1:B{a:KVn6]">volume</field> <value name="VALUE"> <block type="get_value" id="|w)Wkh9NGaJC![|tOAgy"> <field name="ATTR">val</field> <field name="OID">chromecast.0.Küche.status.volume</field> </block> </value> <next> <block type="telegram" id="1.#pU748IXt:Se*=7qE(" collapsed="true"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="#C-[X19=$]?oOIqM.*1y"> <field name="TEXT">+++📫 Wahrscheinlich ist etwas im Briefkasten. +++</field> </shadow> </value> <next> <block type="control" id="zFnVGFzdk;c%rj@,lj+9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Haushalt.Briefkasten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="BA$kl,|7*feMsx6L=9k7"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="X[,Jkq6B9ro_JM,%OJF]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">chromecast.0.Küche.player.url2play</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="gU5qkCa6B2Btn]k;WAC9"> <field name="VAR" id="jD;6kV~r[_]h^?2PrY?g">playnow</field> </block> </value> <next> <block type="control" id="L/fbX)}]Yb=~-c6-S9h!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">chromecast.0.Küche.status.volume</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="variables_get" id="]7N^/Q=n29!Sa_;Q!#0i"> <field name="VAR" id="Jd?WFl//]1:B{a:KVn6]">volume</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="$^,xo)Q(XS*Z=e3A)%E@"> <field name="NAME">timeout1</field> <next> <block type="timeouts_settimeout" id="jbuYssJ,Yz7M]c1%xp.-"> <field name="NAME">timeout1</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="x!UiQY$-iM)nZzalDf;,"> <field name="VAR" id="sq1eXInkzRaQJ(NDyB;D">Sperre_stumm</field> <value name="VALUE"> <block type="logic_boolean" id=":+:5Es/{61M{zzhNthF4"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="2XTg,wLe3%iy4nYF=w2w"> <field name="VAR" id="sq1eXInkzRaQJ(NDyB;D">Sperre_stumm</field> <value name="VALUE"> <block type="logic_boolean" id="I]0OeJMK@qx0t%KHsaA-"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="telegram" id=").d,C5qGUy[qxmlfYVhL" collapsed="true"> <field name="INSTANCE">.0</field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="F_}A2OW}PnmH[b]+()S1"> <field name="TEXT">+++📫 Wahrscheinlich ist etwas im Briefkasten. +++</field> </shadow> </value> <next> <block type="control" id="5CLW3H,7#B(uhgtqD(Au"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Haushalt.Briefkasten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="J_=21*T~k.WQ{KE5o}x!"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id=".HQZH|uMyHpMydb!M])@"> <field name="NAME">timeout1</field> <next> <block type="timeouts_settimeout" id="aez?~_U;zeS2S#I/ot5S"> <field name="NAME">timeout3</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="YH%InN+76VI0H5XKoWCW"> <field name="VAR" id="sq1eXInkzRaQJ(NDyB;D">Sperre_stumm</field> <value name="VALUE"> <block type="logic_boolean" id="qgm$wSr*.Dn6uC/O(4.3"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
@maxpd also wenn du den titel den du gespeichert hast, in den url2play schreibst, geht es auch nicht?
Bei mir läuft auch der Radio über TuneIn. Und trage auch dort den Link ein. -
@michi_pi Doch, für Tunein hats funktioniert, aber nicht für YouTube, da gibts nämlich keine URL, sondern nur eine ID. Wenn ich die ID in eine URL umwandel, funktionierts im Browser, aber nicht unter url2play.
-
@maxpd okay alles klar, youtube nutze ich selbst nicht, aber ja mit Spotify hab ich das gleiche Problem, bzw. hab mich dann nicht allzu beschäftigt, da nutze ich halt den Spotify Adapter um den Track zu starten.
-
Es gibt eine inoffizielle YTM Api: https://github.com/sigma67/ytmusicapi . Ich kann mir vorstellen, wenn man sich mittels Authorization Header authentifiziert und dann über JavaScript Songs antriggert, sollte es klappen. Allerdings wohl nur wenn man JS beherrscht ^^
-
Update: Bei HomeAssistant gibt es einen YouTube Adapter der Musik stoppen und weiterspielen kann. Hat sich bei iobroker dahingehend vllt in der Zwischenzeit auch etwas getan? Einen eigenen Adapter habe ich nicht gefunden und der Chromecast Adapter wurde dahingehend auch noch nicht weiterentwickelt.