- Home
- Deutsch
- Skripten / Logik
- Blockly
- Blockly Script für Gartenbewässerung
Blockly Script für Gartenbewässerung
-
Da meine Ventile aktuell ausgebaut sind und Winterschlaf halten, hier ein theoretisches Beispiel, wie ich es bei Wiederinbetriebnahme mit meinen Ventilen (4 x Gardena über den Gardena Adapter ) lösen will.
Aktuell fehlen nur noch die "echten Ventile" im Blockly, die muß ich dann noch einfügen. Zum probieren habe ich mal eine Steckdose (Kaminlampe) eingebaut, damit hat es funktioniert. Ich nutze kein VIS, aber iQontrol, von daher sollte es auch mit VIS möglich sein. Über den Schieberegler bin ich von der Bewässerungslaufzeit flexibel.Beispiel mit Lampe
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="vorn_links">vorn_links</variable> <variable type="undefined" id="vorn_rechts">vorn_rechts</variable> <variable type="undefined" id="seite">seite</variable> <variable type="undefined" id="hinten">hinten</variable> </variables> <block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="38" y="-113"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_erstellen</field> <field name="SCRIPT">Ly9EYXRlbnB1bmt0IFJlc3RsYXVmemVpdCB2b3JuIGxpbmtzIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLjExR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDFSZXN0bGF1ZnplaXRfdm9ybl9saW5rcyIsJzAnLCB7CiAgICBuYW1lOiAnMDFSZXN0bGF1ZnplaXQgdm9ybiBsaW5rcycsIAogICAgInVuaXQiOiAnTWludXRlbicsCiAgICAicm9sZSI6ICJsZXZlbCIsCiAgICAidHlwZSI6ICJudW1iZXIiLAogICAgInJlYWQiOiB0cnVlLAogICAgIndyaXRlIjogdHJ1ZSwKICAgICJtaW4iOiAwLAogICAgIm1heCI6IDEwMCwKICAgICJzbWFydE5hbWUiOiB7CiAgICAiZGUiOiAiQmV3w6Rzc2VydW5nIHZvcm4gbGlua3MiLAogICAgInNtYXJ0VHlwZSI6ICJMSUdIVCIsCiAgICAgICJieU9OIjogInN0b3JlZCIKfQp9KTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovL0RhdGVucHVua3QgUmVzdGxhdWZ6ZWl0IHZvcm4gcmVjaHRzIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLjExR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDJSZXN0bGF1ZnplaXRfdm9ybl9yZWNodHMiLCcwJywgewogICAgbmFtZTogJzAyUmVzdGxhdWZ6ZWl0IHZvcm4gcmVjaHRzJywKICAgICJ1bml0IjogJ01pbnV0ZW4nLCAKICAgICJyb2xlIjogImxldmVsIiwKICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAicmVhZCI6IHRydWUsCiAgICAid3JpdGUiOiB0cnVlLAogICAgIm1pbiI6IDAsCiAgICAibWF4IjogMTAwLAogICAgInNtYXJ0TmFtZSI6IHsKICAgICJkZSI6ICJCZXfDpHNzZXJ1bmcgdm9ybiByZWNodHMiLAogICAgInNtYXJ0VHlwZSI6ICJMSUdIVCIsCiAgICAgICJieU9OIjogInN0b3JlZCIKfQp9KTsKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vRGF0ZW5wdW5rdCBSZXN0bGF1ZnplaXQgc2VpdGUgZXJzdGVsbGVuCmNyZWF0ZVN0YXRlKCJFaWdlbmVfRGF0ZW5wdW5rdGUuMTFHYXJkZW5hLkJld2Flc3NlcnVuZy4wM1Jlc3RsYXVmemVpdF9zZWl0ZSIsJzAnLCB7CiAgICBuYW1lOiAnMDNSZXN0bGF1ZnplaXQgc2VpdGUnLCAKICAgICJ1bml0IjogJ01pbnV0ZW4nLAogICAgInJvbGUiOiAibGV2ZWwiLAogICAgInR5cGUiOiAibnVtYmVyIiwKICAgICJyZWFkIjogdHJ1ZSwKICAgICJ3cml0ZSI6IHRydWUsCiAgICAibWluIjogMCwKICAgICJtYXgiOiAxMDAsCiAgICAic21hcnROYW1lIjogewogICAgImRlIjogIkJld8Okc3NlcnVuZyBzZWl0ZSIsCiAgICAic21hcnRUeXBlIjogIkxJR0hUIiwKICAgICAgImJ5T04iOiAic3RvcmVkIgp9Cn0pOwoKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vRGF0ZW5wdW5rdCBSZXN0bGF1ZnplaXQgaGludGVuIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLjExR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDRSZXN0bGF1ZnplaXRfaGludGVuIiwnMCcsIHsKICAgIG5hbWU6ICcwNFJlc3RsYXVmemVpdCBoaW50ZW4nLCAKICAgICJ1bml0IjogJ01pbnV0ZW4nLAogICAgInJvbGUiOiAibGV2ZWwiLAogICAgInR5cGUiOiAibnVtYmVyIiwKICAgICJyZWFkIjogdHJ1ZSwKICAgICJ3cml0ZSI6IHRydWUsCiAgICAibWluIjogMCwKICAgICJtYXgiOiAxMDAsCiAgICAic21hcnROYW1lIjogewogICAgImRlIjogIkJld8Okc3NlcnVuZyBoaW50ZW4iLAogICAgInNtYXJ0VHlwZSI6ICJMSUdIVCIsCiAgICAgICJieU9OIjogInN0b3JlZCIKfQp9KTsK</field> <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment> </block> <block type="procedures_callcustomnoreturn" id="5Har+P[]9D2wa@;{`[=0" x="37" y="-63"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="on_ext" id="5/ptqACnYz31iOb-NbIW"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="WI]u4z@Dd;-@XNhr9^P_"> <field name="oid">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.01Restlaufzeit_vorn_links</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="2*@?}Ok8QqU52Qn2@`b!"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="1[j|p(UE~h1DBn`5wJ7:"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id=",~`!us}{rO~uL:vb+.GT"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.01Restlaufzeit_vorn_links</field> </block> </value> <value name="B"> <block type="math_number" id="cT_00-(:L^`+n7QY[iOy"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="0#?|oZ2(djTEa5M`bis("> <field name="NAME">vorn_links</field> <next> <block type="timeouts_setinterval" id="N~zH%wP-T4gSXPps3Z%+"> <field name="NAME">vorn_links</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="),nr)4;Lmn{BaM1NuYAW" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.01Restlaufzeit_vorn_links</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="/R!`2TR~+**Vn)~Pc./7"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="B{.+NFC?uo|C@Y`/Zk2m"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.01Restlaufzeit_vorn_links</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="^$v650r5yvYe!AWepgec"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="$L7^;}qtFM59DJmS.uAd"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="I1i?@9)BIUx(Piq1o_lC"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.01Restlaufzeit_vorn_links</field> </block> </value> <value name="B"> <block type="math_number" id="Qj+@a$rXruUrJoEDis@q"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="hcE9(0dj(]g(S!62e={@"> <field name="NAME">vorn_links</field> </block> </statement> </block> </statement> <next> <block type="on_ext" id="yV7O,iTMgnS6WY)DszOR" collapsed="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="7DeV9B{3erWGW?%;A/[o"> <field name="oid">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="{]O#~b~1y#^t?#v7ITeV"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="r6u|0a#mY)z;VvY%^j]v"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="?5E$8fXw-7`WjmTY%|jj"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field> </block> </value> <value name="B"> <block type="math_number" id="HBWpVH90Kr7?9.V~tGFy"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="u}b~a6RynBSedAtAlKdb"> <field name="NAME">vorn_rechts</field> <next> <block type="timeouts_setinterval" id="uXl[`oHMRYzNh8yz7c6X"> <field name="NAME">vorn_rechts</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="^8.?F`PkGbu;))ffNniu" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="{E@kR!g;WJJlz+xzE=;)"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="adD7nI2@tpul$(BD`p~}"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="xF)01v_HxKf|kB];32B?"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="K1^A4Ch;$`K^~D4(6cji"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="g5C#@1ZUCLO^q,8zESti"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field> </block> </value> <value name="B"> <block type="math_number" id=".nzWs{7)`nYK#fkK*%z~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="+?.x0!(gNEV1h*PJb#gZ"> <field name="NAME">vorn_rechts</field> </block> </statement> </block> </statement> <next> <block type="on_ext" id="|2_C=%-L|T{M^aaj]/1*" collapsed="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="o.XJOb5EKJ|mC?yM!IY9"> <field name="oid">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="rZDMN!Ch4^vts2RCP7xW"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="zin{pERQR!xve%Si1fqp"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="9vyKWVk5Ffj:QyJxn;i."> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> </block> </value> <value name="B"> <block type="math_number" id="H`9;U`C,KNJ9uT1H9]Bf"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="S8qm!UDsnYYx?~#zZ}Q2"> <field name="NAME">seite</field> <next> <block type="timeouts_setinterval" id="[=ZoL##yP[H-,p=h,sKf"> <field name="NAME">seite</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="%TV/06yhHpyMmsPu*(5w" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="kA.m3FB0AkCmidhSb()M"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="u~tQ9/XJ@l%+ck~gI;;p"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="x?oxO8JLeXIyp=gb]|_!"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="RwrPZ/zUQNN`Sx~Z;m:d"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="A.aFso1W+@#/ITn^N_{h"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> </block> </value> <value name="B"> <block type="math_number" id="VC5,eTPUe).E%DBpy]+q"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="Yh!PpN)zW,?lU4UIHhoO"> <field name="NAME">seite</field> </block> </statement> </block> </statement> <next> <block type="on_ext" id="P+`W9S,LcsfDur5CEa)x" collapsed="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Uz}Dv~6[O4mK].dLm!w["> <field name="oid">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="P1M`?98GL2Oz3R:^Jrug"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="bk~|OQ;v!J/iU0P=GMAg"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="6lI[S?BUA+7).3A7;UF-"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <value name="B"> <block type="math_number" id="v$JF9zv{[6tgGfVc$YA0"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="Um0%bUH*ddA@D`YT5G}J"> <field name="NAME">hinten</field> <next> <block type="timeouts_setinterval" id="[]ZfY/y~?[eL$fXt$6]^"> <field name="NAME">hinten</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="p:Sb;|$v]XLKc?]}(:+I" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="h3_xZ/~#?/(wvJqdOS)I"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="VgTBr?x(*n=ff+2W[RC`"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="1i/raxF_@ze*TBjI?$.@"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="YG+ug3_@*qJ6aP`YPVLl"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="kkyhtu]v?7~+)~IA1yPd"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <value name="B"> <block type="math_number" id="0R~[//jAu:jY;gtL85;3"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="ed03Rhn(4wM+]sdNS3US"> <field name="NAME">hinten</field> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Edit: Die Datenpunkte werden in diesem Blockly mit der Rolle level und min 0 max 100 erstellt, sowie die Datenpunkte in iot werden als Licht deklariert. Dann ist auch die Bedienung per Sprache mit Alexa gut möglich.
Beispiel bei level von 0-100
Alexa, Bewässerung hinten auf 30 Prozent (ergibt dann 30 Minuten) Über diesen Weg wären dann max 100 Minuten möglich.
An und aus geht dann auch.EDIT2: Ich habe das Blockly oben jetzt aktualisiert.
-
Hallo dslraser, erst einmal Danke für Deine Unterstützung.
Da ich gerade mit Blockly anfange, wollte ich mich langsam ran tasten.Ja Deine Frage ist berechtigt, Ich hätte einen separaten Schalter mit "Pumpe Aus" angelegt.
Wobei ich nicht weiß, ob dies das Skript übersteuern würde.Folgend einmal meine Zeitsteuerung, eventuell geht da ja auch noch etwas besser-)
-
@Aidan sagte in Blockly Script für Gartenbewässerung:
Ja Deine Frage ist berechtigt, Ich hätte einen separaten Schalter mit "Pumpe Aus" angelegt.
Dann müsstest Du den separaten Schalter als Abfrage in Deine Zeitpläne mit einbauen, sonst wird der Zeitplan trotzdem Die Pumpe anschalten.
-
heißt, dass das Skript einen manuellen Befehl übersteuert.?
Ich kämpfe gerade mit dem Datenpunkt.
Mir geht es gerade um das Verständnis, wie ein Skript über einen ViS Button angesprochen wird.Mit einem "switch" funzt es, mit einem "button" nicht. Die Logik ist mir unklar aber
Soweit so gut-)Hast du dein Blockly dann 4x mal (2x vorn, 1x seite, 1x hinten) erstellt und mit den jeweiligen Datenpunkten verknüpft?
-
@Aidan
Du kannst mein Blockly zum Testen einfach importieren. (Mein Export ist im Spoiler). Alle Datenpunkte darin werden durch das Blockly erstellt. Zu finden sind die Datenpunkte dann im im javascript Ordner. Wenn Du es nicht mehr brauchst, oder anders machen willst, kannst Du die Datenpunkte und das Blockly ja einfach wieder löschen. Aber zum ausprobieren ist es vielleicht ganz nützlich für Dich. -
@Aidan sagte in Blockly Script für Gartenbewässerung:
Mir geht es gerade um das Verständnis, wie ein Skript über einen ViS Button angesprochen wird.
VIS habe ich nicht, dazu kann ich nichts sagen.
-
was ist denn der Spoiler?
Dann würde ich das mal testen.. -
@Aidan sagte in Blockly Script für Gartenbewässerung:
was ist denn der Spoiler?
in diesem Beitrag
https://forum.iobroker.net/post/355350
das hier anklicken, das ist der Spoiler
Dann öffnet sich das hier. Den Inhalt kopieren und bei Dir in ein neues leeres Blockly importieren.
-
ah, ok. Danke habe ich gefunden..
Importiert habe ich es schon, werde mal testen ob ich damit klar komme.Ich hoffe Du bist für weitere Fragen offen^^
-
@Aidan sagte in Blockly Script für Gartenbewässerung:
Ich hoffe Du bist für weitere Fragen offen^^
klar, wir lernen doch alle von einander
-
@Aidan
Nutzt Du Alexa ? (Hast Du den iot Adapter installiert?) -
moin, nein Alexa nutzen wir nicht.
Ich habe mal versucht das nachzubauen.
Das Blockly gibt mir einen Error
Der Datenpunkt scheint zu funktionieren, da er mir die Zeit zurück gibt
Der Button in Vis geht auch. Sobald ich den Schieber betätige, dann ändert sich auch die Zeit.
Die Kanäle werden allerdings nicht aktiviert. was mache ich hier falsch?
-
Achso eine Sache habe ich noch nicht raus bekommen.
Du hast bei dem Blockly, stop zyklische Ausführung vorn links stehen.
Wofür ist das und wie kann ich das dann ändern? -
@Aidan sagte in Blockly Script für Gartenbewässerung:
Du hast bei dem Blockly, stop zyklische Ausführung vorn links stehen.
Das habe ich nur so genannt, weil meine Ventile so heißen und ich dann besser sehe welches stop ich nehmen muß, sind ja vier Stück drinn.
Unten , wenn Dein DP 0 erreicht hat, da fehlt auch noch das ausschalten.
Poste mal Deinen Blockly Export. -
Hier der Export..
<xml xmlns="http://www.w3.org/1999/xhtml">
<variables>
<variable type="undefined" id="vorn_rechts">vorn_rechts</variable>
<variable type="undefined" id="seite">seite</variable>
<variable type="undefined" id="vorn_links">vorn_links</variable>
<variable type="undefined" id="hinten">hinten</variable>
</variables>
<block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="38" y="-113">
<mutation statements="false"></mutation>
<field name="NAME">Datenpunkte_erstellen</field>
<field name="SCRIPT">Ly9EYXRlbnB1bmt0IFJlc3R6ZWl0IEthbmFsIDErMgp7CiAgImZyb20iOiAic3lzdGVtLmFkYXB0ZXIuYWRtaW4uMCIsCiAgInVzZXIiOiAic3lzdGVtLnVzZXIuYWRtaW4iLAogICJ0cyI6IDE1Nzg3NzE2NTIyNDgsCiAgImNvbW1vbiI6IHsKICAgICJuYW1lIjogIkdhcnRlbmJld+Rzc2VydW5nIEthbmFsIDErMiIsCiAgICAicm9sZSI6ICJsZXZlbCIsCiAgICAidHlwZSI6ICJudW1iZXIiLAogICAgInVuaXQiOiAiTWludXRlbiIsCiAgICAic21hcnRUeXBlIjogIkxpZ2h0IiwKICAgICJieU9OIjogInN0b3JlZCIsCiAgICAibWluIjogMCwKICAgICJtYXgiOiAxMDAsCiAgICAicmVhZCI6IHRydWUsCiAgICAid3JpdGUiOiB0cnVlLAogICAgImRlZiI6IGZhbHNlCiAgfSwKICAibmF0aXZlIjoge30sCiAgImFjbCI6IHsKICAgICJvYmplY3QiOiAxNjM4LAogICAgIm93bmVyIjogInN5c3RlbS51c2VyLmFkbWluIiwKICAgICJvd25lckdyb3VwIjogInN5c3RlbS5ncm91cC5hZG1pbmlzdHJhdG9yIiwKICAgICJzdGF0ZSI6IDE2MzgKICB9LAogICJfaWQiOiAiamF2YXNjcmlwdC4wLkVpZ2VuZV9EYXRlbnB1bmt0ZS5HYXJ0ZW4uR2FydGVuYmV35HNzZXJ1bmcgS2FuYWwgMSsyIiwKICAidHlwZSI6ICJzdGF0ZSIKfQoKLy8jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vRGF0ZW5wdW5rdCBSZXN0bGF1ZnplaXQgdm9ybiBsaW5rcyBlcnN0ZWxsZW4KY3JlYXRlU3RhdGUoIkVpZ2VuZV9EYXRlbnB1bmt0ZS4xMUdhcmRlbmEuQmV3YWVzc2VydW5nLjAxUmVzdGxhdWZ6ZWl0X3Zvcm5fbGlua3MiLCcwJywgewogICAgbmFtZTogJzAxUmVzdGxhdWZ6ZWl0IHZvcm4gbGlua3MnLCAKICAgICJ1bml0IjogJ01pbnV0ZW4nLAogICAgInJvbGUiOiAibGV2ZWwiLAogICAgInR5cGUiOiAibnVtYmVyIiwKICAgICJyZWFkIjogdHJ1ZSwKICAgICJ3cml0ZSI6IHRydWUsCiAgICAibWluIjogMCwKICAgICJtYXgiOiAxMDAsCiAgICAic21hcnROYW1lIjogewogICAgImRlIjogIkJld8Okc3NlcnVuZyB2b3JuIGxpbmtzIiwKICAgICJzbWFydFR5cGUiOiAiTElHSFQiLAogICAgICAiYnlPTiI6ICJzdG9yZWQiCn0KfSk7CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKLy9EYXRlbnB1bmt0IFJlc3RsYXVmemVpdCB2b3JuIHJlY2h0cyBlcnN0ZWxsZW4KY3JlYXRlU3RhdGUoIkVpZ2VuZV9EYXRlbnB1bmt0ZS4xMUdhcmRlbmEuQmV3YWVzc2VydW5nLjAyUmVzdGxhdWZ6ZWl0X3Zvcm5fcmVjaHRzIiwnMCcsIHsKICAgIG5hbWU6ICcwMlJlc3RsYXVmemVpdCB2b3JuIHJlY2h0cycsCiAgICAidW5pdCI6ICdNaW51dGVuJywgCiAgICAicm9sZSI6ICJsZXZlbCIsCiAgICAidHlwZSI6ICJudW1iZXIiLAogICAgInJlYWQiOiB0cnVlLAogICAgIndyaXRlIjogdHJ1ZSwKICAgICJtaW4iOiAwLAogICAgIm1heCI6IDEwMCwKICAgICJzbWFydE5hbWUiOiB7CiAgICAiZGUiOiAiQmV3w6Rzc2VydW5nIHZvcm4gcmVjaHRzIiwKICAgICJzbWFydFR5cGUiOiAiTElHSFQiLAogICAgICAiYnlPTiI6ICJzdG9yZWQiCn0KfSk7Ci8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovL0RhdGVucHVua3QgUmVzdGxhdWZ6ZWl0IHNlaXRlIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLjExR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDNSZXN0bGF1ZnplaXRfc2VpdGUiLCcwJywgewogICAgbmFtZTogJzAzUmVzdGxhdWZ6ZWl0IHNlaXRlJywgCiAgICAidW5pdCI6ICdNaW51dGVuJywKICAgICJyb2xlIjogImxldmVsIiwKICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAicmVhZCI6IHRydWUsCiAgICAid3JpdGUiOiB0cnVlLAogICAgIm1pbiI6IDAsCiAgICAibWF4IjogMTAwLAogICAgInNtYXJ0TmFtZSI6IHsKICAgICJkZSI6ICJCZXfDpHNzZXJ1bmcgc2VpdGUiLAogICAgInNtYXJ0VHlwZSI6ICJMSUdIVCIsCiAgICAgICJieU9OIjogInN0b3JlZCIKfQp9KTsKCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgovL0RhdGVucHVua3QgUmVzdGxhdWZ6ZWl0IGhpbnRlbiBlcnN0ZWxsZW4KY3JlYXRlU3RhdGUoIkVpZ2VuZV9EYXRlbnB1bmt0ZS4xMUdhcmRlbmEuQmV3YWVzc2VydW5nLjA0UmVzdGxhdWZ6ZWl0X2hpbnRlbiIsJzAnLCB7CiAgICBuYW1lOiAnMDRSZXN0bGF1ZnplaXQgaGludGVuJywgCiAgICAidW5pdCI6ICdNaW51dGVuJywKICAgICJyb2xlIjogImxldmVsIiwKICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAicmVhZCI6IHRydWUsCiAgICAid3JpdGUiOiB0cnVlLAogICAgIm1pbiI6IDAsCiAgICAibWF4IjogMTAwLAogICAgInNtYXJ0TmFtZSI6IHsKICAgICJkZSI6ICJCZXfDpHNzZXJ1bmcgaGludGVuIiwKICAgICJzbWFydFR5cGUiOiAiTElHSFQiLAogICAgICAiYnlPTiI6ICJzdG9yZWQiCn0KfSk7Cg==</field>
<comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
</block>
<block type="procedures_callcustomnoreturn" id="5Har+P[]9D2wa@;{[=0" x="37" y="-63"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="on_ext" id="5/ptqACnYz31iOb-NbIW"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="WI]u4z@Dd;-@XNhr9^P_"> <field name="oid">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="2*@?}Ok8QqU52Qn2@
b!">
<mutation elseif="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="1[j|p(UE~h1DBn5wJ7:"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id=",~
!us}{rO~uL:vb+.GT">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field>
</block>
</value>
<value name="B">
<block type="math_number" id="cT_00-(:L^+n7QY[iOy"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="n,Do#P:-50o2y7b0BP00"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="el2lC)Aszs-[kpKw9m_P"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="]LDg]@E~ShG@:VE1RBGQ"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.2.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="2[y-
Z#$^?LqGfc%O-!j">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="control" id="Hs,abY%xSj(m#sAIbit}">
<mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.1.PEQ0506191.3.STATE</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="Hl8({scKs4t7m+W[FoH">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="timeouts_clearinterval" id="0#?|oZ2(djTEa5Mbis("> <field name="NAME">vorn_links</field> <next> <block type="timeouts_setinterval" id="N~zH%wP-T4gSXPps3Z%+"> <field name="NAME">vorn_links</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="),nr)4;Lmn{BaM1NuYAW" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="/R!
2TR~+**Vn)~Pc./7">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="B{.+NFC?uo|C@Y/Zk2m"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="^$v650r5yvYe!AWepgec"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="$L7^;}qtFM59DJmS.uAd"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="I1i?@9)BIUx(Piq1o_lC"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> </block> </value> <value name="B"> <block type="math_number" id="Qj+@a$rXruUrJoEDis@q"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="hcE9(0dj(]g(S!62e={@"> <field name="NAME">vorn_links</field> </block> </statement> </block> </statement> <next> <block type="on_ext" id="yV7O,iTMgnS6WY)DszOR" collapsed="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="7DeV9B{3erWGW?%;A/[o"> <field name="oid">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="{]O#~b~1y#^t?#v7ITeV"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="r6u|0a#mY)z;VvY%^j]v"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="?5E$8fXw-7
WjmTY%|jj">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field>
</block>
</value>
<value name="B">
<block type="math_number" id="HBWpVH90Kr7?9.V~tGFy">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_clearinterval" id="u}b~a6RynBSedAtAlKdb">
<field name="NAME">vorn_rechts</field>
<next>
<block type="timeouts_setinterval" id="uXl[oHMRYzNh8yz7c6X"> <field name="NAME">vorn_rechts</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="^8.?F
PkGbu;))ffNniu" inline="false">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_arithmetic" id="{E@kR!g;WJJlz+xzE=;)">
<field name="OP">MINUS</field>
<value name="A">
<shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="adD7nI2@tpul$(BDp~}"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="xF)01v_HxKf|kB];32B?"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="K1^A4Ch;$
K^~D4(6cji">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="g5C#@1ZUCLO^q,8zESti">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.02Restlaufzeit_vorn_rechts</field>
</block>
</value>
<value name="B">
<block type="math_number" id=".nzWs{7)nYK#fkK*%z~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="+?.x0!(gNEV1h*PJb#gZ"> <field name="NAME">vorn_rechts</field> </block> </statement> </block> </statement> <next> <block type="on_ext" id="|2_C=%-L|T{M^aaj]/1*" collapsed="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="o.XJOb5EKJ|mC?yM!IY9"> <field name="oid">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="rZDMN!Ch4^vts2RCP7xW"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="zin{pERQR!xve%Si1fqp"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="9vyKWVk5Ffj:QyJxn;i."> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> </block> </value> <value name="B"> <block type="math_number" id="H
9;UC,KNJ9uT1H9]Bf"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="S8qm!UDsnYYx?~#zZ}Q2"> <field name="NAME">seite</field> <next> <block type="timeouts_setinterval" id="[=ZoL##yP[H-,p=h,sKf"> <field name="NAME">seite</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="%TV/06yhHpyMmsPu*(5w" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="kA.m3FB0AkCmidhSb()M"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="u~tQ9/XJ@l%+ck~gI;;p"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="x?oxO8JLeXIyp=gb]|_!"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="RwrPZ/zUQNN
Sx~Z;m:d">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="A.aFso1W+@#/ITn^N{h">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.03Restlaufzeit_seite</field>
</block>
</value>
<value name="B">
<block type="math_number" id="VC5,eTPUe).E%DBpy]+q">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="timeouts_clearinterval" id="Yh!PpN)zW,?lU4UIHhoO">
<field name="NAME">seite</field>
</block>
</statement>
</block>
</statement>
<next>
<block type="on_ext" id="P+W9S,LcsfDur5CEa)x" collapsed="true"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Uz}Dv~6[O4mK].dLm!w["> <field name="oid">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="P1M
?98GL2Oz3R:^Jrug">
<mutation elseif="1"></mutation>
<value name="IF0">
<block type="logic_compare" id="bk~|OQ;v!J/iU0P=GMAg">
<field name="OP">GT</field>
<value name="A">
<block type="get_value" id="6lI[S?BUA+7).3A7;UF-">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field>
</block>
</value>
<value name="B">
<block type="math_number" id="v$JF9zv{[6tgGfVc$YA0">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_clearinterval" id="Um0%bUHddA@DYT5G}J"> <field name="NAME">hinten</field> <next> <block type="timeouts_setinterval" id="[]ZfY/y~?[eL$fXt$6]^"> <field name="NAME">hinten</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="p:Sb;|$v]XLKc?]}(:+I" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="h3_xZ/~#?/(wvJqdOS)I"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="VgTBr?x(*n=ff+2W[RC
">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="nh~,0m2g(HED8,CKti}b">
<field name="NUM">1</field>
</shadow>
<block type="math_number" id="1i/raxF_@zeTBjI?$.@">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="YG+ug3_@*qJ6aP`YPVLl">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="kkyhtu]v?7~+)~IA1yPd">
<field name="ATTR">val</field>
<field name="OID">javascript.0.Eigene_Datenpunkte.11Gardena.Bewaesserung.04Restlaufzeit_hinten</field>
</block>
</value>
<value name="B">
<block type="math_number" id="0R~[//jAu:jY;gtL85;3">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="timeouts_clearinterval" id="ed03Rhn(4wM+]sdNS3US">
<field name="NAME">hinten</field>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>
-
Und der Datenpunkt
{
"from": "system.adapter.admin.0",
"user": "system.user.admin",
"ts": 1578771652248,
"common": {
"name": "Gartenbewässerung Kanal 1+2",
"role": "level",
"type": "number",
"unit": "Minuten",
"smartType": "Light",
"byON": "stored",
"min": 0,
"max": 100,
"read": true,
"write": true,
"def": false
},
"native": {
"name": "Gartenbewässerung Kanal 1+2",
"unit": "Minuten",
"role": "level",
"type": "number",
"min": 0,
"max": 100,
"read": true,
"write": true,
"smartName": {
"de": "Bewässerung Kanal 1+2",
"smartType": "LIGHT",
"byON": "stored"
}
},
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1638
},
"_id": "javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2",
"type": "state"
}
-
lösche mal bitte Deinen selbst angelegten Datenpunkt. (da ist auch ein SmartName für iot drinn gewesen, also den hier löschen: Gartenbewässerung Kanal 1+2) Das Blockly erstellt Dir dann den Datenpunkt neu. Aber bitte zuerst Deinen alten Datenpunkt löschen.
Export:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Kanal_1_und_2">Kanal_1_und_2</variable> </variables> <block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="38" y="-113"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_erstellen</field> <field name="SCRIPT">Ly9EYXRlbnB1bmt0IFJlc3RsYXVmemVpdCB2b3JuIGxpbmtzIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLkdhcnRlbi5HYXJ0ZW5iZXfDpHNzZXJ1bmcgS2FuYWwgMSsyIiwnMCcsIHsKICAgIG5hbWU6ICdHYXJ0ZW5iZXfDpHNzZXJ1bmcgS2FuYWwgMSsyJywgCiAgICAidW5pdCI6ICdNaW51dGVuJywKICAgICJyb2xlIjogImxldmVsIiwKICAgICJ0eXBlIjogIm51bWJlciIsCiAgICAicmVhZCI6IHRydWUsCiAgICAid3JpdGUiOiB0cnVlLAogICAgIm1pbiI6IDAsCiAgICAibWF4IjogMTAwLAp9KTs=</field> <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment> </block> <block type="procedures_callcustomnoreturn" id="5Har+P[]9D2wa@;{[=0" x="37" y="-63"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="on_ext" id="5/ptqACnYz31iOb-NbIW"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="WI]u4z@Dd;-@XNhr9^P_"> <field name="oid">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="Br5lDq{dz^H]N=];|b+("> <field name="COMMENT">bei den deaktivierten Deine Geräte rein</field> <next> <block type="controls_if" id="2*@?}Ok8QqU52Qn2@b!"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="F_P%fceZ![9xHWZ+++tT" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="1[j|p(UE~h1DBn5wJ7:"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id=",~!us}{rO~uL:vb+.GT"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> </block> </value> <value name="B"> <block type="math_number" id="cT_00-(:L^+n7QY[iOy"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="|YmTgh[ed;3vmAms/zbK" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="xgM%$*4aPA8,xt?FF.[F"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="5rzH9GQCK22CcWk;(ec%" disabled="true"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.00021709A0EFE6.3.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="P_lHAKE=|xmL08FE/RdT"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="o6|$`dEke|ODPLOa9WI3" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="(q8,SXrl^{%v$O|Em6+t"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="LNGGpwlay=mpw*a-g:Qw" disabled="true"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.00021A499BDC60.3.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="dejoFxf~S|}Cu2BhbdF@"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Cqy2p,-hRjhVflV169z-"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="we;ZD4oLB-;Web:#3S9r" disabled="true"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.00021A499BDCB2.3.STATE</field> </block> </value> <value name="B"> <block type="logic_boolean" id="SIiXqJey3kq@su*lB2;2"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="n,Do#P:-50o2y7b0BP00"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.1.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="el2lC)Aszs-[kpKw9m_P"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="]LDg]@E~ShG@:VE1RBGQ"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.2.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="2[y-Z#$^?LqGfc%O-!j"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="Hs,abY%xSj(m#sAIbit}"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.3.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">300</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="Hl8({scKs4t7m+W[FoH"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="0#?|oZ2(djTEa5Mbis("> <field name="NAME">Kanal_1_und_2</field> <next> <block type="timeouts_setinterval" id="N~zH%wP-T4gSXPps3Z%+"> <field name="NAME">Kanal_1_und_2</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="),nr)4;Lmn{BaM1NuYAW" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="/R!2TR~+**Vn)~Pc./7"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="B{.+NFC?uo|C@Y/Zk2m"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="^$v650r5yvYe!AWepgec"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="$L7^;}qtFM59DJmS.uAd"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="I1i?@9)BIUx(Piq1o_lC"> <field name="ATTR">val</field> <field name="OID">javascript.0.Eigene_Datenpunkte.Garten.Gartenbewässerung Kanal 1+2</field> </block> </value> <value name="B"> <block type="math_number" id="Qj+@a$rXruUrJoEDis@q"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="hcE9(0dj(]g(S!62e={@"> <field name="NAME">Kanal_1_und_2</field> <next> <block type="control" id="%W(TTF@}Ex+U}w~|WtQD"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.1.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="nr(:0Wl7g;-nZ7(.|6pG"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="-5V2bD/c;r:.x^W@KNA1"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.2.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="l:DdS`??E({qUGXTC+R~"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="_tszV4-YQ(Hhlyu/8C-3"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.PEQ0506191.3.STATE</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">300</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="kOV:*+APP.sm6o)~OtO|"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
@Aidan
sieht jetzt so aus
-
Und falls Du dort diese Datenpunkte haben solltest, die kannst Du auch löschen. (auch im Javascript Ordner unter Eigene_Datenpunkte)
-
@Aidan sagte in Blockly Script für Gartenbewässerung:
Anforderung: Frau drückt Knopf, Pumpe auf Kanal1 geht an, Ventil auf Kanal2 geht auf. Laufdauer 10 Min.
Man könnte das auch mit einem festen Wert von 10 Minuten aufbauen, auch abschaltbar wenn die 10 Minuten noch nicht um sind.....(ich mach das mal eben und probiere das mal für Dich)