Skip to content
  • 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
  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.2k

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

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

Skriptsammlung für den neuen ALEXA2.0 Adapter

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
184 Beiträge 45 Kommentatoren 45.2k Aufrufe 19 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.
  • sissiwupS Offline
    sissiwupS Offline
    sissiwup
    schrieb am zuletzt editiert von
    #78

    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

    MfG

    Sissi

    –-----------------------------------------

    1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


    M 1 Antwort Letzte Antwort
    0
    • haselchenH Offline
      haselchenH Offline
      haselchen
      Most Active
      schrieb am zuletzt editiert von
      #79

      @sissiwup

      Wie sieht Dein Tipp praktisch aus?

      Ich weiss nämlich nicht wo ich ansetzen soll.

      Ganz unterschiedlich bekomme ich diesen Error , der vermutlich von der Alexa Einkaufsliste stammt. Jedenfalls startet der Adapter dann neu und Alexa fängt jetzt an dann die Fenster aufzuzählen.

      Kann leider kein Log schicken, weil der letzte Fehler-Neustart von heute morgen ist und der steht nicht mehr im Log.

      Alle 4minuten startet das Einkaufslisten Skript.

      Und irgendwann im Laufe des Tages kommt mal ein Fehler bei der Ausführung und dann ist es wieder auf unbestimmte Zeit gut.

      So sieht es aus, wenn alles gut ist:
      3723_unbenannt2.png

      In einem der Einkaufsskripts habe ich 1 gelbes Warndreieck. Eventuell ist das der Fehler? :?:

      Was müsste ich da korrigieren in der Zeile?

      3723_unbenannt3.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

      1 Antwort Letzte Antwort
      0
      • dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #80

        Log sollte auch von gestern da sein.

        LOG herunter laden anklicken.![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 042fc2.jpg">https://uploads.tapatalk-cdn.com/20180908/2d92fb62bd6cfc6793164cac2b042fc2.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 51f066.jpg">https://uploads.tapatalk-cdn.com/20180908/7e42e66a27e98e116b374b3d1151f066.jpg</link_text>" />

        PS: das Warndreieck kannst Du auch anklicken oder mit der Maus drüber fahren, da steht dann der Fehlerhinweis.~~~~

        1 Antwort Letzte Antwort
        0
        • haselchenH Offline
          haselchenH Offline
          haselchen
          Most Active
          schrieb am zuletzt editiert von
          #81

          Wenn es Dich nicht gäbe dslraser….klasse support 🙂

          3723_unbenannt1.png

          "Dont make functions within a loop" ist die Meldung.

          Ich muss leider alles erfragen,weil ich davon keinen Plan habe 😢

          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

          1 Antwort Letzte Antwort
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #82

            @haselchen:

            Wenn es Dich nicht gäbe dslraser….klasse support 🙂

            filename="Unbenannt1.PNG" index="0">~~

            "Dont make functions within a loop" ist die Meldung.

            Ich muss leider alles erfragen,weil ich davon keinen Plan habe 😢 ` Das Log wäre dann für den Adapterentwickler hilfreich.

            Und mit dem Javascript Fehler bin ich ebenfalls überfordert. Kannst ja mal paul53 hier im Forum fragen, er ist richtig fit.

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              mk120
              schrieb am zuletzt editiert von
              #83

              Halli Hallo,

              ich sehe glaube ich sehe den Wald vor lauter Bäumen nicht. Ich bekomme das Fensterscript was von der Idee und Umsetzung richtig cool ist nicht ans laufen. Könnte von euch mal jemand rüberschauen und mir einen Tipp geben? Vielen Dank und ein schönen Sonntag
              8565_script.png

              8565_gewerk_fenster.png

              1 Antwort Letzte Antwort
              0
              • haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                schrieb am zuletzt editiert von
                #84

                Hab noch nicht alles bei dir angesehen , aber du solltest auf jedenfall deinen Räumen vernünftige Namen geben.

                Damit würde ich als allererstes anfangen.

                Dann habe ich es mal bei mir verglichen, da heisst es im Wert OPEN(1) oder CLOSED(0)

                Bei dir steht true oder false.

                Ich denke damit hat es wohl auch zu tun.

                Aber dslraser als Skript Profi kennt sich damit besser aus 😉

                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

                1 Antwort Letzte Antwort
                0
                • dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #85

                  @mk120:

                  Halli Hallo,

                  ich sehe glaube ich sehe den Wald vor lauter Bäumen nicht. Ich bekomme das Fensterscript was von der Idee und Umsetzung richtig cool ist nicht ans laufen. Könnte von euch mal jemand rüberschauen und mir einen Tipp geben? Vielen Dank und ein schönen Sonntag

                  script.PNG

                  gewerk_fenster.PNG `

                  Also hier mal was von mir dazu. Das mit den Raumnamen und Gewerken würde ich auch anpassen. (sonst bekommst Du als Raum leer, oder leer1 und roomBathroom usw…)

                  Hier mal meine Gewerke
                  3822_gewerke.jpg
                  und hier mal meine Räume
                  filename="Räume.JPG" index="2">~~
                  Schau mal unter Aufzählungen wie da Deine Räume und Funktionen heissen. Wenn Du die aus der CCU hast, dann solltest Du es dort anpassen(Räume und Gewerke) danach Geräte neu einlesen von Deiner Instanz.
                  3822_instanz.jpg
                  Dann musst Du schauen wie bei Dir die STATE oder eben state heißen. Bei mir sind die .STATE groß geschrieben.
                  3822_state.jpg
                  So ist es dann auch im Script anzupassen
                  3822_script.jpg
                  Und eben wie Dein Gewerk heißt(bei mir Fenster, so auch im Script(genaue Schreibweise)
                  3822_fenster.jpg
                  Dann hast Du auch eine bessere Übersicht in den Objekten
                  3822_objekte.jpg

                  1 Antwort Letzte Antwort
                  0
                  • sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #86

                    @dslraser,

                    kommt mir bekannt vor…........... 🙂

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mk120
                      schrieb am zuletzt editiert von
                      #87

                      Jungs, vielen Dank für die schnellen Antworten. Ich habe die Kontakte jetzt auf der CCU sauber zugeordenet (Gewerk/Raum) die Leer1 etc waren erstmal für ein Test, da ich dachte das Script zeigt deshalb keine Werte. Ich habe mal geschaut kann es wirklich mit der Open/Closed Geschichte zu tun haben? Bei mir steht true/false statt wie bei dir open/close. Ich habe den STATE im Script auch jetzt großgeschrieben. DANKE für eure Hilfe
                      8565_kontakt.png

                      1 Antwort Letzte Antwort
                      0
                      • dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #88

                        Wenn noch keine Werte nach dem Scriptstart kommen starte mal den Javascript Adapter einmal neu. (nach solchen Änderungen kommt erst dann bei mir sauber was an)

                        PS: und schaue bitte in die Aufzählungen unter Funktionen wie Dein Gewerk da heisst (Bei manchen steht es dort in englisch)

                        Mach mal bitte einen Screeshot von den Aufzählungen und Deiner Funktion Fenster

                        1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          mk120
                          schrieb am zuletzt editiert von
                          #89

                          Script/Javascript neugestartet. Leider ohne Erfolg im Log steht auch nichts wildes..
                          8565_funktion.png

                          1 Antwort Letzte Antwort
                          0
                          • dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #90

                            Bei Dir ist fenster klein geschrieben.

                            enum.functions.fenster

                            Dann muss es im Script auch so geschrieben werden.

                            Bei mir ist es groß geschrieben
                            3822_fenster.jpg
                            Dann da ändern (habe ich oben aber geschrieben)
                            3822_script.jpg

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              mk120
                              schrieb am zuletzt editiert von
                              #91

                              Fenster in fenster umbenannt. Script und Javascript neugestartet Fensterstatus = 0. Oh man eventuell mag das Script mich nicht :twisted:

                              Ich habe nun das Gewerk und die Datenpunkte Rega neu eingelesen. Nun wird das Gewerk auch Fenster geschrieben aber er möchte einfach nicht. Mir ist zu dem false/true Unterschied zu Open/Closed bei dir aufgefallen dass unter Objekte der Datenpunkt Sensor heißt. Wenn ich ihn als ID einbinden möchte steht halt xxx.hm2.sensor. Ist das eventuell ein Problem?

                              Anbei meine aktuellen Einstellungen:

                              Danke für die Mithilfe am Sonntag

                              8565_objekte.png 8565_script.png 8565_raw.png 8565_funktion.png

                              1 Antwort Letzte Antwort
                              0
                              • dslraserD Offline
                                dslraserD Offline
                                dslraser
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #92

                                ich bin nur am Handy und kann an den Screenshots nicht so richtig was sehen. Aber Du kannst es ja auch mal mit id=.sensor oder id=.SENSOR propieren…

                                Ich weiss gerade nicht aus dem Kopf ob dann auch noch andere Stellen geändert werden müssen, ich glaube aber nicht. (ich benutze das gleiche Script für Hue Lampen und da läuft es über id=*.on)

                                Und wenn Du am Script was änderst starte den JS Adapter neu, das war bei mir immer der Grund wenn es nicht übernommen wurde...

                                1 Antwort Letzte Antwort
                                0
                                • dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #93

                                  kannst auch gerne mal hier nachlesen, das ist das gleiche Script aber da haben auch Andere in der betroffenen Zeile was angepasst, je nachdem…

                                  viewtopic.php?f=21&t=5735&share_tid=573 ... are_type=t

                                  1 Antwort Letzte Antwort
                                  0
                                  • haselchenH Offline
                                    haselchenH Offline
                                    haselchen
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #94

                                    @ dslraser

                                    Ich habe mal das Skript getestet , als alle Fenster geschlossen waren.

                                    Da kommt dann von Alexa: Es sind…... und dann nichts mehr.

                                    Ähm, es wäre schön wenn sie sagt , es ist alles geschlossen oder es ist nichts geöffnet.

                                    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

                                    1 Antwort Letzte Antwort
                                    0
                                    • dslraserD Offline
                                      dslraserD Offline
                                      dslraser
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #95

                                      @haselchen:

                                      @ dslraser

                                      Ich habe mal das Skript getestet , als alle Fenster geschlossen waren.

                                      Da kommt dann von Alexa: Es sind…... und dann nichts mehr.

                                      Ähm, es wäre schön wenn sie sagt , es ist alles geschlossen oder es ist nichts geöffnet. `

                                      Ich lasse mir nur Räume mit geöffneten Fenstern ansagen(Fenster sind mir zu viel) und eben ob alle Fenster geschlossen sind. Kommt wahrscheinlich drauf an auf was Du in Deinem Blockly bei der Ansage zeigst.

                                      Mein aktuelles FensterScript

                                      ! ````
                                      // Status Fenster. Das Script zählt alle Fenster im Gewerk Fenster (Aufzählungen-Funktion)
                                      // Telegramnachricht bei Abwesenheit wenn sich der Fensterstatus ändert. Bei Anwesenheit in der Homezone keine Nachricht senden.
                                      // Anwesenheit Datenpunkte separat erstellt und durch die Adapter google-sharedlocation und Places geschaltet
                                      ! var logging = true;
                                      ! var
                                      idAnzahlAuf = 'javascript.0.Status.Fenster.Anzahl_auf',
                                      idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
                                      idText = 'javascript.0.Status.Fenster.Text',
                                      idRaum = 'javascript.0.Status.Fenster.Raum',
                                      idAnsage = 'javascript.0.Status.Fenster.Ansage';
                                      ! // Ab hier nix mehr ändern
                                      createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Fenster
                                      type: 'number',
                                      name: 'Anzahl aller Fenster',
                                      min: 0,
                                      def: 0,
                                      role: 'value'
                                      });
                                      createState(idAnzahlAuf, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
                                      type: 'number',
                                      name: 'Anzahl der geoeffneten Fenster',
                                      min: 0,
                                      def: 0,
                                      role: 'value'
                                      });
                                      createState(idText, { // Anzahl der geoeffneten Fenster und deren Namen als Variable unter Javascript.0 anlegen
                                      type: 'string',
                                      name: 'geoeffnete Fenster',
                                      desc: 'Namen der geoeffneten Fenster',
                                      def: ' ',
                                      role: 'value'
                                      });
                                      createState(idAnsage, {
                                      type: 'string',
                                      name: 'geoeffnete Fenster (Ansage)',
                                      desc: 'Namen der geoeffneten Fenster (für Ansage aufbereitet)',
                                      def: ' ',
                                      role: 'value'
                                      });
                                      createState(idRaum, { // Räume, in denen Fenster geoeffnet sind
                                      type: 'string',
                                      name: 'Räume mit geoeffneten Fenster',
                                      desc: 'Namen der Räume, in denen Fenster geoeffnet sind',
                                      def: ' ',
                                      role: 'value'
                                      });
                                      ! var cacheSelectorState = $('channelstate.id=*.STATE'); // Gewerk Fenster
                                      ! function checkDevices(obj) {
                                      // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
                                      var anzahlFensterAuf = 0;
                                      var anzahlFenster = 0;
                                      var textFensterAuf = [];
                                      var textRaum = [];
                                      if (logging) {
                                      log('++++++ Fenster Anzahl ++++ ');
                                      log('#### SCHALTER ##### ');
                                      }
                                      cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
                                      var obj = getObject(id);
                                      var name = getObject(id).common.name;
                                      var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                                      var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
                                      var raumname = getObject(id, "rooms");
                                      ! if (logging) {
                                      log('-------');
                                      log('Kanal: ' + name);
                                      log('Status: ' + status);
                                      }
                                      if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
                                      ++anzahlFensterAuf;
                                      textFensterAuf.push(devicename); // Zu Array hinzufügen
                                      textRaum.push(raumname.enumNames); //
                                      }
                                      ++anzahlFenster; // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
                                      });

                                      textRaum = deleteDuplicates(textRaum); 
                                      
                                      // Array mit Fensternamen sortieren
                                      textFensterAuf.sort();
                                      textRaum.sort();
                                      // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon auf) ausgegeben
                                      if (logging) log("Text: " + textFensterAuf);
                                      if (logging) log("Anzahl Fenster: " + anzahlFenster + " # davon Fenster auf: " + anzahlFensterAuf);
                                      // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
                                      setState(idText, textFensterAuf.join(',\nund\n')); // Schreibt die aktuelle Namen der geoeffneten Fenster
                                      setState(idAnzahlAuf, textFensterAuf.length); // Schreibt die aktuelle Anzahl der geoeffneten Fenster
                                      setState(idAnzahl, anzahlFenster); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
                                      // setState(idRaum, textRaum.join(',
                                      

                                      ')); // Räume, in denen Fenster geoeffnet sind
                                      setState(idRaum, textRaum.join(',\nund\n')); // Räume, in denen Fenster geoeffnet sind
                                      }

                                      ! // Trigger
                                      cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Fenster
                                      if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
                                      checkDevices();
                                      });
                                      ! function main() {
                                      setTimeout(function() {
                                      if (logging) log('Auslöser Skriptstart');
                                      checkDevices();
                                      }, 2000);
                                      }
                                      ! main(); // Skriptstart-Auslöser
                                      ! // Aufbereitung für Ansage
                                      function strip_tags(data) {
                                      var rueckgabe = data.replace(/( |<([^>]+)>)/ig, " ");
                                      return (rueckgabe);
                                      }
                                      ! on(idText, function(obj) {
                                      var text = obj.state.val;
                                      text = (text.length > 1) ? ' ' + strip_tags(text) : 'Alle Fenster geschlossen';
                                      setState(idAnsage, text);
                                      });
                                      ! // Bei Anwesenheit zu Hause keine Telegramnachricht---Bei Abwesenheit sendet Telegram eine Nachricht
                                      // on({id: 'javascript.0.Status.Fenster.Ansage', change: "ne"}, function (obj) {
                                      // var value = obj.state.val;
                                      // var oldValue = obj.oldState.val;
                                      // if (getState("javascript.0.Anwesenheit.Heiko.Home.Heiko_Home").val === false) {
                                      // sendTo("telegram", "send", {
                                      // text: getState("javascript.0.Status.Fenster.Ansage").val,
                                      // disable_notification: true // ohne Ton am Handy
                                      //});
                                      //}
                                      //});

                                      
                                      Ich nehme diese, so passt es bei mir
                                      
                                      alle Fenster geschlossen = Datenpunkt geöffnete Fenster (Ansage)
                                       ![3822_fenster_zu.jpg](/assets/uploads/files/3822_fenster_zu.jpg) 
                                      alle Fenster geschlossen = Datenpunkt geöffnete Fenster (Ansage)
                                       ![3822_alle_fenster_geschlossen.jpg](/assets/uploads/files/3822_alle_fenster_geschlossen.jpg) 
                                      mindestens ein Raum mit geöffnetem Fenster = Datenpunkt Räume mit geöffneten Fenster
                                       ![3822_fenster_auf.jpg](/assets/uploads/files/3822_fenster_auf.jpg) 
                                      mindestens ein Raum mit geöffnetem Fenster = Datenpunkt Räume mit geöffneten Fenster
                                       ![3822_ein_fenster_auf.jpg](/assets/uploads/files/3822_ein_fenster_auf.jpg) 
                                      1 Antwort Letzte Antwort
                                      0
                                      • haselchenH Offline
                                        haselchenH Offline
                                        haselchen
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #96

                                        Bei welchem Blocky Punkt sagt sie denn, dass alles geschlossen ist?

                                        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

                                        1 Antwort Letzte Antwort
                                        0
                                        • dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #97

                                          @haselchen:

                                          Bei welchem Blocky Punkt sagt sie denn, dass alles geschlossen ist? `

                                          Schau nochmal in meinen Beitrag über Deinem (da war beim Bilder einfügen was verdreht–-sollte jetzt passen)

                                          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

                                          756

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe