NEWS
Blockly und timeout
-
Hallo,
ich bin völlig neu auf dem Gebiet und habe versucht mit Blockly folgendes zu machen was leider nicht oder nur zum Teil funktioniert hat:
****Trigger xy:
steuere gerät xy mit wahr –> timeout nach xy sek
steuere gerät xy mit wahr mit verzögerung xy sek --> timeout nach xy sek
steuere gerät xy mit wahr mit verzögerung xy sek --> timeout nach xy sek****
Das Gerät soll dreimal hintereinander für eine bestimmte Zeit "wahr" sein. Wäre nett wenn ihr mir so ausführlich wie möglich helfen könntet.
Vielen Dank.
-
Hi,
Am besten postest du mal ein Bild von dem was du in Blockly schon hast und eventuell den Export davon.
Gruß
-
Hallo,
verstehe ich das richtig:
Gerät für 5min an.
Geräte für 5min aus.
Gerät für 5min an.
Geräte für 5min aus.
Gerät für 5min an.
Geräte nach den letzten 5min wieder aus?
Gruß
Chris
-
das hier habe ich bis jetzt gemacht. es funktioniert soweit das es ein schaltet dann wieder aus und dann bleibt es ein. ich weiß auch das es wahrscheinlich daran liegt, dass zeiten gleichzeitig laufen. Ich bekomme aber nicht hin das es nach der reihe abläuft.
@ chris ja so habe ich es gemeint.
6377_blockly.jpg -
jetzt habe ich es so versucht das der ablauf stimmt. leider ist das ergebnis nicht viel anderes als vorher
6377_blockly_2.jpg -
Am einfachsten wäre es wohl so:
falls Objekt simple click ist wahr
Steuere Objekt ID wahr
Steuere Objekt ID falsch mit Verzögerung 5sek
Steuere Objekt ID wahr mit Verzögerung 10sek
Steuere Objekt ID falsch mit Verzögerung 15sek
Steuere Objekt ID wahr mit Verzögerung 20sek
Steuere Objekt ID falsch mit Verzögerung 25sek
So wäre das Licht immer 5sek an und 5sek aus.
Man könnte es auch mit einem Intervall etwas eleganter lösen. Wenn du möchtest schick ich dir das gerne morgen wenn ich zuhaus bin.
-
@ el-lutschi
So wie du es geschrieben hast habe ich es auch versucht das ging aber irgendwie nicht. Ja ich wäre sehr dankbar wenn du mir das per intervall schicken könntest
@ all
Aber es müsste doch auch mit timeout gehen so wie ich es probiert habe, oder?
-
Nimm dein letztes Blockly und entferne timeout 2 und 3 und bei den anderen Verzögerungen trägst du die Zeiten so ein, wie es el-lutschi geschrieben hat.
Dann sollte es eigentlich laufen.
Was noch sein könnte, dass dein Gerät (welches eigentlich?) es nicht mag, oder auch nicht kann, wenn Befehle im 5 Sekunden-Takt kommen.
Zeige dann mal bitte dein Änderungen!
Enrico
-
Hmm… Komisch.. Wie gesagt, ich schau mir das morgen mal an. Auf dem Handy ist das etwas umständlich.
-
Per Intervall:
Der Export muss noch um die IDs ergänzt werden.! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="qCl@u2E3U8eZao6!aT5" x="163" y="63"><field name="COMMENT">Simple click</field> <next><block type="on" id="Ty@
bwH^4MP(`]?rMiQr"><field name="OID">Object ID</field>
<field name="CONDITION">true</field><statement name="STATEMENT"><block type="variables_set" id="J|~a{l}EjWJWLnz9Vpy1"><field name="VAR">count</field> <value name="VALUE"><block type="math_number" id="{Yib|[^/axc0fMeX3cs)"><field name="NUM">0</field></block></value> <next><block type="variables_set" id="S0`6St6?SQW-*~oB7[ui"><field name="VAR">state</field> <value name="VALUE"><block type="logic_boolean" id=":eu}vMDW@)w#ukYEn.5C"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="R~1lAeKo!Axl=Y5(Z%|h"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="`/^+s^PXa8URrc9!|Al4"><field name="VAR">state</field></block></value> <next><block type="timeouts_setinterval" id="1oC:Oe|lXJbO/p,0qkaP"><field name="NAME">Intervall</field> <field name="INTERVAL">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"><block type="variables_set" id=".sO%uT;X8%W?FUF51aQ4"><field name="VAR">state</field> <value name="VALUE"><block type="logic_negate" id="9sz_PLf0oGvQ+[oPvi?E"><value name="BOOL"><block type="variables_get" id="^X03}U/{HKfwbF%Nj!~Y"><field name="VAR">state</field></block></value></block></value> <next><block type="control" id="cek^b![Kv;S5eUCtSapX"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="9#Ywb9oRb*i8Gs`@-h!U"><field name="VAR">state</field></block></value> <next><block type="math_change" id="ZsQKaF!?HRX:)];Ss7%D"><field name="VAR">count</field> <value name="DELTA"><shadow type="math_number" id="|^Q_v|7WN%*6gpxv~aj6"><field name="NUM">1</field></shadow></value> <next><block type="controls_if" id="-;/-.6uA_gP~PGDT;KW2"><value name="IF0"><block type="logic_compare" id="bpZL(z;By)DP76AD}Y)W"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="8jYo?s+er^6~JRR(UkG1"><field name="VAR">count</field></block></value> <value name="B"><block type="math_number" id="@E.o^WkhtB%@gi7J9P(H"><field name="NUM">6</field></block></value></block></value> <statement name="DO0"><block type="timeouts_clearinterval" id="^0QNN`ZAhAUYj)Wk+8yx"><field name="NAME">Intervall</field></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></xml>
EDIT: Der Vergleichswert zum Stoppen des Intervalls muss 5 sein.
-
Vielen dank an alle ich werde nachher mal eure Vorschläge ausprobieren. Ich sag Bescheid was geklappt hat
-
ich hab es jetzt so gemacht und es funktioniert ganz gut
6377_blockly.jpg