NEWS
[Gelöst] Fragen zu Blockly
-
Genauso würde ich das auch machen.
Enrico `
Und ich kann 3 Trigger untereinander setzen?
Bildschirmfoto 2017-11-10 um 22.27.41.png
Stefan `
Ups waerend ich die andere antword geschrieben habe sind schon par post dazwischen gekommen.
Ja diese 3 bloeck sind OK:
` > - Alles ist in einem script
-
Dein script hat 3 verschiedene sectoren
-
Jeder sector schalten individuell ohne abhaenigkeit des anderen. `
-
-
Genauso würde ich das auch machen.
Enrico `
Und ich kann 3 Trigger untereinander setzen?
Bildschirmfoto 2017-11-10 um 22.27.41.png
Stefan `
Ups waerend ich die andere antword geschrieben habe sind schon par post dazwischen gekommen.
Ja diese 3 bloeck sind OK:
` > - Alles ist in einem script
-
Dein script hat 3 verschiedene sectoren
-
Jeder sector schalten individuell ohne abhaenigkeit des anderen.
Das hast Du richtig verständen.
Jede Bewässerung ist autark.
Werde dann für jede Frage zukünftig einen eigenen Beitrag im Thread verfassen. 8-)
Danke.
Stefan
-
-
Der Zeittrigger würde auch gehen, aber ich glaube besser wäre so:
Trigger2.JPG
Objekt-ID im Trigger die gleiche wie bei "falls".
Damit würde auf eine Temperaturänderung reagiert werden, das macht glaub ich mehr Sinn!
Enrico `
Ich verstehe. Das macht Sinn. Danke.
Bildschirmfoto 2017-11-10 um 23.06.31.png
Stefan `
Ich wuerde mir diesen block nochmal ueberlegen an deiner stellen auch wegen energie besparung.
Der pingelst jetzt immer genau um die grad zahl herrum, ich habe das anders geloets und warte z.b. IST => 0.3 ueber gewuenschten wert oder =< 0.2 unter gewuenschten wert damit het man nicht immerzu den an,aus,an,aus effect (oder das ist so gewollt ist natuerlich deine entscheidung.
-
Müssen diese sinnlosen Fullquotes sein?
-
Und ich kann 3 Trigger untereinander setzen? `
Ja, untereinander ist ok, nur INEINANDER dürfen sie auf <u>keinen</u> Fall, das habe ich schon gelernt im Forum!
Enrico
-
Ich wuerde mir diesen block nochmal ueberlegen an deiner stellen auch wegen energie besparung.
Der pingelst jetzt immer genau um die grad zahl herrum, ich habe das anders geloets und warte z.b. IST => 0.3 ueber gewuenschten wert oder =< 0.2 unter gewuenschten wert damit het man nicht immerzu den an,aus,an,aus effect (oder das ist so gewollt ist natuerlich deine entscheidung. `
Hatte ich auch überlegt. Hatte es aber nicht umgesetzt, da es mal wieder am Wissen gescheitert ist. Wie kann ich das darstellen?
Hab grad schon probiert, hab den passenden Baustein nicht gefunden.
Grüße,
Stefan
-
Hatte ich auch überlegt. Hatte es aber nicht umgesetzt, da es mal wieder am Wissen gescheitert ist. Wie kann ich das darstellen?
Hab grad schon probiert, hab den passenden Baustein nicht gefunden. `
gib mal kurz export von dem block
-
gib mal kurz export von dem block
`
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on" id="dE({Ufz==CGiWXmY%Lgj" x="-663" y="-42"><field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field>
! <field name="CONDITION">ne</field>
! <statement name="STATEMENT"><block type="comment" id="x^V6-6XQ:=pDWJI.n@Y?"><field name="COMMENT">Überprüfen ob die Temperatur kleiner 12 Grad beträgt</field>
! <next><block type="controls_if" id=";%ijSa!;s_Y+|6x_;/gm"><mutation else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="G@9_PW:,dbZhN,CNfI6a"><field name="OP">LT</field>
! <value name="A"><block type="get_value" id="4GO0u[([F:Nj(Yl(vFw*"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value>
! <value name="B"><block type="text" id="Wo4)+BB#{2#c!ATkZi10"><field name="TEXT">12.0</field></block></value></block></value>
! <statement name="DO0"><block type="comment" id="Ayuyx~6A}R=s*qKt}5C"><field name="COMMENT">Ist < 12 Grad, wird Heizung Innenraum eingeschaltet</field> ! <next><block type="control" id="BsUeaH=)k=Z|t0m%:{f."><mutation delay_input="false"></mutation> ! <field name="OID">hm-rpc.0.MEQ1898345.1.STATE</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="([d|LWzo,qTOdz*;F@XP"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="2i*
Pj_j~)O,[miFe!!"><field name="COMMENT">Ist >= 12 Grad, wird die Heizung Innenraum ausgeschaltet</field> ! <next><block type="control" id="8!I7g0vzXKTu|gE/R(0X"><mutation delay_input="false"></mutation> ! <field name="OID">hm-rpc.0.MEQ1898345.1.STATE</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="u00cns;LbiATH-h1u*ev"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> ! <next><block type="controls_if" id="LfwsZ(8LHDM2t~[if+Lp"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="-v^Sk2.Aec8#0(R*O3jV"><field name="OP">LT</field> ! <value name="A"><block type="get_value" id="i)epc0Z*
@mC*h4sggJD"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value>
! <value name="B"><block type="text" id="Pmt@VQ_.]Rvs3G{H/OL"><field name="TEXT">5.0</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="!M[ZSpa^y8M)}vWLj;oV"><field name="COMMENT">Ist < 5 Grad, wird Heizung Nahrung eingeschaltet</field> ! <next><block type="control" id="f]XQjw3cPr/6W!*-s@f/"><mutation delay_input="false"></mutation> ! <field name="OID">hm-rpc.0.MEQ1898434.1.STATE</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="Mf|v^sw7V[)kCO}Gd0:|"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="gxo-MvYBgJKL%t+X|vNZ"><field name="COMMENT">Ist >= 5 Grad, wird die Heizung Nahrung ausgeschaltet</field> ! <next><block type="control" id="(;|0~zl://s2CTuS?0:Y"><mutation delay_input="false"></mutation> ! <field name="OID">hm-rpc.0.MEQ1898434.1.STATE</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="Y/Asb+=h
;g?dg~q[(f9"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></next></block></statement></block></xml>Stefan
-
Würde es nicht reichen, einfach statt "sonst" "sonst falls" (da dann wieder die Temperatur, größer als rein) einzustellen und da dann die Hysterese einzustellen?
Enrico
-
Würde es nicht reichen, einfach statt "sonst" "sonst falls" (da dann wieder die Temperatur, größer als rein) einzustellen und da dann die Hysterese einzustellen?
Enrico `
Jup nur dan sollte man bei sonst fall halt auch nen schwellenwert einbauen, siehe hier meine idee dazu die werte kannst du natuerlich noch besser definieren wen notieg ich habe jetzt 0.5 grad als unterschiedsfactor genommen:
! ````
<block xmlns="http://www.w3.org/1999/xhtml" type="on" id="dE({Ufz==CGiWXmY%Lgj" x="37.15997314453125" y="-62.79999923706055"><field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="comment" id="x^V6-6XQ:=pDWJI.n@Y?"><field name="COMMENT">Überprüfen ob die Temperatur kleiner 12 Grad beträgt</field>
<next><block type="controls_if" id=";%ijSa!;s_Y+|6x_;/gm"><mutation elseif="1"></mutation>
<value name="IF0"><block type="logic_compare" id="G@9_PW:,dbZhN,CNfI6a"><field name="OP">LT</field>
<value name="A"><block type="get_value" id="4GO0u[([F:Nj(Yl(vFw*"><field name="ATTR">val</field>
<field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value>
<value name="B"><block type="text" id="Wo4)+BB#{2#c!ATkZi10"><field name="TEXT">11.8</field></block></value></block></value>
<statement name="DO0"><block type="comment" id="Ayuyx~6A}R=s*qKt}5C"><field name="COMMENT">Ist < 12 Grad, wird Heizung Innenraum eingeschaltet</field> <next><block type="control" id="BsUeaH=)k=Z|t0m%:{f."><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.MEQ1898345.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="([d|LWzo,qTOdz*;F@XP"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="x+yf.;_/66TPYSKY(B,)"><field name="OP">GT</field> <value name="A"><block type="get_value" id="v5[~|%RY8bS-
!w(2@A1"><field name="ATTR">val</field>
<field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value>
<value name="B"><block type="text" id="n5@CKY?:ycAa]hh,0wTl"><field name="TEXT">12.3</field></block></value></block></value>
<statement name="DO1"><block type="comment" id="2i*Pj_j~)O,[miFe!
!"><field name="COMMENT">Ist >= 12 Grad, wird die Heizung Innenraum ausgeschaltet</field>
<next><block type="control" id="8!I7g0vzXKTu|gE/R(0X"><mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.0.MEQ1898345.1.STATE</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="u00cns;LbiATH-h1uev"><field name="BOOL">FALSE</field></block></value></block></next></block></statement>
<next><block type="controls_if" id="LfwsZ(8LHDM2t~[if+Lp"><mutation elseif="1"></mutation>
<value name="IF0"><block type="logic_compare" id="-v^Sk2.Aec8#0(RO3jV"><field name="OP">LT</field>
<value name="A"><block type="get_value" id="i)epc0Z*@mC*h4sggJD"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value> <value name="B"><block type="text" id="Pmt@VQ_.]Rvs
3G{H/OL"><field name="TEXT">4.8</field></block></value></block></value>
<statement name="DO0"><block type="comment" id="!M[ZSpa^y8M)}vWLj;oV"><field name="COMMENT">Ist < 5 Grad, wird Heizung Nahrung eingeschaltet</field>
<next><block type="control" id="f]XQjw3cPr/6W!-s@f/"><mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.0.MEQ1898434.1.STATE</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="Mf|v^sw7V[)kCO}Gd0:|"><field name="BOOL">TRUE</field></block></value></block></next></block></statement>
<value name="IF1"><block type="logic_compare" id=":6-K..1Q#b0}VA2m+R?H"><field name="OP">GT</field>
<value name="A"><block type="get_value" id="5m(uHspjm|4E)7CZ(]8J"><field name="ATTR">val</field>
<field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value>
<value name="B"><block type="text" id="_%zGpl(N5Wy0%?5T0R:"><field name="TEXT">5.2</field></block></value></block></value>
<statement name="DO1"><block type="comment" id="gxo-MvYBgJKL%t+X|vNZ"><field name="COMMENT">Ist >= 5 Grad, wird die Heizung Nahrung ausgeschaltet</field>
<next><block type="control" id="(;|0~zl://s2CTuS?0:Y"><mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.0.MEQ1898434.1.STATE</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block type="logic_boolean" id="Y/Asb+=h`;g?dg~q[(f9"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></next></block></statement></block>! ````
PS: bite angewoehnen blockly exports in [ spoiler ] UND [ code ] zue setzen
-
Würde es nicht reichen, einfach statt "sonst" "sonst falls" (da dann wieder die Temperatur, größer als rein) einzustellen und da dann die Hysterese einzustellen?
Enrico `
So etwa:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="dE({Ufz==CGiWXmY%Lgj" type="on" y="-42" x="-663"><field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block id="x^V6-6XQ:=pDWJI.n@Y?" type="comment"><field name="COMMENT">Überprüfen ob die Temperatur kleiner 12 Grad beträgt</field> <next><block id=";%ijSa!;s_Y+|6x_;/gm" type="controls_if"><mutation elseif="1"></mutation> <value name="IF0"><block id="G@9_PW:,dbZhN,CNfI6a" type="logic_compare"><field name="OP">LT</field> <value name="A"><block id="4GO0u[([F:Nj(Yl(vFw*" type="get_value"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value> <value name="B"><block id="Wo4)+BB#{2#c!ATkZi10" type="text"><field name="TEXT">12.0</field></block></value></block></value> <statement name="DO0"><block id="Ayuyx~6A}`R=s*qKt}5C" type="comment"><field name="COMMENT">Ist < 12 Grad, wird Heizung Innenraum eingeschaltet</field> <next><block id="BsUeaH=)k=Z|t0m%:{f." type="control"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.MEQ1898345.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="([d|LWzo,qTOdz*;F@XP" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> <value name="IF1"><block id="dA,:6J0l.]PYx%oln-,@" type="logic_compare"><field name="OP">GTE</field> <value name="A"><block id="nIt@DSw6A%hy:WLz(gs3" type="get_value"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value> <value name="B"><block id="[L[R3Y;-+jGCxW}#4pmu" type="text"><field name="TEXT">13</field></block></value></block></value> <statement name="DO1"><block id="2i*`Pj_j~)O,[miFe!`!" type="comment"><field name="COMMENT">Ist >= 12 Grad, wird die Heizung Innenraum ausgeschaltet</field> <next><block id="8!I7g0vzXKTu|gE/R(0X" type="control"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.MEQ1898345.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="u00cns;LbiATH-h1u*ev" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <next><block id="LfwsZ(8LHDM2t~[if+Lp" type="controls_if"><mutation elseif="1"></mutation> <value name="IF0"><block id="-v^Sk2.Aec8#0(R*O3jV" type="logic_compare"><field name="OP">LT</field> <value name="A"><block id="i)epc0Z*`@mC*h4sggJD" type="get_value"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value> <value name="B"><block id="Pmt@VQ_.]Rvs`3G{H/OL" type="text"><field name="TEXT">5.0</field></block></value></block></value> <statement name="DO0"><block id="!M[ZSpa^y8M)}vWLj;oV" type="comment"><field name="COMMENT">Ist < 5 Grad, wird Heizung Nahrung eingeschaltet</field> <next><block id="f]XQjw3cPr/6W!*-s@f/" type="control"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.MEQ1898434.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="Mf|v^sw7V[)kCO}Gd0:|" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> <value name="IF1"><block id=";?I(/[6/{GzG]wAa}(O4" type="logic_compare"><field name="OP">GTE</field> <value name="A"><block id="4v0[FqM@t(T97,bbr6[}" type="get_value"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1651240.1.TEMPERATURE</field></block></value> <value name="B"><block id="iUJynajAU-pjBmzVC^:`" type="text"><field name="TEXT">6.0</field></block></value></block></value> <statement name="DO1"><block id="gxo-MvYBgJKL%t+X|vNZ" type="comment"><field name="COMMENT">Ist >= 5 Grad, wird die Heizung Nahrung ausgeschaltet</field> <next><block id="(;|0~zl://s2CTuS?0:Y" type="control"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.MEQ1898434.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="Y/Asb+=h`;g?dg~q[(f9" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></next></block></statement></block></xml>
Enrico Mal sehen, was dutchman dazu vorschlägt. :) Er war schneller und ich hatte die gleiche Idee! :D
-
Mal sehen, was dutchman dazu vorschlägt.
Er war schneller und ich hatte die gleiche Idee!
`
Sehr schoen !!! dan haben wir ja inzwischen schon wieder 2 blockly experten dazu im forum RappiRN & Stefan1984 :mrgreen: :mrgreen: :mrgreen: :lol: :lol: :lol: :mrgreen: :mrgreen: :mrgreen:
-
Ihr seid klasse. Ohne euch hätte ich viel rätseln müssen.
Ich mache gerade noch andere Anpassungen. Probiere das Temperaturskript danach gleich aus.
Danke.
Grüße,
Stefan
-
:lol: :lol: :lol:
-
Ich mache gerade noch andere Anpassungen. `
Ich bin auch grad dabei, die Programme der CCU alle in den Javascript-Adapter zu übernehmen, weil ja jede Änderung in der CCU zu unerwünschten Nebeneffekten führen kann. :roll: Z.B. habe ich ja ständig meine Jalousien erweitert und irgendwann war es dann soweit, dass fast alle, bis auf eine sofort zum Sonnenaufgang aufgehen und eine nur so, wie es eigentlich sein soll erst 15 min später! :roll:
Enrico
-
Ich bin auch grad dabei, die Programme der CCU alle in den Javascript-Adapter zu übernehmen, weil ja jede Änderung in der CCU zu unerwünschten Nebeneffekten führen kann. `
Pass aber auf das kan auch beim JS passieren, immer wen ich auf der arbeit misst mit dne regeln haben sagen meine college: die server sind nicht dumm aber da sitzt mal wieder ein depp nach schweren wochenend an der tastatur :lol:
Scherz beiseite, darum ist es wichtig sich die logik und reihenfolge gut durch zu denken eventueel einfach mal auf nem papier schreiben/zeichnen.
Mit den sachen welche wir momentan machen geht es noch, wen man aber spaeter auf unterschiedliche variabelen mit abfragen events haben moechte kan das schon mal in die hose gehen.
z.b. wie hier lampen an wenn anwesend und nach sonnenuntergang, sonst nicht. Aber wen ich jetzt im winter nach 8 uhr nach hause kommen da bin ich doch da lampe geht aber nicht an weil zum sonnenuntergang keiner zuhause war.
Um mal ein beispiel zu geben, ich habe bei mir meine heizungssteuerung jetzt so realisiert (in holland mit gasheizung usw….) wobei ich per variabelen pro zimmer noch angeben ob er wohl oder nicht heizen soll.
Letztentlich alles auch in functionene zusammengefasst und laueft jetzt eins A, nur da gingen am anfang auch so einige sachen schieg :lol: :lol: :lol:
-
Ich kann es zwar nicht lesen, aber Hammer. Riesenprogramm. :shock:
Da bin ich noch lange nicht.
Grüße,
Stefan
-
Das Bild ist leider zu klein da ist nicht viel drauf zu erkennen.
Wegen der Anwesenheit hatte ich ja bei Stefan nachgefragt, ob denn bei beginnender Anwesenheit auch noch eingschaltet werden soll,bei mir müsste das dann so!
Ich bin da auch viel am probieren, manchmal eben auch ohne die Lösung selbst zu finden, aber dann kann man ja im Forum lesen, oder eben nachfragen. Ich würde mich auch gern in Javascript mehr zurechtfinden, aber Blockly ist mir schon eine riesen Hilfe!
Enrico
-
Um mal ein beispiel zu geben, ich habe bei mir meine heizungssteuerung jetzt so realisiert (in holland mit gasheizung usw….) wobei ich per variabelen pro zimmer noch angeben ob er wohl oder nicht heizen soll. `
Ich habe das auch, bisher nur in einem Kinderzimmer, das bei Abwesenheit, dieses Kindes die Solltemperatur abgesenkt wird. Irgendwie müssen ja die Kinder dazu gezwungen werden ihre Anwesenheit per Handy preiszugeben! :lol:
Enrico
-
Wegen der Anwesenheit hatte ich ja bei Stefan nachgefragt, ob denn bei beginnender Anwesenheit auch noch eingschaltet werden soll,bei mir müsste das dann so!
`
Bei mir auch, ich habe da so eine steuerung der lampen im wohnzimmer gleiche geschichte…
Ich bin da auch viel am probieren, manchmal eben auch ohne die Lösung selbst zu finden, aber dann kann man ja im Forum lesen, oder eben nachfragen. `
Dafuer ist es ja da
Ich würde mich auch gern in Javascript mehr zurechtfinden, aber Blockly ist mir schon eine riesen Hilfe! `
kommt drauf an was man erreichen will, im blockly geht viel ich hatte aber letztens ein problem das ich z.b. einen trigger haben wollte der reagiert auf alle temperatur aenderungen das ist in JS einfacher/schneller als blockly zusammen zu klicken troztdem is blockly eine Super loesung.
Bisschen offtopic aber tip: wen du mehr vom JS verstehen/lernen moechtest lohnt es sich immer den code an zu schauen welchen du met blockly gemacht hast.
Damit faengt man an die logic/aufbau zu verstehen und das zusammen mit der documentation bring einem schon weiter.
Aber wie gesagt, immer abhaengig von der situation, erfahrung und was man erreichen moechte.