NEWS
Blockly - setStateDelayed mit Fehler in der Umsetzung ?
-
in deinem falls unter debug stehen keine abfrage, falls = value ? `
Die Abfrage ist korrekt und entsprichtif(obj.state.val) { // Bewegung erkannt
-
in deinem falls unter debug stehen keine abfrage, falls = value ? `
Die Abfrage ist korrekt und entsprichtif(obj.state.val) { // Bewegung erkannt ```` `
ok verstanden danke Paul
Dan ist der Fehler hier aber das der time nicht resettet wird wen "an" erkannt wurden.
Anstatt mit Verzögerung müsste man in blockly dan mit einen richtigen timeout / stop time out block arbeiten
-
Aktualisiere - die Verzögerung funktioniert, das löschen nicht (immer false).
Steuere - alles funktioniert. `
Ich habe keine Ahnung was Du damit sagen willst.Kann es sein das Dein BM immer nur "true/wahr" liefert?
Grüße
-
Buah…
ich wundere mich hier schon über die versch. Programmier-Exzesse gar nicht mehr ...
mein BWM meldet "true" bei Bewegung und nach 60 Sekunden wieder "false", wenn Ruhe ist:
javascript.0 2018-04-15 20:27:12.787 info script.js.meins.BaZi-Bewegung_folgen(1): BaZi-Bewegung: false javascript.0 2018-04-15 20:26:12.854 info script.js.meins.BaZi-Lampe_schalten: BaZi-Lampe ein javascript.0 2018-04-15 20:26:12.736 info script.js.meins.BaZi-Bewegung_folgen(1): BaZi-Bewegung: true
Die Timer-Konstruktion habe ich versch. ausprobiert, Alles funktionierte nicht.
Jetzt mit "Steuere" statt "Aktualisiere" läuft es. Da ist ein Fehler im Blockly !
Die Variable "value" wird im Kopf des Triggers mit dem Wert des abgefragten Datenpunktes gefüllt und kann dann verwendet werden.
"If true" ist ungeführ so viel wert wie "if true=true".
Über das Löschen des Timers bei BWM=true können wir streiten, da könnte es ein Problem bei ca. 9 Minuten Stillhalten geben…
Der Fehler im Blockly bleibt ja, egal was ich schreibe, wenn das "true" für das Setzen des Timers nicht an Javascript übergeben wird.
-
-
genau das scenario posten was du erreichen möchtest.
-
dein blockly exportieren und hier posten (nicht den generierten java code sonder den blocky export !) `
Das Szenario steht oben im Thread.
Den Blockly könnte ich auch schicken, würde aber nichts bringen, weil man den Fehler nur erkennt, wenn man einfach eine "Aktualisiere"-Anweisung mit Verzögerung und "löschen falls läuft" in Blockly eingibt und auf Code-Anzeige umschaltet. (das hatte ich darum gepostet).
Dann nmmt man in der Blockly-Anzeige den Haken bei "löschen wenn läuft" raus und schaltet wieder auf die Code-Anzeige um. Das gleiche Ergebnis bei versch. Quelltext - ist schon merkwürdig.
Und keine Angst, der Script läuft prima mit einem kleinen XIAOMI-Bewegungsmelder hier. Ich hätte noch 2 Philips Hue-BWM anzubieten, die fliegen nämlich raus.
-
-
Buah…
ich wundere mich hier schon über die versch. Programmier-Exzesse gar nicht mehr ... `
OK. Ich bin hier raus. -
Ok…
Fragen :
-
der Bewegungsmelder gibt einen Wert true (wen Bewegung) und false (wen keine Bewegung) ?
-
diese Daten kommen auch Life rein ohne Verzögerung ?
-
wen Bewegung Dan Licht an ?
-
wen keine Bewegung mehr nach 10 min aus ?
Hab ich das so richtig verstanden ?!?
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
-
-
der Bewegungsmelder gibt einen Wert true (wen Bewegung) und false (wen keine Bewegung) ?
-
diese Daten kommen auch Life rein ohne Verzögerung ?
-
wen Bewegung Dan Licht an ?
-
wen keine Bewegung mehr nach 10 min aus ? `
Ja (Timeout 60 Sekunden)
Ja
Ja
Ja (jetzt)
-
-
Das scenarion klinkt nicht kompliziert und ich würde es auf diese weise lösen.
Hierin fragen ich den BMW ab auf Änderungen,
ist Bewegung wahr
-
sollte die Lampe aus sein geht sie an und stopt eventuelle timer
-
sollte die Lampe bereits an sein stoppt nur der time (um doppeltes schalten zu vermeiden
ist Bewegung unwahr
-
aktiviere timer für 10 Minuten
-
schalte nach Ablauf die Lampe aus
blocky export:
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="*?Q;v#g,}Q[X1V;Up{fp" x="-188" y="12"><field name="OID">javascript.2.BWM</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="E!w;6q:m.x1q)rPRp*of"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="mp4EeT(Q++deK(RwU0DD" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="MUno8@nbg0a7JhWW~vKl"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="_@f+8i`+Vr.|MhM}cZ?C"><field name="ATTR">val</field> <field name="OID">javascript.2.BWM</field></block></value> <value name="B"><block type="logic_boolean" id="V=P|BryQwCL-N(dCkmo0"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="/YewW0C+po|9+dV4NViz"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="SeOT|8nH7J?].z;uaqCR"><field name="ATTR">val</field> <field name="OID">javascript.2.LAMPE</field></block></value> <value name="B"><block type="logic_boolean" id="rUp5NU#KC.hMl;5;@)e="><field name="BOOL">FALSE</field></block></value></block></value></block></value> <statement name="DO0"><block type="timeouts_cleartimeout" id="Uv4pkl%j=q.iF?C}CcgH"><field name="NAME">timeout</field> <next><block type="control" id="x=RRVZLmnUU8cb]bMHaI"><mutation delay_input="false"></mutation> <field name="OID">javascript.2.LAMPE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="i[`LOwIbi0zu.VY.*VdM"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> <value name="IF1"><block type="logic_operation" id=",o-p]ifAXEA)8nGpc]~a" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="CoiXrUHg|GH7!,7KZK9V"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="K.Y]V2XQZ4Yl4.fQe2B("><field name="ATTR">val</field> <field name="OID">javascript.2.BWM</field></block></value> <value name="B"><block type="logic_boolean" id="20A1FNRX!m?_PaKsDX{P"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="WP@E:n:2Vv//n{n)K:Fa"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="eN%-(/T*3^BsJ=ZUh^64"><field name="ATTR">val</field> <field name="OID">javascript.2.LAMPE</field></block></value> <value name="B"><block type="logic_boolean" id="|(OxGxW[]_EdVe%Oj9Z8"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO1"><block type="timeouts_cleartimeout" id="%`Vm_V8lA1B7@sy=5JmR"><field name="NAME">timeout</field></block></statement> <value name="IF2"><block type="logic_operation" id="*A%PX0#.v/_wK}#:w*bW" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="_/6@/O}u7j,__%#_?k(0"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="0x4Wp?QlR^mSKqN%OTI("><field name="ATTR">val</field> <field name="OID">javascript.2.BWM</field></block></value> <value name="B"><block type="logic_boolean" id="{NrFe@@PVeBUT@bLb)Jf"><field name="BOOL">FALSE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="bz(zT+z-VKVy{Y,hXc;M"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="_,sN(+*m1L{[DU;GknTH"><field name="ATTR">val</field> <field name="OID">javascript.2.LAMPE</field></block></value> <value name="B"><block type="logic_boolean" id="j,5pa`k4D:dSp)4~aWIu"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO2"><block type="timeouts_settimeout" id="J)PH}h)awJQsRU=3j(x*"><field name="NAME">timeout</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="control" id="!UE9O,@qJU^9Dz`~M,))"><mutation delay_input="false"></mutation> <field name="OID">javascript.2.LAMPE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="dkeuXbFXEikmQ(#*W.,{"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></statement></block></xml>
im unterschied zu deiner ansehensweise setze ich bewusste timer ein und stoppe diese anstatt die Blöcke im Steuerblock
~Dutch
-
-
Ja prima !!!
Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!
Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler.
-
Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!
Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler. `
Wo du Recht hast…Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja ... issues/105
-
Ja prima !!!
Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!
Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler. `
Bin zwar schon raus…..Aber....welchen Fehler?Bis jetzt sehe ich nur einen Fehler :roll:
Sorry, ist sonst nicht meine Art.
-
Ja prima !!!
Fakt ist aber, dass ich soviel Blockly programmieren kann, wie ich will, die Umsetzung in Javascript ist buggy!
Alle beschäftigen sich hier mit Blockly und den tollsten Scripts, niemand sieht den Fehler. `
Bin dann wohl zu doof den Fehler zu sehen oder umgehen ihn halt auf meine Weise.
Bin dann auch raus
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja … issues/105 `
Das wird ja her immer interessanter :?Ab welchem Status/Level kann man sich hier zeitlich "vormogeln".
Ich verliere hier immer mehr die Lust
Grüße
-
Dein Datenpunkt für die Lampe liegt unter admin.0, dort (und auch unter allen anderen, außer javascript.0 und selbst angelegten Objekten) sollten keine eigenen Objekte angelegt werden, das hat auch schon zu Fehlern in der Ausführung von Scripten geführt!
Enrico
-
Ab welchem Status/Level kann man sich hier zeitlich "vormogeln".
Ich verliere hier immer mehr die Lust `
Hö, was meinst du? -
Ich verwendete im Blockly "aktualisiere <id>mit <unwahr>, verzögert 10 Min und lösche falls läuft.
Blockly erzeugt dann einen Code:
….
Für mich ist das ein Fehler...</unwahr></id> ` Korrekt erkannt!
Ich habe den Fehler im Blockly behoben.
Neueste Version vom Javascript Adapter über Github installieren - danach die Javascript Instanz neu starten.
Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja … issues/105 `
Das wird ja her immer interessanter :?Ab welchem Status/Level kann man sich hier zeitlich "vormogeln".
Ich verliere hier immer mehr die Lust `
Was genau meinst du damit?Du kannst dich gerne auf Github registrieren und selber die Issues öffnen.
Da sehen wir Entwickler die Fehler schneller als hier im Forum - weil wir da eine eMail erhalten:
"Ein neuer Fehler wurde gemeldet.."..
Gruß
-
Hab mal ein Issue erstellt: https://github.com/ioBroker/ioBroker.ja … issues/105 `
DANKE!
-
Mit iobroker-javascript 3.6.4 ist der Fehler wieder da. Eventuell auch schon in einer früheren Version.