NEWS
[gelöst] Stunden aus Datenpunktformat SS:MM extrahieren
-
Hallo Leute,
irgendwie habe ich eine Brett vor'm Kopf. Ich möchte zum weiteren Steuern aus einem Datenpunkt im Format SS:MM nur die Stunden und dann auch nur die Minuten extrahieren. Irgendwie bekomme ich das nicht hin. Ich möchte damit einen CronJob variable laufen lassen. Den Datenpunkt fülle ich in einer Visualisierung mit iQontrol.
Wer kann helfen? Danke im Voraus -
-
@paul53 Hallo, danke erst einmal für die schnelle Reaktion. So ganz blicke ich bei deinem Blockly noch nicht durch. Wie ich es verstanden habe triggert erst eine Veränderung des Datenpunktes "Uhrzeit" dieses Blockly.
Bei mir soll aber der variable CronJob die Aktion triggern. Wenn sich der Datenpunkt nicht ändert sollte immer der alte Zeitpunkt durch den CronJob getriggert werden. -
@mueller-esch sagte: triggert erst eine Veränderung des Datenpunktes "Uhrzeit" dieses Blockly.
Nein, vor dem Trigger wird die Funktion schaltpunkt1() bei Skriptstart aufgerufen. Wenn dann die Uhrzeit im Datenpunkt geändert wird, erfolgt der Trigger und der bestehende CronJob wird gelöscht und der neue CronJob wird gestartet.
-
@paul53 ok. Dann werde ich das mal ausprobieren und berichten. Danke und Gruß
-
@mueller-esch Hi, ich habe es mit meinen Variablen und Datenpunkten ausprobiert und es klappt einwandfrei. Super Danke.
-
@paul53
Hallo Paul,
kannst du mal den Quelltext einstellen? Oder mir sagen was du im Objekt Schaltpunkt1 geschrieben hast?Grüße aus Zwickau
René -
@newpaint2 sagte: den Quelltext einstellen?
Blockly ist die Quelle.
@newpaint2 sagte in [gelöst] Stunden aus Datenpunktformat SS:MM extrahieren:
im Objekt Schaltpunkt1 geschrieben hast?
schaltpunkt1 ist eine Funktion. Der Datenpunkt "Uhrzeit1" enthält die Uhrzeit im Format "hh:mm".
-
@paul53 Danke durch testen rausgefunden und es funktioniert super!
Mit Quelle meinte ich den Code aus dem Blockly:
<block xmlns="https://developers.google.com/blockly/xml" type="procedures_defnoreturn" id="Intff9/XTInPLt%`5=Jf" x="1124" y="2549"> <field name="NAME">Sp1</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="jv;oQDdh0i^Akpws5M|C"> <field name="VAR" id="hG_-#.,BI6N0$9medpkG">Aufstehen_h</field> <value name="VALUE"> <block type="text_getSubstring" id="M-*R4^hkp-iHJ{ARnifl"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="get_value_var" id="S`t:Io-1w,vu4/ww,g:7"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="mEkt,y]CNU%W8uBhH1~l"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="gVhs]));|=_fktL+aR[."> <field name="VAR" id="=n5D?*HjzOxoNh5Yrz-_">Aufstehen</field> </block> </value> </block> </value> <value name="AT2"> <block type="math_number" id="cw#^=%uK70Q@tLVwDj2J"> <field name="NUM">2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="4nFC:5R95mf^IgyZkN@2"> <field name="VAR" id=";5Kh](W5ZFBNz.]UtoH0">Aufstehen_min</field> <value name="VALUE"> <block type="text_getSubstring" id="8:,HeS~.re{b)Dk(x-$u"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="get_value_var" id="2G5J2,*r|@$gL!SPx7TW"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="AI@-xqwZ$kfo3BZnHOx("> <field name="VAR" id="=n5D?*HjzOxoNh5Yrz-_">Aufstehen</field> </block> </value> </block> </value> <value name="AT1"> <block type="math_number" id="dvW!zk!~PBvXD^8@h{82"> <field name="NUM">4</field> </block> </value> </block> </value> <next> <block type="debug" id="oV3GP+Ra-,0flKR6wU}Z"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Sk%$YBiJzfOFCL8KGP^i"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Cez[+:_)cz3Yw~4[S5MX"> <mutation items="4"></mutation> <value name="ADD0"> <block type="variables_get" id="]4h}XnL2`D9E}[o~adtt"> <field name="VAR" id="hG_-#.,BI6N0$9medpkG">Aufstehen_h</field> </block> </value> <value name="ADD1"> <block type="text" id="i2W.5`vqKK|6BqJ]W8gt"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="?%Q7_jxJVjqw1HA7]2[y"> <field name="VAR" id=";5Kh](W5ZFBNz.]UtoH0">Aufstehen_min</field> </block> </value> <value name="ADD3"> <block type="text" id="Hw0kEN4`JZpFYVNVK],`"> <field name="TEXT"> Uhr geht die Heizung auf Komfort</field> </block> </value> </block> </value> <next> <block type="schedule_create" id="oE],jqSmcGun^2.To)%l"> <field name="NAME">hochfahren</field> <value name="SCHEDULE"> <shadow type="field_cron" id="[2EJj8/{YcOi#zbsul0B"> <field name="CRON">* * * * *</field> </shadow> <block type="cron_builder" id="#/_^}3$a{P*v5OU^AaRc"> <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation> <field name="LINE">FALSE</field> <field name="WITH_SECONDS">FALSE</field> <value name="DOW"> <shadow type="text" id="Ddw=cBJz=4Jki(O?nka,"> <field name="TEXT">*</field> </shadow> </value> <value name="MONTHS"> <shadow type="text" id="o)g82=SzW5:*~}y}}`,8"> <field name="TEXT">*</field> </shadow> </value> <value name="DAYS"> <shadow type="text" id="%tx})b~RGr@{$C^B2vHx"> <field name="TEXT">*</field> </shadow> </value> <value name="HOURS"> <shadow type="text" id="9/w*t4:,[1V|5x`2y73A"> <field name="TEXT">*</field> </shadow> <block type="variables_get" id="V?oIOgM6ZU)w|^`n()i8"> <field name="VAR" id="hG_-#.,BI6N0$9medpkG">Aufstehen_h</field> </block> </value> <value name="MINUTES"> <shadow type="text" id="9etZWD+827r#HDkDv:*2"> <field name="TEXT">*</field> </shadow> <block type="variables_get" id="l10/^GAVs6LgBn-8E(Io"> <field name="VAR" id=";5Kh](W5ZFBNz.]UtoH0">Aufstehen_min</field> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="tU@M!*bbo[v:YIT5#2kf"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="~M_Gl_Ivz5`e(.+0Ed|7"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value_var" id="iIFX7onKASj(v6J)WA|5"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="9_LSgK2O:obtOZd3D41m"> <field name="VAR" id="mkB2np,J_YN+:@FWNl:n">Modus</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="e$:e#~!T?pCdds.*2bT^"> <field name="NUM">3</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id=")Yyw#/rQ5muY5@=w+`ud" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="#@:mQ+JgO(3tH?w{vYA!"> <field name="VAR" id="mkB2np,J_YN+:@FWNl:n">Modus</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="4.B5d(yK`VK4X}}H@GyJ"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="O{Q0I^KEQUF=2]O}ytQ+"> <field name="NUM">0</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="zpsV@lh3J(gZ7%Qut4.#"> <field name="NUM">100</field> </shadow> </value> <next> <block type="control_ex" id="07@KwvKn[fs-Qf]2C9X6" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="9,,l8wmbc*(KYdL4K#S~"> <field name="VAR" id="_WuM:0[JLiv8M4=8ZO,6">Modus_temp</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="4a|pURbM1:O2kap4H-{L"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="vBrJUGPvW|2=m:}wn,EX"> <field name="NUM">0</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id=".qI)}.;TJa,nJu8R}eg1"> <field name="NUM">1000</field> </shadow> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control_ex" id="5@%!$p~`tG#O)?ptW[S." inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="*Z;A`)hIr(*U*HEl]i8U"> <field name="VAR" id="mkB2np,J_YN+:@FWNl:n">Modus</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="i03NgIAwY!Za/+6G:GYb"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="39`NSAqi,:z`6:lSx!~A"> <field name="NUM">3</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="KqgyK8C,PADVnum`B2}n"> <field name="NUM">100</field> </shadow> </value> <next> <block type="control_ex" id="X2k#s(KJtk!yTaMN(.`K" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="NbeY4]#7Ng^(yPb*EB%R"> <field name="VAR" id="_WuM:0[JLiv8M4=8ZO,6">Modus_temp</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="r5D8U?,st(%)xT=3ys7y"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="sR)xq[cPP)L,$mJ3N6%S"> <field name="NUM">0</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="|#lnf*uD.?culSGAqmC["> <field name="NUM">1000</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
und der kleine zum stoppen des Cron und dessen Neustart:
<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="._VMt[rSRT,W%7JDkucd" x="1787" y="2791"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Wj/[{Uxw1GFgYKp7%s?,"> <field name="oid">default</field> </shadow> <block type="variables_get" id="[}8KbqPY?Dn2RolTO$:6"> <field name="VAR" id="=n5D?*HjzOxoNh5Yrz-_">Aufstehen</field> </block> </value> <statement name="STATEMENT"> <block type="schedule_clear" id="4hklhzNp7eGCkxtMGIJ#"> <field name="NAME">hochfahren</field> <next> <block type="procedures_callnoreturn" id="x-h}DTjXnfD49=8i6oJY"> <mutation name="Sp1"></mutation> </block> </next> </block> </statement> </block>
Also nochmals Vielen Dank und Grüße aus Zwickau
René -
@newpaint2 sagte: durch testen rausgefunden und es funktioniert super!
Weshalb verwendest Du nicht den Block "Liste aus Text erstellen"? Der hat den Vorteil, dass die Stunde in der Uhrzeit keine führende 0 haben muss.
Hier ein Export.
-
@paul53 ups, garnich darüber nachgedacht, Danke für den Hinweis.