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. Skriptsammlung für den neuen ALEXA2.0 Adapter

NEWS

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

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

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

Skriptsammlung für den neuen ALEXA2.0 Adapter

Scheduled Pinned Locked Moved Skripten / Logik
184 Posts 45 Posters 45.5k Views 19 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.
  • F Offline
    F Offline
    firephaser
    wrote on last edited by
    #181

    Hallo zusammen,
    ich versuche gerade über Alexa den Fernseher auszuschalten, bzw. einzuschalten. Ich hatte das bis gestern mit Homebridge gemacht, der Raspberry hat sich aber verabschiedet und nun wollte ich nicht extra für den TV einen neuen PI kaufen.

    Folgendes habe ich gemacht:

    • in IOBroker / Objecte / javascript.0.scriptEnabled die folgende Variable angelegt: Name: vAlexaTV
      e0f4892f-be81-4f54-8701-d5e8ad49c494-image.png

    • In der Instanz b9b7cae8-453e-43a0-abea-0852bc535e6a-image.png
      ein neues Smartgerät mit dem Namen TriggerAlexaTV angelegt df709f8a-aaac-4017-a29c-0e088a932ed9-image.png

    • In Blockly ein Script angelegt, dass auf die Varible reagiert:
      6126272e-738f-4f2f-884f-d9cd80fd18e7-image.png

    • Anschließend iot.0 neu gestartet und über die Webseite Alexa neue Smartgeräte suchen lassen.

    • Alexa hat das neue Gerät auch gefunden
      6cb09622-badd-4660-9d7f-25891764672f-image.png

    • Nun über die Alexa App eine neue Routine angelegt mit Sprachbefehl: Alexa,schalte tv aus und dann mit der Aktion Smartgerät "TriggerAlexaTV"

    Alles gespeichert und getestet. Über die App selber kann ich die Funktion erfolgreich testen und der Fernseher wird an, bzw. ausgeschaltet. Wenn ich aber zu Alexa sagt "Alexa, schalte den tv aus" erhalte ich immer die Rückmeldung, der Trigger kann nicht gefunden werden.

    Was mache ich falsch?

    iObroker 3

    1 Reply Last reply
    0
    • F Offline
      F Offline
      firephaser
      wrote on last edited by
      #182

      Habe den Fehler gefunden. Alexa sendet als Trigger immer "Alexa, schalte t.v. an" und ich hatte als Satz "Alexa, schalte tv an". Das kann wohl nicht geändert werden, da in der Routine kein Sonderzeichen wie ein Punkt gesetzt werden kann. Nun habe ich das TV durch Fernseher ersetzt und es funktioniert.

      iObroker 3

      1 Reply Last reply
      0
      • sissiwupS sissiwup

        Hallo,

        anbei ein Skript der die letzten Anrufe vorliest inkl. Uhrzeit. Es werden nur Anrufe vom aktuellen Datum berücksichtigt.

         <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id=";azz=uCTGBXNyd/0SAEt" x="-688" y="-87"><mutation items="1"></mutation>
            <field name="CONDITION">any</field>
        
            <value name="OID0"><shadow type="field_oid" id="sW!}aU3Gi9+ka~_!Wa99"><field name="oid">javascript.0.vAlexaSagAnrufListe</field></shadow></value> 
            <statement name="STATEMENT"><block type="variables_set" id="H^Wy%qAv/BmW;sE/nZ;k"><field name="VAR">alexatext</field>
                <value name="VALUE"></value> 
                <next><block type="variables_set" id="Gx/mw:m_izOpYx{@Lk)p"><field name="VAR">anz</field>
                    <value name="VALUE"><block type="math_number" id="}+UH7L;^VthYU]z=g0*F"><field name="NUM">0</field></block></value> 
                    <next><block type="controls_forEach" id="xR/0#,CUOGLHQK=!Q-w4"><field name="VAR">i</field>
                        <value name="LIST"><block type="convert_json2object" id="@C6w/;8o)*%oxJ@UT,8_"><value name="VALUE"><block type="get_value" id="/qU/gkpQm,.]-YY_L1(X"><field name="ATTR">val</field>
                                <field name="OID">tr-064.0.calllists.all.json</field></block></value></block></value> 
                        <statement name="DO"><block type="variables_set" id="Otd~Mlm|z]3g8Q0p^`=s"><field name="VAR">pos</field>
                            <value name="VALUE"><block type="math_number" id="*FRuMmk(T8;v+VQc3DM~"><field name="NUM">0</field></block></value> 
                            <next><block type="variables_set" id="%]9yo5qM?m^}^74-D/oY"><field name="VAR">anrufer</field>
                                <value name="VALUE"><block type="text" id=")-o_KuQG)qLQ_:,)m_OG"><field name="TEXT">unbekannt</field></block></value> 
                                <next><block type="variables_set" id="fAU|Ej;;bY3%?[4T%.yR"><field name="VAR">anrufdatum</field>
                                    <value name="VALUE"></value> 
                                    <next><block type="controls_forEach" id="orz4mSV=gNl%mayt{k=}"><field name="VAR">j</field>
                                        <value name="LIST"><block type="variables_get" id="-@5CcHPA:B{WFGD?9}QI"><field name="VAR">i</field></block></value> 
                                        <statement name="DO"><block type="controls_if" id="[=SFT;CG~Z!}Qv_6!%~e"><value name="IF0"><block type="logic_operation" id="nE-NMM;w9-939EBoh[^/"><field name="OP">AND</field>
                                                <value name="A"><block type="logic_compare" id="EXHXJkT)K*3D%y[V8/Ax"><field name="OP">EQ</field>
                                                    <value name="A"><block type="variables_get" id="3J;!g!2(]ul{N2+L{CU;"><field name="VAR">pos</field></block></value> 
                                                    <value name="B"><block type="math_number" id=",^J=^x]oT1BuIuccep(u"><field name="NUM">1</field></block></value></block></value> 
                                                <value name="B"><block type="logic_compare" id="5ffi|wi3RT^.P{H`@L@/"><field name="OP">NEQ</field>
                                                    <value name="A"><block type="variables_get" id=":%j4u:bAtqB{.d=-/d.r"><field name="VAR">j</field></block></value> 
                                                    <value name="B"></value></block></value></block></value> 
                                            <statement name="DO0"><block type="variables_set" id="j1HH[{w}==ujX:swZf=K"><field name="VAR">typ</field>
                                                <value name="VALUE"><block type="variables_get" id="iZm34~7lg:`~-|Qj+XL7"><field name="VAR">j</field></block></value></block></statement> 
                                            <next><block type="controls_if" id="yU_?RKy~M]Byp+z20m;1"><value name="IF0"><block type="logic_operation" id="w1CkK4,G=~U2PSI5};L0"><field name="OP">AND</field>
                                                    <value name="A"><block type="logic_compare" id="}Ic~-io[2ya;!`#Dt-XB"><field name="OP">EQ</field>
                                                        <value name="A"><block type="variables_get" id="mT}DaeA?j-]w@jqhR;yp"><field name="VAR">pos</field></block></value> 
                                                        <value name="B"><block type="math_number" id="g9=0@+{xcO#s-zQp0nHe"><field name="NUM">2</field></block></value></block></value> 
                                                    <value name="B"><block type="logic_compare" id="Ok)G~.gN_S@?4Z{-VP+P"><field name="OP">NEQ</field>
                                                        <value name="A"><block type="variables_get" id="pgmkX`^RjBM;Vss.ka;9"><field name="VAR">j</field></block></value> 
                                                        <value name="B"></value></block></value></block></value> 
                                                <statement name="DO0"><block type="variables_set" id="D-(}L)F;.KF!P4.6XKcK"><field name="VAR">anrufer</field>
                                                    <value name="VALUE"><block type="variables_get" id=",[sZ/c2H:,)#VSe9-OgI"><field name="VAR">j</field></block></value></block></statement> 
                                                <next><block type="controls_if" id="SS`Ca]=@Q!%UKD%=SQHm"><value name="IF0"><block type="logic_operation" id="S9LFfiQG/g/-J(~uA!/e"><field name="OP">AND</field>
                                                        <value name="A"><block type="logic_compare" id="DCfM=V|@1#9pRWH779nh"><field name="OP">EQ</field>
                                                            <value name="A"><block type="variables_get" id="E/c3a1-%;H{hy9If!HL%"><field name="VAR">pos</field></block></value> 
                                                            <value name="B"><block type="math_number" id="H@+MR5PLO_STRYHR/(B+"><field name="NUM">5</field></block></value></block></value> 
                                                        <value name="B"><block type="logic_compare" id="w*s!SSWTdc-svcQ)MsGy"><field name="OP">NEQ</field>
                                                            <value name="A"><block type="variables_get" id="DJ~z`c`lBy4A5(}3)i_*"><field name="VAR">j</field></block></value> 
                                                            <value name="B"></value></block></value></block></value> 
                                                    <statement name="DO0"><block type="variables_set" id="FqA%[#fq/LyMm+;I*RRP"><field name="VAR">anrufer</field>
                                                        <value name="VALUE"><block type="variables_get" id="jKU-Ur+A(gzJH=Xx:JXe"><field name="VAR">j</field></block></value></block></statement> 
                                                    <next><block type="controls_if" id="_w?7*llOp[6)e)o5jO,w"><value name="IF0"><block type="logic_compare" id=":hBS5;Nx4%_14RC:eGx3"><field name="OP">EQ</field>
                                                            <value name="A"><block type="variables_get" id="0Gy{gheR5u}iF!6)cMxz"><field name="VAR">pos</field></block></value> 
                                                            <value name="B"><block type="math_number" id="eVEtOt#W=Qs?L?j?p(i#"><field name="NUM">9</field></block></value></block></value> 
                                                        <statement name="DO0"><block type="variables_set" id="+V98jJzLkcjdwxve][aa"><field name="VAR">anrufdatum</field>
                                                            <value name="VALUE"><block type="variables_get" id="u6S]DGC|xjW,5;;IAR%."><field name="VAR">j</field></block></value> 
                                                            <next><block type="controls_flow_statements" id="eJd]I^WE;L3x`;N1=svx"><field name="FLOW">BREAK</field></block></next></block></statement> 
                                                        <next><block type="math_change" id="SOSx!Tp,ww0F=Ipoxq84"><field name="VAR">pos</field>
                                                            <value name="DELTA"><shadow type="math_number" id=",`a^zzH0LZcBY@M8;uJC"><field name="NUM">1</field></shadow></value></block></next></block></next></block></next></block></next></block></statement> 
                                        <next><block type="comment" id="mI7wi{z/b;#{OB.TkXq+"><field name="COMMENT">Typ 1 = angenommen, Typ 2 = missed (Typ 1 auch AB!)</field>
                                            <next><block type="controls_if" id="HnqX;*3~~sS;v[o8*Zb5"><value name="IF0"><block type="logic_compare" id=")uo92MC7.#C9_=1@Pd+2"><field name="OP">LTE</field>
                                                    <value name="A"><block type="variables_get" id="_Cv6!Q9ZD8`VVr0g#]0L"><field name="VAR">typ</field></block></value> 
                                                    <value name="B"><block type="math_number" id="}aCLu#a2rc=|kgv|+{sI"><field name="NUM">2</field></block></value></block></value> 
                                                <statement name="DO0"><block type="controls_if" id="k|!G/Xj?oA`b(/Kc-|1R"><value name="IF0"><block type="logic_compare" id="uHRur!#y`^X?vc3mNKW*"><field name="OP">EQ</field>
                                                        <value name="A"><block type="convert_tostring" id="psi^4GjR6xXmU9rLPUAy"><value name="VALUE"><block type="time_get" id="NYBw`pidAU~K#eutu?zY"><mutation format="false" language="false"></mutation>
                                                                <field name="OPTION">DD.MM.YY</field></block></value></block></value> 
                                                        <value name="B"><block type="text_getSubstring" id="!|(mm1/Xp?y3`k2=W+@."><mutation at1="true" at2="true"></mutation>
                                                            <field name="WHERE1">FROM_START</field>
                                                            <field name="WHERE2">FROM_START</field>
                                                            <value name="STRING"><block type="variables_get" id=";-^a@}aIM5mKBWNjtX:m"><field name="VAR">anrufdatum</field></block></value> 
                                                            <value name="AT1"><block type="math_number" id="=I;t4NntB/E_jilatK*{"><field name="NUM">1</field></block></value> 
                                                            <value name="AT2"><block type="math_number" id="z#ll|XhXTWf*X2st=hK+"><field name="NUM">8</field></block></value></block></value></block></value> 
                                                    <statement name="DO0"><block type="variables_set" id="4MqQA#su!5x*fg`QEaR2"><field name="VAR">tmp</field>
                                                        <value name="VALUE"><block type="text_join" id="_{fO%DcZHDv(YjqN|+.U"><mutation items="6"></mutation>
                                                            <value name="ADD0"><block type="variables_get" id="~|0|%^ZzX~%[oOm5;!%J"><field name="VAR">anrufer</field></block></value> 
                                                            <value name="ADD1"><block type="text" id="?YhfYv}KVbo|5CRZywXf"><field name="TEXT">hat um</field></block></value> 
                                                            <value name="ADD2"><block type="text_getSubstring" id="{L:3[y{3D}ibA]mMtGc="><mutation at1="true" at2="true"></mutation>
                                                                <field name="WHERE1">FROM_START</field>
                                                                <field name="WHERE2">FROM_START</field>
                                                                <value name="STRING"><block type="variables_get" id="5|yY+vuWW}:_0i%xYqQ#"><field name="VAR">anrufdatum</field></block></value> 
                                                                <value name="AT1"><block type="math_number" id="]v/aOee-W1K_lHC[wD:o"><field name="NUM">10</field></block></value> 
                                                                <value name="AT2"><block type="math_number" id="Cv?R*(FV#bD6s,bQXAR;"><field name="NUM">11</field></block></value></block></value> 
                                                            <value name="ADD3"><block type="text" id="u5fZHU#/xM|I/zXzT.W_"><field name="TEXT">Uhr und</field></block></value> 
                                                            <value name="ADD4"><block type="text_getSubstring" id="csz?P)@/[_=osgekZdNE"><mutation at1="true" at2="true"></mutation>
                                                                <field name="WHERE1">FROM_START</field>
                                                                <field name="WHERE2">FROM_START</field>
                                                                <value name="STRING"><block type="variables_get" id="8Qr2nQ]7V1.D/B5rKFFj"><field name="VAR">anrufdatum</field></block></value> 
                                                                <value name="AT1"><block type="math_number" id="`kMkBT[35quqk~N3H}A}"><field name="NUM">13</field></block></value> 
                                                                <value name="AT2"><block type="math_number" id="3gRaKyCY^^O,j9LaaatH"><field name="NUM">14</field></block></value></block></value> 
                                                            <value name="ADD5"><block type="text" id="RvwRh)|Wf*z|odx6hXqT"><field name="TEXT"> Minuten angerufen</field></block></value></block></value> 
                                                        <next><block type="variables_set" id="Re~~rNq{gaD7SF0MM]-T"><field name="VAR">alexatext</field>
                                                            <value name="VALUE"><block type="logic_ternary" id="1!5a5vst3!y`Wl{IFTt-"><value name="IF"><block type="logic_compare" id="myxaS.9u5t`8ZwV;3pK2"><field name="OP">EQ</field>
                                                                    <value name="A"><block type="variables_get" id="R8GYMX}F`g!ZBo{D+k]_"><field name="VAR">anz</field></block></value> 
                                                                    <value name="B"><block type="math_number" id="tSW1iA{d5EVQHN[Z+-tV"><field name="NUM">0</field></block></value></block></value> 
                                                                <value name="THEN"><block type="variables_get" id=":t%z[.];H-|t/WU%FE^)"><field name="VAR">tmp</field></block></value> 
                                                                <value name="ELSE"><block type="text_join" id="`1mJO@vgR)fU#CsbTy-m"><mutation items="3"></mutation>
                                                                    <value name="ADD0"><block type="variables_get" id="!k^RkI_Tp+tQLrJb~clx"><field name="VAR">alexatext</field></block></value> 
                                                                    <value name="ADD1"><block type="text" id="9FXixkB1O.uj=W!zWhUc"><field name="TEXT">;</field></block></value> 
                                                                    <value name="ADD2"><block type="variables_get" id="O7*;5,?x_]UOIEkj7OV0"><field name="VAR">tmp</field></block></value></block></value></block></value> 
                                                            <next><block type="math_change" id="BXCqiU7*0-%cE]@0M]!q"><field name="VAR">anz</field>
                                                                <value name="DELTA"><shadow type="math_number" id="[kq,k~/SLxO,g_:DMu}r"><field name="NUM">1</field></shadow></value> 
                                                                <next><block type="controls_if" id="~Yq8]Xgt4y+k+(7IUKd!"><value name="IF0"><block type="logic_compare" id="42859)|d|Y6bHZG2}o?7"><field name="OP">EQ</field>
                                                                        <value name="A"><block type="variables_get" id="a7~!mlyA)h1A6ODLFLDJ"><field name="VAR">anz</field></block></value> 
                                                                        <value name="B"><block type="math_number" id="08yPn#v84mn0=0q)[r]R"><field name="NUM">5</field></block></value></block></value> 
                                                                    <statement name="DO0"><block type="controls_flow_statements" id="tBE}?*}^gMtd;1q`ApNS"><field name="FLOW">BREAK</field></block></statement></block></next></block></next></block></next></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement> 
                        <next><block type="control" id="`Qg!CDbvO0.dV/`|!D3d"><mutation delay_input="false"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.G090LF1174832X09.Commands.speak</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE"><block type="variables_get" id="mjJFF5P]=q46l?dg`Tj~"><field name="VAR">alexatext</field></block></value> 
                            <next><block type="debug" id="Ns0b*WC0f!TpiS%JQ^[d"><field name="Severity">log</field>
                                <value name="TEXT"><shadow type="text" id="2JciUzD(4a1E=jF@1vyY"><field name="TEXT">test</field></shadow> 
                                  <block type="variables_get" id="#6H6rD3{_zs~oG}dO4S^"><field name="VAR">alexatext</field></block></value></block></next></block></next></block></next></block></next></block></statement></block></xml> 
        

        609_bildschirmfoto_2018-09-08_um_00.31.01.png

        M Offline
        M Offline
        MyMeyer
        wrote on last edited by
        #183

        @sissiwup Hallo, sag mal läuft das Script noch bei Dir mit dem aktuellen Alexa2 Adapter ? Weil bei mir bekomme ich seit ein paar Tagen keine Antwort wenn ich Alexa frage wer angerufen hat. Es lief wochenlang ohne Probleme und jetzt ist Schluss.

        MyMeyer

        >>> Hardware: Intel I5 mit ****Debian ProxMox OS: Debian **** <<< >>> Network with UniFi <<<
        >>> HomeMatic CCU-2 (Wired und Funk) / Philips HUE / Echo.DOT / Echo.SHOW / Xiaomi Smart-Home / Xiaomi Robot Vacuum Cleaner / Synology DS 918+ / Shelly 1&2 <<<

        1 Reply Last reply
        0
        • OstfrieseUnterwegsO OstfrieseUnterwegs

          Anruferansage mit FritzBox tr-064. Klappt bei mir einwandfrei.

          Ich habe noch eingebaut, dass bei Anrufen ohne EIntrag im Telefonbuch die Nummer angesagt wird.

          Außerdem wird nur angesagt, falls jemand daheim ist.

          Ich habe aber noch ein Problem:

          Wie kann ich die Laustärke genau dann wieder anpassen, wenn die Ansage vorbei ist. Meine 5sek sind bei Namen OK, bei Nummern natürlich nicht.

          on({id: 'tr-064.0.callmonitor.ringing', val: true, ack: true}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
          
            var idEcho = "alexa2.0.Echo-Devices.GxxxxxxxxxxxxxQ";
          
            var volume = getState(idEcho+".Player.volume"/*volume*/).val;
          
            var Anrufer = String(getState("tr-064.0.callmonitor.inbound.callerName").val);
            var Nummer = String(getState("tr-064.0.callmonitor.inbound.caller").val);
          
            // Wenn keiner da ist, dann brauchen wir auch keine Ansage
            if (getState("javascript.0.Anwesenheitssteuerung.Userlist.JemandDa").val == false ){
          		return;
            }
          
            if (Anrufer.length === 0){  // Gibt es einen Namen im Adressbuch oder nur eine Nummer
                log("kein name");
          	  Anrufer = NummerInText(Nummer);
            }
            setStateDelayed(idEcho+".Player.volume"/*volume*/,70, 1700, false);
            setStateDelayed(idEcho+".Commands.speak"/*speak*/, (String('Anruf von ') + Anrufer), 2000, false);
            setStateDelayed(idEcho+".Player.volume"/*volume*/,volume, 5000, false);
          
          });
          
          function NummerInText(Nummer){
          
              var text = "unbekannt ";
              var einzeln = Array("null","eins","zwei","drei","vier","fuenf","sechs","sieben","acht","neun");
          	for (var i = 0; i <nummer.length; i++){/text/+="einzeln[parseInt(Nummer.substr(i,1))]" "/";/}/return/text;/<e=""></nummer.length;>
          
          M Offline
          M Offline
          michihorn
          wrote on last edited by
          #184

          @OstfrieseUnterwegs Mich würde mal interessieren wie du die Anwesendheitskontrolle vorgenommen hast
          Michael

          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

          507

          Online

          32.5k

          Users

          81.6k

          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