Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.8k Beiträge

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    Ro75R
    Es kommt der Fehler 500 - vorrübergehend nicht zu erreichen. Das war vor längerer Zeit schonmal über eeiiinnnige Tage. Mehr kann ich dazu nicht sagen, da ich dieses Script abgelöst habe gegen mein Wetterscript was mit der OWM API arbeitet. Nur bin ich im Moment nicht bereit das ganze System hier zu veröffentlichen, da es 6 Adapter restlos ersetzt und 6500 Zeilen Code beinhaltet. Da ist mir der Support zu gewaltig, auch wenn die Konfig nur 5 Werte sind. Ro75.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    W
    @paul53 Bombe! Vielen Dank! Gleich die erste Version passt perfekt. Möchte nur um 11 Uhr entscheiden ob es sinnvoll ist die Klima einzuschalten. Brauch das nur im Sommer, drum interessiert Winterzeit nicht. Vielen Dank Dir
  • Hilfe für Skripterstellung mit Node-RED

    963 13k
    963 Themen
    13k Beiträge
    A
    @Marc-Berg sagte: @ak68 sagte: Wie kann ich den Adapter manuell updaten ? Gar nicht, du müsstest warten, bis der Adapter hochgezogen wird. Alternativ den sun-position Node downgraden, oder benötigst du das Update fachlich? Danke, habe jetzt down-gegraded :(
  • Skript von Node Red triggern

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    911 Aufrufe
    A
    Hallo, du solltest ein eigenes Objekt in ioBroker anlegen, z.B. unter Javascript.0 Dieses Objekt ist dann quasi dein "Eingabe-Objekt" für Blockly, d.h. eine Veränderung an diesem Objekt ist in Blockly dein Trigger. Mittels Node-Red schreibst Du dann einfach den gewünschten Wert in das Objekt. Blockly bekommt die Änderung mit und läuft los und kann dann natürlich auch den aktuellen Wert des Objekts weiterverwenden. Ich hoffe es ist klar was ich meine und ich hoffe dass ich richtig verstanden habe was du machen möchtest :-) Gruss Ralf
  • Zeitraum formatiert ausgeben

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    578 Aufrufe
    arteckA
    ist mir auch nicht bekannt.. zumindest nicht in der Formatieurng die du brauchst aber du kannst das Script unter <u>global</u> aufhängen dan hast du es auch einmal und überall
  • Temperatur Differenz Berechnen

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    Amnesia1211A
    Hat super geklappt danke noch mal.
  • Datenpunkte in json zusammenfassen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    T
    danke, werde ich mir später mal anschauen ob ich das hinbekomme!
  • [gelöst]Licht an bei 18.30Uhr und Anwesenheit

    Verschoben
    7
    3
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    O
    ` > Ja und zwar den berühmten Trigger im Trigger :lol: Spiel doch mal durch, wann die falls Bedingung überhaupt aufgerufen wird. Die Uhrzeit und die Aktualisierung im zweiten Trigger müssen exakt aufeinander treffen, was zu 100% wohl nie der Fall ist. Deshalb ist Trigger im Trigger meist ne sehr knifflige Sache bei der man genau wissen muss wie die zusammen arbeiten. Das würde Deiner Aufgabenstellung entsprechen: 2018_11_03_20_50_35_javascript_ioBroker.png 2018_11_03_20_50_35_javascript_ioBroker.png (30.87 KiB) 25 mal betrachtet wobei das kleiner als 21:30Uhr unnötig ist, da der Trigger eh um 18:30 auslöst, was kleiner als 21:30 ist ;) Ist nur ein Beispiel, wie das eventuell bei Dir irgendwo mit rein kann. ` Danke Jan
  • Ping-Script mit IF-Abfrage

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    T
    DANK! Ich blinder Anfänger sollte zuerst zum Optiker besuchen und dann einen JavaScript-Kurs belegen :-) So funktioniert es tatsächlich. Allerdings bekomme ich natürlich auch nicht mit, wenn das Gerät "r1Status" also der Router am anderen Ende nicht mehr online ist. Erst, wenn dieser wieder online (True) ist bekomme ich eine Mail. Sollte das nochmals überdenken, bin aber schon einen bedeutenden Schritt weitergekommen…. 8-)
  • [gelöst] ioBroker Blockly

    Verschoben
    11
    1
    0 Stimmen
    11 Beiträge
    4k Aufrufe
    paul53P
    @Mogli96: läuft super :!: ` Markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].
  • Blockly - verschiedene Werte vergleichen

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    2k Aufrufe
    Niemand hat geantwortet
  • [gelöst]Panik- was ist mit Blockly los?

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    A
    Hi. Diese Meldung tritt auch auf wenn man einen Adapter, welcher in einem Skript verwendet wird, entfernt. So hatte ich es mal. Gesendet von iPhone mit Tapatalk
  • Pause in Schleife

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    638 Aufrufe
    Niemand hat geantwortet
  • Blockly: Unterschied zwischen "steuere" und "aktualisiere"?

    Verschoben
    6
    1 Stimmen
    6 Beiträge
    14k Aufrufe
    MessiahsM
    Das funktioniert zumindest bei meinem Setup (ioBroker 3.5.10/piVCCU 3.41.7) nicht… Ich habe gerade Stunden damit verbracht eine Systemvariable über ein Script auf der CCU zu aktualisieren. Natürlich habe ich es zuerst über die Funktion "Aktualisiere" (Code: setState("hm-rega.0.1687", true, true); ) versucht. Der Datenkonten wurde auch entsprechend im ioBroker aktualisiert, nur es erfolgte kein Update der Variable auf der CCU. Ein manuelles Setzen des Wertes über die "Objekte" hatte hingegen sofort funktioniert. Benutze ich die Funktion "Steuere" ( JSCode: setState("hm-rega.0.1687", true); ) funktionierte das Setzen der Systemvariable sofort.
  • Wert eines Variablen/Datenpunktes in Vis ändern

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    724 Aufrufe
    Niemand hat geantwortet
  • CURL Webseite in Variable

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    710 Aufrufe
    M
    OK, hab die Abfrage mal hinbekommen…. curl --digest --user user:pass 192.168.178.1/meinewebseite
  • Broadlink Adapter stürzt bei Script ab

    Verschoben
    3
    2
    0 Stimmen
    3 Beiträge
    681 Aufrufe
    apollon77A
    Ja, NEVER EVER eigene States irgendwo in Strukturen von Adaptern anlegen! Das kann nur schieff gehen
  • [Vorlage] Flexible Pin-Eingabe mit Blockly

    Verschoben blockly template
    72
    5
    0 Stimmen
    72 Beiträge
    23k Aufrufe
    L
    @Walkinlarge2010!: Hallo zusammen, danke für die super Vorarbeit! Ich habe das Script etwas angepasst. Nun kann man jeglichen Schalter im VIS nehmen und braucht keinen extra Taster mehr. Wenn der PIN richtig ist, gebe ich das für eine Sekunde in den TempCode, dann kann man das als Ausgabe in der VIS nutzen. Hier der Export, muss natürlich individuell angepasst werden. <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id=".M/Q%KRmxbXWc2P9~_MO" x="-267" y="-132"><field name="COMMENT">Einmalige Initialisierung bei Programmstart</field> <next><block type="procedures_callnoreturn" id="tjP%K@i{#i,h1Dyax-gY"><mutation name="Initialisierung"></mutation> <next><block type="comment" id="?bXfiCYH0h;wOsNVLQT1"><field name="COMMENT">Hier beginnt das Triggern</field> <next><block type="comment" id="Ox)}[Fr#C.VldaJS5L^k"><field name="COMMENT">Beliebig erweiterbar</field> <next><block type="on_ext" id="7r*}c).]GtkEH)FR.:s."><mutation items="12"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="qW*M98D`Of90FmZ?BT;~"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_1</field></shadow></value> <value name="OID1"><shadow type="field_oid" id="db.g;R`[uTi-M|khCqfC"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_2</field></shadow></value> <value name="OID2"><shadow type="field_oid" id="xXI+u{uUm0V4mOYK!n]j"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_3</field></shadow></value> <value name="OID3"><shadow type="field_oid" id="L/.+Co%HVmPx|6[dkKDf"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_4</field></shadow></value> <value name="OID4"><shadow type="field_oid" id="YVdua@J5e.V_U-U26+?x"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_5</field></shadow></value> <value name="OID5"><shadow type="field_oid" id="3p-_6#@zV#xSNcEo/hbt"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_6</field></shadow></value> <value name="OID6"><shadow type="field_oid" id="[XON[zsvmV^USlAkKTMv"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_7</field></shadow></value> <value name="OID7"><shadow type="field_oid" id="%{._9]MXCKmMWiwrYR}w"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_8</field></shadow></value> <value name="OID8"><shadow type="field_oid" id="ME,JB!1D%xbAV}6ir2wG"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_9</field></shadow></value> <value name="OID9"><shadow type="field_oid" id="raHa*UG!:Q]~4]zEv1,#"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_0</field></shadow></value> <value name="OID10"><shadow type="field_oid" id="t/lBj:{1Z*;LCZ!?G/?g"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_Raute</field></shadow></value> <value name="OID11"><shadow type="field_oid" id="[jEp!64??uE`5I.NeKqk"><field name="oid">javascript.0.Alarmsystem.PIN.Nummer_Stern</field></shadow></value> <statement name="STATEMENT"><block type="comment" id="Yg;,[I7Ex=?rcz#y?kj%"><field name="COMMENT">Timer für zu lange Eingabepause stoppen</field> <next><block type="timeouts_cleartimeout" id="#p8Sw}HSQK?cYiU:YHiK"><field name="NAME">timeout</field> <next><block type="comment" id="?pNSp?WhqKPHT/B_pJo:"><field name="COMMENT">Nur ausführen wenn Eingabe nicht geblockt</field> <next><block type="controls_if" id="`dn-O]h-kTj)k:Hx)Xkz"><value name="IF0"><block type="logic_compare" id="aahnsRO!(k,8K;ftiGcN"><field name="OP">NEQ</field> <value name="A"><block type="variables_get" id="~1[*:7k/oGI/ZT1ie-F5"><field name="VAR">AnzahlVersuche</field></block></value> <value name="B"><block type="variables_get" id="9EtqToNOpvma_:nUc:I3"><field name="VAR">maxVersuche</field></block></value></block></value> <statement name="DO0"><block type="controls_if" id="53w`on3Q~KRaZW)3F6_["><mutation elseif="11"></mutation> <value name="IF0"><block type="logic_compare" id="=Vuh)csdD]A:f+;xaY0c"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="73#_D/?hW=+je)pXEOH]"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_1</field></block></value> <value name="B"><block type="logic_boolean" id="-nBqftYopC%u~4,0#S:J"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="comment" id="iDWo7Ppf@/PIDOC3,nQg"><field name="COMMENT">Die Eingabe an Funktion übergeben</field> <next><block type="procedures_callnoreturn" id="9ND8^RRRst6J*Tr1aF:P" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id=";{hUh`J|FuWgRnG+V`x/"><field name="TEXT">1</field></block></value> <next><block type="update" id="9@@s@)al,NFi:Fv!o)^v"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="CLmw7YVC/r6HoA_issE="><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="7OCP}UF3YaQ|gs=RDF`y"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="NHZ%eeYxhwr?#M_(BhP/"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_2</field></block></value> <value name="B"><block type="logic_boolean" id="*2NWW1B~r6Z2E}P%j2wg"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO1"><block type="procedures_callnoreturn" id="TUEyn}|x(z36g?T63y*_" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="]Rf`6@?xK*gplLyQ-bQP"><field name="TEXT">2</field></block></value> <next><block type="update" id="qf^]8rxXq{N3)E`W#^k3"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_2</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="mv;V~3AH@eQKWfkD;*Sc"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF2"><block type="logic_compare" id="8oUmv2o%~@wjdNn_2bB}"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="D5^##Kxmy;b`o1B=Nj_?"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_3</field></block></value> <value name="B"><block type="logic_boolean" id="=+FvloDpnlxoQhQt]biY"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO2"><block type="procedures_callnoreturn" id="?}Q)OGY}05Ms(#R@Kycz" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id=";dy%FKdEuIq;eorrIp|h"><field name="TEXT">3</field></block></value> <next><block type="update" id="|rh0[ZSafFT2P9^i2a5g"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_3</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="KeQpkP;!xJz0l9UcDt~e"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF3"><block type="logic_compare" id="8apFtO:LEW0/,#=:U)gd"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="o{]OcOspYPH~(gC1%t*~"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_4</field></block></value> <value name="B"><block type="logic_boolean" id="ReP45uSYnPV5dI4r!HX_"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO3"><block type="procedures_callnoreturn" id="G8i%d,3Hk8Lb6pdBrmS=" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="5L75`L}7L;|+}rmrp~ed"><field name="TEXT">4</field></block></value> <next><block type="update" id="bm[gN*}7`b_a*u%Y^;h-"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_4</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="(FFs_m.S2fc`e=?l.J#L"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF4"><block type="logic_compare" id="`gGdjrCEvp4|F-9!_c+0"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="x+N2@@K^{v%b#d9D3A*C"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_5</field></block></value> <value name="B"><block type="logic_boolean" id="e5HB-~R%#;:(zua1A#:q"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO4"><block type="procedures_callnoreturn" id="|/1B/2TwZ]sg^_fCkpF[" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="ijb/fyL}D^0].JEH9]-P"><field name="TEXT">5</field></block></value> <next><block type="update" id="fziQxD0_K@qe}AT3latd"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_5</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="k1Hyug],*iN=l(;#R;0{"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF5"><block type="logic_compare" id="@h**sD7_;Ec|/{~=VcOx"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=",9]o#s/huPstS?,abr|a"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_6</field></block></value> <value name="B"><block type="logic_boolean" id="m8U*gfnHC7age(*^FvFt"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO5"><block type="procedures_callnoreturn" id="}7YRsjFgISkt2DLczOWQ" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="7GbS.fw03D#3Rk9dkG-I"><field name="TEXT">6</field></block></value> <next><block type="update" id="Awmw{e4.R5:degkZ0%#j"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_6</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="Ub1A8rhNt[G=~CP(Du{*"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF6"><block type="logic_compare" id="V4Lo]/iv6ty6Uke?gMq."><field name="OP">EQ</field> <value name="A"><block type="get_value" id="grF#N7VRzA68b^W*R3~_"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_7</field></block></value> <value name="B"><block type="logic_boolean" id="/p@#.M-G]zLevwG*RKMZ"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO6"><block type="procedures_callnoreturn" id="1i/}iJlM;R_tsRR:E?(=" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id=",(#40YoQ1@mn[1/l,~2Q"><field name="TEXT">7</field></block></value> <next><block type="update" id="MAJeC[NusfBo]SAb4f/Z"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_7</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="~XEaTw:I+V!3-o#(hpU?"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF7"><block type="logic_compare" id="./V`e:V9!LTku5eXmHq9"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="i1pJ/%w0K^p+JY,sHs*q"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_8</field></block></value> <value name="B"><block type="logic_boolean" id="8tl;BxmxF6vkQBHqPx8S"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO7"><block type="procedures_callnoreturn" id="mbo1trmU+,_m{,32Eur-" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="l/{bo.d],VOB8]NKMM-;"><field name="TEXT">8</field></block></value> <next><block type="update" id="92mrM??.#,x6J:kgQ{+z"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_8</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="c0ak)7T1FSS:IsY+uv{E"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF8"><block type="logic_compare" id="31vz^KGQys?cG5xLnor3"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="N=#YNd-l)Y7+{Hs-j7x|"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_9</field></block></value> <value name="B"><block type="logic_boolean" id="0`/iv=^V158w=pO:L#aW"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO8"><block type="procedures_callnoreturn" id="=2@z*Bg2jZ}Q4)dL(kL[" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="sA}=(*-aW(N3*9}=8Y!M"><field name="TEXT">9</field></block></value> <next><block type="update" id="UVGihdGH_J2%/H9NceS;"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_9</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="Pi2n+A!sddFA44(_^~D3"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF9"><block type="logic_compare" id="Bac{;rIP^+Ucy8w@{M@d"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="!JKJ(g0-UnF?h;.5owZk"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_0</field></block></value> <value name="B"><block type="logic_boolean" id="L;tI%~Oa{Zb|e=m_sXIf"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO9"><block type="procedures_callnoreturn" id="XL)%L_.!5pO%6*%j%s1g" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="Eb,viCwOsMo=Qu_Nk(;S"><field name="TEXT">0</field></block></value> <next><block type="update" id="ZE`J_g+?8fY;iXX=j8Jc"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_0</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="ey)btK??UB7{zh1lr:o7"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF10"><block type="logic_compare" id="}L[GS:@L=[9^V9MPM-P?"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="*S{Utoo4?br3L?h(lo-]"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_Raute</field></block></value> <value name="B"><block type="logic_boolean" id="LSN]CN=uT%-d*-@{i`%s"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO10"><block type="procedures_callnoreturn" id="BOgv6x.mmih[qn;`6OtO" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="uGm!*c|[SM;cvu!:~,qu"><field name="TEXT">#</field></block></value> <next><block type="update" id="~YA%Hxq/TvKN]kz4ieUo"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_Raute</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="HW?*QRqP+fuMncYEn(MU"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <value name="IF11"><block type="logic_compare" id="(H4bgUs`GZg*O}Totx_8"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="(]Gt?NFZOC#i8MaMrKIs"><field name="ATTR">val</field> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_Stern</field></block></value> <value name="B"><block type="logic_boolean" id="??m^})f0ye?+9G;IP4bm"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO11"><block type="procedures_callnoreturn" id="*q;WY(IUkpb,H0c_|0Jh" inline="true"><mutation name="getCode"><arg name="TastenWert"></arg></mutation> <value name="ARG0"><block type="text" id="R:oGY=KQb(5Hu+{7BVut"><field name="TEXT">*</field></block></value> <next><block type="update" id="y;k7!#75?L;`lUPV]g4o"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Nummer_Stern</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">250</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="0G[+4;i_o7g;?1a!99;3"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement> <next><block type="update" id="uk[^_Xl}2@I^c!-x*r.Z"><mutation delay_input="true"></mutation> <field name="OID">javascript.0.Alarmsystem.PIN.Temp_Code</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">275</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="variables_get" id="*@j*dTh|~Xqa~%TIZ[cn"><field name="VAR">tempCode</field></block></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block> <block type="procedures_defnoreturn" id="O)q*?M8Hfa5)/}O6ZsZ7" x="737" y="137"><field name="NAME">Initialisierung</field> <comment pinned="false" h="80" w="160">Bei Programmstart Werte vorgeben.</comment> <statement name="STACK"><block type="variables_set" id="?L69j3%sRmc}([5G2X60"><field name="VAR">AnzahlVersuche</field> <value name="VALUE"><block type="math_number" id="t]h/P`X7feEalP-;RDq_"><field name="NUM">0</field></block></value> <next><block type="variables_set" id="wMeGQPHU)@|vwaJP%iqr"><field name="VAR">tempCode</field> <value name="VALUE"></value> <next><block type="comment" id="_UZqDvMtW0LHk96L^T8z"><field name="COMMENT">Maximale Fehlversuche festlegen</field> <next><block type="variables_set" id="e663[k*hSCd%o_?sd(XA"><field name="VAR">maxVersuche</field> <value name="VALUE"><block type="math_number" id="{OjuYXvX(;:=T.oag~a#"><field name="NUM">3</field></block></value> <next><block type="comment" id="K(:;y-gihBx_:{%kJ~Oo"><field name="COMMENT">Länge der Codes festlegen</field> <next><block type="variables_set" id="BGt@+4h!d)Kco3]{`,)V"><field name="VAR">maxCodeLaenge</field> <value name="VALUE"><block type="math_number" id="|Wm^i`:C`~o0Bp7;,-yy"><field name="NUM">4</field></block></value> <next><block type="comment" id="ZgOwwPRCnNLM~@tR?DhB"><field name="COMMENT">Liste der Codes</field> <next><block type="comment" id="|9)F(1-)Murz[PAg@Pcz"><field name="COMMENT">Beliebig erweiterbar. Auf Länge achten!</field> <next><block type="variables_set" id=";~}[HtK6:wa8W/1,]j2a"><field name="VAR">CodeAnwesend</field> <value name="VALUE"><block type="text" id="/%k9:KVHUC2RVgH.:^v5"><field name="TEXT">1234</field></block></value> <next><block type="variables_set" id=";{0Vr(56Uhr:z8Cziv*C"><field name="VAR">CodeAbwesend</field> <value name="VALUE"><block type="text" id="^di=V@V!cAe+WZiLfuL%"><field name="TEXT">9876</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block> <block type="procedures_defnoreturn" id="t@lDFN#V:FHO31zeMUSV" x="738" y="463"><mutation><arg name="TastenWert"></arg></mutation> <field name="NAME">getCode</field> <comment pinned="false" h="80" w="160">Code pruefen</comment> <statement name="STACK"><block type="text_append" id="@0sNv=W?MJzk`622W]Q4"><field name="VAR">tempCode</field> <value name="TEXT"><shadow id="6q^nqw|R(+L0{n_l/Gc4" type="text"></shadow> <block type="variables_get" id="LWMvwI0w|bcPvg-n5gGg"><field name="VAR">TastenWert</field></block></value> <next><block type="debug" id="vjr3FKb9Vi*y+77wJTx,"><field name="Severity">log</field> <value name="TEXT"><shadow id=".0O)AP~8_Z_^cA%~Y=0o" type="text"></shadow> <block type="text_join" id=")*fGp8U0U/F=Wcs;KY/|"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id=").fVwr0of^0wi[*+UipI"><field name="TEXT">*****Eingabe -></field></block></value> <value name="ADD1"><block type="variables_get" id="Cw9-Bo9Tle36/K]UpAeB"><field name="VAR">tempCode</field></block></value></block></value> <next><block type="controls_if" id="n5A{||l/F/:ozsHSOg4^"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="T`=]omffKe6S+_(UpU:6"><field name="OP">GT</field> <value name="A"><block type="text_length" id=";Xk,nZX;Io@ax2OT=s73"><value name="VALUE"><shadow id="RGYf`*(-7S#_3L-Ww7];" type="text"><field name="TEXT">abc</field></shadow> <block type="variables_get" id="gapi+DOc_=Fi})6b*l7}"><field name="VAR">tempCode</field></block></value></block></value> <value name="B"><block type="variables_get" id="j9RTTC,C]+Q)EY2SD}`i"><field name="VAR">maxCodeLaenge</field></block></value></block></value> <statement name="DO0"><block type="comment" id="|T`go8I~X04G[v8TB8v3"><field name="COMMENT">Zuviele Eingaben</field> <next><block type="comment" id="+lM8)EE*fCo`n1X0.Dw="><field name="COMMENT">Eingabe löschen und Versuche hochzählen</field> <next><block type="debug" id="sRw2Xy,4}LO3T4q.5*yM"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="+cYZRRJa1z=6hGhTLdam"><field name="TEXT">*****Zuviele Zeichen*****</field></shadow></value> <next><block type="variables_set" id="%D8buHC|kCUU1/KVJB[2"><field name="VAR">tempCode</field> <value name="VALUE"></value> <next><block type="procedures_callnoreturn" id="T/]?rq:p![ebfuT~k+i/"><mutation name="chkVersuche"></mutation></block></next></block></next></block></next></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="lDJ@;/jzBi=HTRV]yYn,"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="*v]-iY2]3*a;Ir}hU9sM"><field name="VAR">tempCode</field></block></value> <value name="B"><block type="variables_get" id="FXw/|._t2rtHCxgNR}N{"><field name="VAR">CodeAnwesend</field></block></value></block></value> <statement name="DO1"><block type="comment" id="l(HPe4p~ikj;pvhZJME,"><field name="COMMENT">Eingabe korrekt</field> <next><block type="update" id="R:QUWw_[Kmvca%SHrk^N"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Alarmsystem.Alarm.Zielstatus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="6LV~-IW;nfvm3/%(T)aY"><field name="NUM">3</field></block></value> <next><block type="update" id="2Ybk+GO*e6flP9xhg%It"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Alarmsystem.Alarm.Warnung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="aWX!@-;lTda4%0PVhzxY"><field name="NUM">0</field></block></value> <next><block type="debug" id="U;M412@-[mW58w:2/pDZ"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="/6PKtIv;_asj~zH1YFWm"><field name="TEXT">Alarmanlage ausgeschaltet</field></shadow></value> <next><block type="variables_set" id="JsF`#tPrlP((e*D(PKz;"><field name="VAR">AnzahlVersuche</field> <value name="VALUE"><block type="math_number" id="_#wsFg(JuzNqSyCO63UI"><field name="NUM">0</field></block></value> <next><block type="variables_set" id="Px}Q)CvBmC02#T1cMXk@"><field name="VAR">tempCode</field> <value name="VALUE"><block type="text" id="_2;iEf4vhv#}}w#t+U(]"><field name="TEXT">PIN richtig</field></block></value> <next><block type="timeouts_settimeout" id="qwA/l(1KFnv*jNTWN(m`"><field name="NAME">timeout2</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="variables_set" id="qd0Wuvd(2)z!ZZoBkEpt"><field name="VAR">tempCode</field> <value name="VALUE"></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></statement> <next><block type="timeouts_settimeout" id="*)]FG}!jqa@!^@C404zD"><field name="NAME">timeout</field> <field name="DELAY">6000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="comment" id="@87rub*L(JD2dLo|`Aef"><field name="COMMENT">Wenn in 5 Sek. keine weitere Eingabe erfolgt</field> <next><block type="comment" id="/6Z(,/]_}ZhyadfHIgZ5"><field name="COMMENT">dann Eingabe löschen und Versuche hochzählen</field> <next><block type="variables_set" id="a3yX(4)M(27nSsHd.d-_"><field name="VAR">tempCode</field> <value name="VALUE"></value> <next><block type="procedures_callnoreturn" id="Uq`e6b9wNj]Sp(Zb#o#X"><mutation name="chkVersuche"></mutation></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement></block> <block type="procedures_defnoreturn" id="c,ULx]X]~F-z^(_+{6vr" x="738" y="1213"><field name="NAME">chkVersuche</field> <comment pinned="false" h="80" w="160">Fehlerhafte Eingaben zählen und Eingabe sperren wenn maxVersuche erreicht.</comment> <statement name="STACK"><block type="math_change" id="+bbjB`}N7U3vkk:@%?[V"><field name="VAR">AnzahlVersuche</field> <value name="DELTA"><shadow type="math_number" id="P!Tq!OVi/*(ehXZb]uC8"><field name="NUM">1</field></shadow></value> <next><block type="controls_if" id="V6AzqIh:%+F@oh[M-IQ{"><value name="IF0"><block type="logic_compare" id="!CYyilZ1svbcZ]Yf=BXd"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="@Zmti,3QUsDg5gTF6tjC"><field name="VAR">AnzahlVersuche</field></block></value> <value name="B"><block type="variables_get" id="x=cs)@yt;A6[ua*T5FE|"><field name="VAR">maxVersuche</field></block></value></block></value> <statement name="DO0"><block type="debug" id="[d~Z|qEH+C4%5%A*xBTT"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="v.9ViGY:H4?EbA+fzjKV"><field name="TEXT">*****Eingabe gesperrt*****</field></shadow></value> <next><block type="timeouts_settimeout" id="(l|4)g2/(/@5-swvVF@2"><field name="NAME">sperren</field> <field name="DELAY">10000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="comment" id="U22mj9gD,9P)FU@4%{K~"><field name="COMMENT">Nach 10 Sek. wieder frei</field> <next><block type="variables_set" id="d)*rJF_51+C|Z3NMW9N+"><field name="VAR">AnzahlVersuche</field> <value name="VALUE"><block type="math_number" id="^)c6!p[y)V0zk(9oMl16"><field name="NUM">0</field></block></value> <next><block type="debug" id="SO`ZMoZ)Os7:]]y=T3yE"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="5.ubt?0E+m)aiIY`J``U"><field name="TEXT">*****Eingabe entsperrt*****</field></shadow></value></block></next></block></next></block></statement></block></next></block></statement></block></next></block></statement></block></xml> Viele Grüße Walkinlarge ` Hallo, dein Script funktioniert gut, allerdings scheint es keine zeitliche Bregenzug zu geben, oder? Ich muss zwangsläufig 5 stellen eingeben, damit ich den Code neu eingeben kann. Oder was mache ich falsch?
  • [Vorlage] TR-064-Adapter Offline-Warnung

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    701 Aufrufe
    Niemand hat geantwortet
  • Alexa begrüssung nach Abwesenheit

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    796 Aufrufe
    eierfeileE
    danke jetzt läufts! :-)
  • [gelöst] Kann state nicht setzen

    Verschoben
    2
    3
    0 Stimmen
    2 Beiträge
    809 Aufrufe
    F
    Nachdem ich einfach mal alle Adapter aktualisiert habe und zwei mal neu gestartet habe, fuktioniert es nun. Gruß, Christian
  • Doku outdated?

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    851 Aufrufe
    F
    Also nein. Optionale Parameter sollten schon als solche beschrieben werden (vor allem, wenn diese mitten in der Parameterliste verwendet werden und nicht - wie m.E. sonst üblich - am Ende des Aufrufs). Das sollte m.E. nach erweitert werden.
  • Blockly- unixtime ausgeben?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    HiltexH
    Habs jetzt durch Probieren selber herausbekommen. "Aktuelle Zeit als Datum-Objekt" liefert im Prinzip die Unixzeit, allerdings hängen da noch die Millisekunden dran, daher muss man ein wenig rechnen. Man nimmt also "Aktuelle Zeit als Anwenderformatiert JJJJ.MM.TT SS:mm:ss" (damit sind die Millisekunden null), konvertiert das nach Datum-Objekt und schneidet per Division durch 1000 die drei Nullen für die Millisekunden ab. Damit hat man einen brauchbaren Wert. Ein anderer Weg wäre, den vom Gerät gelieferten Wert mit 1000 zu multiplizieren und dann statt auf +/- 60 Sekunden einfach auf +/- 60000 Millisekunden zu vergleichen. 9433_bildschirmfoto_2018-11-01_um_22.42.34.png

224

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge