NEWS
Skriptsammlung für den neuen ALEXA2.0 Adapter
-
Hab auf die Version 1.0.0 upgedatet vorhin.
Mag sein , dass es deswegen jetzt funktioniert
Was sind denn so Gründe , warum Alexa einfach so mal die offenen Fenster ansagt, ohne gefragt zu werden? `
Hat sie bei mir noch nie gemacht…..........
PS: vielleicht beim Neustart vom JS Adapter oder wenn Du das Script aktualiesierst...
-
Tatsächlich hat Iobroker manchmal Probleme mit der Alexa Einkaufsliste.
Dann kommt sowas:
javascript.0 2018-09-07 20:00:01.542 error uncaught exception: Unexpected token I in JSON at position 0
Das war dann auch der Grund für den Adapter Neustart.
-
Hab auf die Version 1.0.0 upgedatet vorhin.
Mag sein , dass es deswegen jetzt funktioniert
Was sind denn so Gründe , warum Alexa einfach so mal die offenen Fenster ansagt, ohne gefragt zu werden? `
Hallo,
ich habe das auch. Die einzige Variante (die ich gefunden habe) das zu umgehen ist eine Variable dazwischen zu schalten.
D.h. Alexa setzt die Variable Trigger… auf an und das Skript lauscht auf Änderungen an der Variablen.
Ansonsten erzählt die andauern etwas und wenn du wirklich etwas damit steuerst wird es doof.
Ich meine jedes Skript starte beim Neustart des Adapters und beim Speichern neu.
-
Tatsächlich hat Iobroker manchmal Probleme mit der Alexa Einkaufsliste.
Dann kommt sowas:
javascript.0 2018-09-07 20:00:01.542 error uncaught exception: Unexpected token I in JSON at position 0
Das war dann auch der Grund für den Adapter Neustart. `
Vollständige Fehlermeldung bitte … auf Basis der 1.0.0!Gesendet vom Handy ...
-
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>
-
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:
In einem der Einkaufsskripts habe ich 1 gelbes Warndreieck. Eventuell ist das der Fehler? :?:
Was müsste ich da korrigieren in der Zeile?
-
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.~~~~
-
Wenn es Dich nicht gäbe dslraser….klasse support
"Dont make functions within a loop" ist die Meldung.
Ich muss leider alles erfragen,weil ich davon keinen Plan habe
-
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.
-
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
-
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
-
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
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.
Dann musst Du schauen wie bei Dir die STATE oder eben state heißen. Bei mir sind die .STATE groß geschrieben.
So ist es dann auch im Script anzupassen
Und eben wie Dein Gewerk heißt(bei mir Fenster, so auch im Script(genaue Schreibweise)
Dann hast Du auch eine bessere Übersicht in den Objekten
-
kommt mir bekannt vor…...........
-
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
-
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
-
Script/Javascript neugestartet. Leider ohne Erfolg im Log steht auch nichts wildes..
-
Bei Dir ist fenster klein geschrieben.
enum.functions.fenster
Dann muss es im Script auch so geschrieben werden.
Bei mir ist es groß geschrieben
Dann da ändern (habe ich oben aber geschrieben)
-
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
-
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...
-
kannst auch gerne mal hier nachlesen, das ist das gleiche Script aber da haben auch Andere in der betroffenen Zeile was angepasst, je nachdem…