Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Themen 79.3k Beiträge

NEWS

  • Werte aus Liste auslesen - Ausgabe ist [object Object]

    6
    2
    0 Stimmen
    6 Beiträge
    373 Aufrufe
    Y
    @haus-automatisierung Ah, OK, das habe ich mir gedacht - wäre auch zu einfach gewesen:relaxed: Danke!
  • Zendure Solar Flow ohne Cloud MQTT-Broker MIT Authentication

    29
    1
    0 Stimmen
    29 Beiträge
    4k Aufrufe
    Bernd1967B
    @maxclaudi Ja, funktioniert hier unter Windows.
  • PV Speicherladung in Abhängigkeit vom erwarteten Ertrag

    3
    2
    0 Stimmen
    3 Beiträge
    340 Aufrufe
    D
    @paul53 Danke, ich gehe es nochmal an
  • Ist das Auto Zuhause?

    blockly
    23
    0 Stimmen
    23 Beiträge
    2k Aufrufe
    A
    Hallo. Vielen Dank für die ganzen Feedback und Ideen, dass Thema anzugehen. Diese behalte ich mal im Hinterkopf für mögliche andere Punkte- Da ich das alles dazu nutzen möchte auszuwerten, ob mein Auto zuhause lädt, habe ich es etwas einfacher gemacht. Mein Auto gibt auch einen Geohash raus. Dieser passt für die Position "Laden" sehr gut, und es ist nur 1 Wert. Der wird ausgewertet, und weiterverwendet. Funktioniert für mich so weit optimal. Gruß Andreas
  • Wie kann man einen zu oft kommenden Trigger "entschleunigen"

    9
    1
    0 Stimmen
    9 Beiträge
    577 Aufrufe
    hg6806H
    @codierknecht Stimmt, so passt es jetzt
  • Unbekannte Variable - durch Upgrades entstanden??

    5
    1
    0 Stimmen
    5 Beiträge
    439 Aufrufe
    HomoranH
    @arteck sagte in Unbekannte Variable - durch Upgrades entstanden??: @homoran zeigmal das geraffel als javascript ..da kann man mehr sehen. hab die Variable aber mittlerweile gegen den Trigger-Wert-Block getauscht Spoiler var druck, aus_counter, Druckwaechter; // Beschreibe diese Funktion … async function Not_Aus() { setStateDelayed('hm-rpc.0.JEQ0646431.1.STATE' /* Poolpumpe.STATE */, false, 1000, false); setState('Messwerte.0.Pool.Not-Aus' /* Not-Aus */, true, true); } on({ id: [].concat(['hm-rpc.0.NEQ1547414.3.STATE']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; druck = (obj.state ? obj.state.val : '') - getState('Messwerte.0.Pool.Druckoffset').val; if (druck > 120) { // Pumpe Not-Aus bei zu viel Druck setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>','<strong>Überdruck!</strong>','<br>','Der Pumpendruck beträgt ',druck,'kPa.<br> <br>'].join('')), true); await Not_Aus(); } }); on({ id: [].concat(['hm-rpc.0.JEQ0646431.1.STATE']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : '')) { setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<h3 style="color:lightgreen;">Pumpe an !</h3>','Wassertemperatur ',getState('hm-rpc.0.LEQ0773306.2.TEMPERATURE').val,' °C <br><br>'].join('')), true); // Überprüfung ob sich nach Start Druck aufbaut (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})(); Druckwaechter = setInterval(async () => { if (druck < 55) { setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['Der Pumpendruck beträgt ',druck,'kPa, Pumpe zieht Luft! (',aus_counter + 1,')'].join('')), true); aus_counter = (typeof aus_counter === 'number' ? aus_counter : 0) + 1; if (aus_counter > 25) { // Pumpe Not-Aus bei zu wenig Druck (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})(); setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>',aus_counter,' mal Unterdruck. ','Der Pumpendruck beträgt ',druck,'kPa.<br> <br>'].join('')), true); await Not_Aus(); } } else { setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['Der Pumpendruck beträgt ',druck,'kPa, Pumpe OK!'].join('')), true); (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})(); aus_counter = 0; setState('Messwerte.0.Pool.Not-Aus' /* Not-Aus */, false, true); } }, 2000); } else { (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})(); aus_counter = 0; setStateDelayed('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<h3 style="color:orange;">Pumpe aus !</h3>','Wassertemperatur ',getState('hm-rpc.0.LEQ0773306.2.TEMPERATURE').val,' °C <br><br>'].join('')), true, 1000, false); } }); on({ id: [].concat(['hm-rpc.0.LEQ0773306.2.TEMPERATURE']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('hm-rpc.0.JEQ0646431.1.STATE').val && (obj.state ? obj.state.val : '') > 29.2) { // Pumpe Not-Aus bei zu hoher Temperatur setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>','<strong>Wasser zu warm!</strong>','<br>','Die Wassertemperatur beträgt ',(obj.state ? obj.state.val : ''),'°C.<br> <br>'].join('')), true); setStateDelayed('hm-rpc.0.JEQ0646431.1.STATE' /* Poolpumpe.STATE */, false, 2000, false); setState('Messwerte.0.Pool.Overheat' /* Overheat */, true, true); } else if ((obj.state ? obj.state.val : '') < 28.6) { setState('Messwerte.0.Pool.Overheat' /* Overheat */, false, true); } }); //
  • Heizstab-Regelung geht nicht mehr

    12
    1
    0 Stimmen
    12 Beiträge
    967 Aufrufe
    CodierknechtC
    @tedesco1968 sagte in Heizstab-Regelung geht nicht mehr: Wo stellt man dieses Debug-Blöcke um? Nutze die Macht der rechten Maustaste ... "Block aktivieren"
  • Blockly erkennt Änderung (wahr) obwohl DP unverändert

    5
    2
    0 Stimmen
    5 Beiträge
    377 Aufrufe
    paul53P
    @homoran sagte: Der Aktor meldet nich von sich aus von Zeit zu Zeit den Status? Im Bild des DP sieht man, dass der Zeitstempel jünger ist als die Letzte Änderung.
  • (Beendet) Shelly liefert beim Einschalten zu hohe Werte

    14
    0 Stimmen
    14 Beiträge
    865 Aufrufe
    HomoranH
    @peter-c sagte in (Beendet) Shelly liefert beim Einschalten zu hohe Werte: Der sieht einen erhöhten Leistungsbedarf und regelt den Inverter hoch Da hilft es dann auch nichts die Shelly-Werte zu "faken". Der Inverter wird trotzdem anspringen. Daran siehst du, dass das kein Überschwingen, sondern ein realer Verbrauch ist.
  • Automatisierungsproblems mit Präsenzsensoren (FP2) *Gelöst *

    9
    0 Stimmen
    9 Beiträge
    590 Aufrufe
    Horst BöttcherH
    @paul53 danke klappt alles
  • 2 CCU koppeln

    9
    1
    0 Stimmen
    9 Beiträge
    630 Aufrufe
    D
    Hallo @mcu, super Erklärung danke. Meine Datenpunkte sind seit der Umstellung nicht mehr ausgefallen. greetz dipsy
  • [gelöst] Verständnisfrage: exec versus http (GET)

    16
    1
    0 Stimmen
    16 Beiträge
    990 Aufrufe
    RaspiUserR
    @bananajoe sagte in [gelöst] Verständnisfrage: exec versus http (GET): per mqtt ... okay... schau ich mir an ...
  • Experten Hilfe Verbesserung, Verzicht auf 2ten Datenpunkt?

    3
    1
    0 Stimmen
    3 Beiträge
    186 Aufrufe
    maxclaudiM
    @sigi234 Gerne :-) persönliche Daten usw. entfernt. Blockly <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</variable> <variable id=":t,.iH$R*B]I6`WB(XiX">StepByStep-Limit-setzen</variable> <variable id="dIjm#f2?FFp5rZ8.*y*]">cURLsetLimit</variable> <variable id="{/aS[hsekcCjGOG[6k1K">InverterMaxGesamtleistung</variable> <variable id="Habz-i({!8`v2HZBqG.m">cURLstart</variable> <variable id="l]cCL,|tZ]/i+`s)[-v.">setLimitPart1</variable> <variable id="]}B6H?%6!5i!RoH45.IM">inverter1:</variable> <variable id="f#OJfojYX1NYb)`yqBX@">setLimitPart2</variable> <variable id="9IYq){UmB+g2}n!u$x|V">setLimitPart3</variable> <variable id="9EDv~bW6oT6sCJ(D,1eq">cURLstateLimit</variable> <variable id="qYV~7+z$kJxrAd1^~{Xz">LimitStatusObjekt</variable> <variable type="timeout" id="timeout2">timeout2</variable> <variable type="timeout" id="timeout3">timeout3</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="comment" id="Na*iQF(;)e(+9GW,^f/c" x="63" y="1638"> <field name="COMMENT">setLimit 1v2</field> <next> <block type="update" id="iZ0+uBw,wW1MoMhc_ni6"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="18xe*2:DBG=R/aVM`bYc"> <field name="NUM">0</field> </block> </value> <next> <block type="on_ext" id="S`3;0}v*cL~wqdO0),NP"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <value name="OID0"> <shadow type="field_oid" id="wwAKX@H~PdbVcuxH^/qI"> <field name="oid">0_userdata.0.Datenpunkte.openDTUoB.SetLimit</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="0CUN=tvCh{RsdQ1|=$*`"> <value name="IF0"> <block type="logic_multi_and" id="w|W#f||IwbR]Mq/8ejvg"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="logic_compare" id="SDfz)kyLvr-Muxtjam!%"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="5EbBPt=#H^Aeiekvw!73"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> </block> </value> <value name="B"> <block type="math_number" id="z{XhZEGnyj}`wbbj:9L["> <field name="NUM">0</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_compare" id="fg,!q~X2XB]g[=kmDVR:"> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="VLb2OizFb@%Wt8?m$U4i"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="on_source" id="1^Y8!VvR,N:|t}+u6w-s"> <field name="ATTR">oldState.val</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="U%ZpI+iIVsG^J@#[)|D;"> <field name="VAR" id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</field> <value name="VALUE"> <block type="on_source" id="{L;?PiTg#OvmEHqmYwP4"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="controls_if" id="sD91qO}Q+pWvGs(%kP1T"> <value name="IF0"> <block type="logic_compare" id="JVtIy@G^GTE4/MoX7QfA"> <field name="OP">LT</field> <value name="A"> <block type="math_arithmetic" id="r6C2`maS0mniJX`ZhK1n"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="%4a8vxopU:;qEM|2Be8s"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="`Q^;R!u_4a;qGm*SX_S3"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="NsM~(D,HL9{xf0GkaUHp"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="[I!11Yg-*48Z-BTw$yMP"> <field name="VAR" id="{/aS[hsekcCjGOG[6k1K">InverterMaxGesamtleistung</field> </block> </value> <value name="B"> <shadow type="math_number" id="2)yAI_Z{clo8kP):B,jF"> <field name="NUM">1</field> </shadow> <block type="math_number" id="f+aK_qchHTO*=bfmGyMw"> <field name="NUM">100</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="f{z*kAe;R/fEewkD-dpx"> <field name="NUM">1</field> </shadow> <block type="get_value" id="QBZTB!}!AatT5$0}ftTP"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.SetLimit</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="HWD97snkEd|q2EAV6{Le"> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7;V~RLI7O![n{9{`(Yr2"> <field name="VAR" id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</field> <value name="VALUE"> <block type="math_round" id=".Lg)$78b=*f5esi^j1-n"> <field name="OP">ROUNDUP</field> <value name="NUM"> <shadow type="math_number" id="x{nBUy%NP(zl_Y6YYA.,"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="+0pCuk?dc3s[@Fv.9F[M"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="zULjZ+oewSOf.czk,tJb"> <field name="NUM">1</field> </shadow> <block type="math_number" id="Om#mtgB;XT-N?a(~0GyX"> <field name="NUM">60</field> </block> </value> <value name="B"> <shadow type="math_number" id="m464lD4CIGIJvHufNQMK"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="^*yC8B4,89,0]^MM)Wj_"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id=")lz!Fl6fiSTE)%TfS~m0"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="?/f)8duX0z(Zf.3i$N1s"> <field name="VAR" id="{/aS[hsekcCjGOG[6k1K">InverterMaxGesamtleistung</field> </block> </value> <value name="B"> <shadow type="math_number" id="M~YtJr?mx#NAROoe5nt]"> <field name="NUM">1</field> </shadow> <block type="math_number" id="9{m[M3B}^fQ5KGUIis^n"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="KRFm^MAWa6p5QN{8qmPt"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="!{C^^Da5T7I_3Ux~v+ih"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="y,W#ecF@e7j#}Xa3^6)C"> <field name="VAR" id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="+C{gD_:~S{Bhz_.$]jk?"> <value name="IF0"> <block type="logic_compare" id="asEISEDAVnrp[1kxXTgz"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="r!9H1r`l^^4PcI~DT5tW"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.SetLimit</field> </block> </value> <value name="B"> <block type="math_number" id="m3e=QbKt#(^twI7OY0`Z"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="6A4I$1@7uiEnIIe:AVY@"> <field name="VAR" id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</field> <value name="VALUE"> <block type="math_number" id=")$iByvAYI;XoIMoufBz0"> <field name="NUM">100</field> </block> </value> <next> <block type="debug" id="u,?GjJF1%UOkhZ_%!%OH"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="#3{0tq;z{_TJg#)CKg;;"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="yA0YQoE$d7?5DwKYsWh4"> <field name="VAR" id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</field> </block> </value> </block> </next> </block> </statement> <next> <block type="variables_set" id="9glsFn~Yb-o1E_,f9V9@"> <field name="VAR" id="dIjm#f2?FFp5rZ8.*y*]">cURLsetLimit</field> <value name="VALUE"> <block type="text_join" id="j#l7XXpjSQ]_pea6fDuO"> <mutation items="6"></mutation> <value name="ADD0"> <block type="variables_get" id="4|2b5S9~[d~u7c^Kvg|h"> <field name="VAR" id="Habz-i({!8`v2HZBqG.m">cURLstart</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="5)U~W]uguzsa2x*T^42a"> <field name="VAR" id="l]cCL,|tZ]/i+`s)[-v.">setLimitPart1</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="qhul]J~,j~*Ey73k9o,c"> <field name="VAR" id="]}B6H?%6!5i!RoH45.IM">inverter1:</field> </block> </value> <value name="ADD3"> <block type="variables_get" id="5c=/e37}n+*7CQyO}Ijb"> <field name="VAR" id="f#OJfojYX1NYb)`yqBX@">setLimitPart2</field> </block> </value> <value name="ADD4"> <block type="variables_get" id="8dww^|kyY~ZiM5qh[RLV"> <field name="VAR" id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</field> </block> </value> <value name="ADD5"> <block type="variables_get" id="##LwqDXu_Ty^,5V=aU3g"> <field name="VAR" id="9IYq){UmB+g2}n!u$x|V">setLimitPart3</field> </block> </value> </block> </value> <next> <block type="comment" id="Y+nX-p}*xExWw]O`OX~{"> <field name="COMMENT">state abfragen</field> <next> <block type="exec" id="9b)!Xk~Q[EVq5OId-xq="> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="9;-TT-}BY,qROECr/9_6"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="!yz!Hay,[YQQHpLUJ*Iv"> <field name="VAR" id="9EDv~bW6oT6sCJ(D,1eq">cURLstateLimit</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="]Q)e10Yc1,|BA0=+4/qL"> <field name="VAR" id="qYV~7+z$kJxrAd1^~{Xz">LimitStatusObjekt</field> <value name="VALUE"> <block type="convert_json2object" id="[Z?-h~j!H:[SSJ`S615*"> <value name="VALUE"> <block type="exec_result" id="q=5*b5rz@VdDwh)0I3e+"> <field name="ATTR">result</field> </block> </value> </block> </value> <next> <block type="debug" id="*2N(,pI+I/wa+WB0pY})"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Tm#1Sc!?@o*[5^fVuc9E"> <field name="TEXT">test</field> </shadow> <block type="convert_json2object" id="]9/0o*OMO8//*4pp#`rU"> <value name="VALUE"> <block type="exec_result" id="f4)+;L@d@p`*4I4Q^GD#"> <field name="ATTR">result</field> </block> </value> </block> </value> <next> <block type="update" id="FfJM}@B,y+IyuV~:1w%o"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id=";cLk?eq+-nX?,Ly3S(Df"> <field name="NUM">1</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="irOfk_9RkkVxxbebgIyq"> <field name="COMMENT">setLimit 2v2&amp;#10;limit setzen&amp;#10;state abfragen</field> <next> <block type="on_ext" id="LcW]*D@bBIDIfRY85_ht"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <value name="OID0"> <shadow type="field_oid" id="Esl`z8CUt#,h~K~/67)j"> <field name="oid">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="a9j[r{MnY}F}l::|y)|u"> <value name="IF0"> <block type="logic_compare" id="}f,J@LyGX4gdZ]C@,n5/"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="Me!AW.7.slwct,PV!F`P"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="0HxZtvu{Ol[[^E4mpd%V"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="~-29zc|RN/R59_vcu.C7"> <field name="VAR" id=":t,.iH$R*B]I6`WB(XiX">StepByStep-Limit-setzen</field> <value name="VALUE"> <block type="on_source" id="D%;`=63r+bcOYP}!.6XT"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="comment" id="7;6ArsM!Q}Rb=pV?a+VO"> <field name="COMMENT">limit setzen</field> <next> <block type="logic_switch_case" id="SoQ_l$3)L#9$[+~a.h2z"> <mutation xmlns="http://www.w3.org/1999/xhtml" case="2"></mutation> <value name="CONDITION"> <block type="variables_get" id="-E8Gd6qi^}jZPrt=NeJ;"> <field name="VAR" id=":t,.iH$R*B]I6`WB(XiX">StepByStep-Limit-setzen</field> </block> </value> <value name="CASECONDITION0"> <block type="math_number" id="hPBf+v5hSB$zAi}.!g,Y"> <field name="NUM">1</field> </block> </value> <statement name="CASE0"> <block type="controls_if" id="(/j1x$g%@DmMT*)iLOTL"> <value name="IF0"> <block type="logic_compare" id="QtPdP?Gq5NsbGxyo2fWR"> <field name="OP">EQ</field> <value name="A"> <block type="get_attr" id="Dv?{gFgf0YRVdZo(~1sg"> <value name="PATH"> <shadow type="text" id="$?(@MG+6%N9V1i-UUYPm"> <field name="TEXT">attribute1</field> </shadow> <block type="text_join" id="CJ0,qBY]A/bO#c~CcMwW"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="x{(.M$Y|v,ic??.#xrJD"> <field name="VAR" id="]}B6H?%6!5i!RoH45.IM">inverter1:</field> </block> </value> <value name="ADD1"> <block type="text" id="0Y~I*gJoy^tgUTq;3!+u"> <field name="TEXT">.limit_set_status</field> </block> </value> </block> </value> <value name="OBJECT"> <shadow type="get_object" id="d2Q3/Nn./At|M(8$u8?}"> <field name="OID">Object ID</field> </shadow> <block type="variables_get" id=")TvN^4!0-x^gh|md`GD;"> <field name="VAR" id="qYV~7+z$kJxrAd1^~{Xz">LimitStatusObjekt</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="Mq37N$6;wqc*N-9U6TD8"> <field name="TEXT">Ok</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="A)u(E;W]v9r}zAdXf0NX"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="bba:UZz4kL,E_wPwG1Gx"> <field name="NAME">timeout</field> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="exec" id="jJa!HRPJ+*2zo}86?xe,"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="9;-TT-}BY,qROECr/9_6"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="uYF9)8*S*b]lVBesa,@."> <field name="VAR" id="dIjm#f2?FFp5rZ8.*y*]">cURLsetLimit</field> </block> </value> <statement name="STATEMENT"> <block type="debug" id="16c6x[N:=ziG_cW+F6R("> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="$T#tK3mN:AHkMD{1`drJ"> <field name="TEXT">test</field> </shadow> <block type="convert_json2object" id="K5S4w-vpAuBS$K#ERtTa"> <value name="VALUE"> <block type="exec_result" id="uGyI9Rx3h7IQDdZ}^%FN"> <field name="ATTR">result</field> </block> </value> </block> </value> </block> </statement> <next> <block type="update" id="cGf3(QxbQ*HzfORXpv0@"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="B+7`Le[lTOJ!JE@Dm|tV"> <field name="NUM">2</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> <value name="CASECONDITION1"> <block type="math_number" id="=Z00,W(i%aVs5E3Q/@wT"> <field name="NUM">2</field> </block> </value> <statement name="CASE1"> <block type="timeouts_cleartimeout" id="6Xt{E`vrFM%ZyMX_h)Uc"> <field name="NAME">timeout2</field> <next> <block type="timeouts_settimeout" id="NpxU/17PPns2F|8}@(Z6"> <field name="NAME">timeout2</field> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="exec" id="?GX_~r0CQoRfl(/w,d+v"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="9;-TT-}BY,qROECr/9_6"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="FD{Ta;YrV3K31Dn_QK$S"> <field name="VAR" id="9EDv~bW6oT6sCJ(D,1eq">cURLstateLimit</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="Lnz$7g0M5ez*%EZf_3N3"> <field name="VAR" id="qYV~7+z$kJxrAd1^~{Xz">LimitStatusObjekt</field> <value name="VALUE"> <block type="convert_json2object" id="59[qo(R/it!Aq?3?pXR#"> <value name="VALUE"> <block type="exec_result" id="?u:XdVwYJVGbr/23NSi2"> <field name="ATTR">result</field> </block> </value> </block> </value> <next> <block type="debug" id="1ei;!-3fXh|/G/;g59I?"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="Tm#1Sc!?@o*[5^fVuc9E"> <field name="TEXT">test</field> </shadow> <block type="convert_json2object" id="rqnzUoxRg#g+U?Tva]=`"> <value name="VALUE"> <block type="exec_result" id="%$%T4?r20x7l4amiEpI9"> <field name="ATTR">result</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="update" id="T7Xgbyqi.MSg9X@fUIdb"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="vU4KG8^k9fZa1auIBG3~"> <field name="NUM">3</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> <value name="CASECONDITION2"> <block type="math_number" id="DgrfN*L45FSUCK*Jzw)!"> <field name="NUM">3</field> </block> </value> <statement name="CASE2"> <block type="timeouts_cleartimeout" id="9kiE0kp)/0HM0Afql%*Z"> <field name="NAME">timeout3</field> <next> <block type="timeouts_settimeout" id="!7AFr+9ySeMuw%Yy2I{@"> <field name="NAME">timeout3</field> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_if" id="]iaSt|r#Tx{fd4z#,m$k"> <value name="IF0"> <block type="logic_compare" id="4=rcc${Vch%X/W=nDF01"> <field name="OP">EQ</field> <value name="A"> <block type="get_attr" id="F^YZ``-z{=V+/UWP0l2{"> <value name="PATH"> <shadow type="text" id="$?(@MG+6%N9V1i-UUYPm"> <field name="TEXT">attribute1</field> </shadow> <block type="text_join" id="[dpHK40N9mH)Z11rXi%B"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="pRR2G%J}#=0(}/)/[7VA"> <field name="VAR" id="]}B6H?%6!5i!RoH45.IM">inverter1:</field> </block> </value> <value name="ADD1"> <block type="text" id="Y)/{mIBZ}I)f1y,kfkbc"> <field name="TEXT">.limit_set_status</field> </block> </value> </block> </value> <value name="OBJECT"> <shadow type="get_object" id="d2Q3/Nn./At|M(8$u8?}"> <field name="OID">Object ID</field> </shadow> <block type="variables_get" id="VJXybZ:OHaZWV/G]QLcj"> <field name="VAR" id="qYV~7+z$kJxrAd1^~{Xz">LimitStatusObjekt</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="hd$x9(-,y|Y:pe{W6!k!"> <field name="TEXT">Ok</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="a#f:[zm1/S8f~JPK^*#r"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="BM:OwK6_*Nf-Q)i+1mGm"> <field name="TEXT">OK OK</field> </shadow> </value> <next> <block type="update" id="YQGQ](oXqf7:g#gC+tbp"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="c)1eX@lQ|D2g$J3Ow-v9"> <field name="NUM">0</field> </block> </value> <next> <block type="update" id="-.(dId,bM7zJkY]`p0]t"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.SetLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="L`~mb^zyX4LD{6QgpZph"> <field name="VAR" id="W8v*svw]j2ihd2,z}Tm=">setLimitProzentWert</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="9-v8F|28!9PvhzjljAIi"> <value name="IF0"> <block type="logic_compare" id="EOo(3g(93VG`b9XanCqu"> <field name="OP">EQ</field> <value name="A"> <block type="get_attr" id="C8x=;n%K}glz*Wlk(_}!"> <value name="PATH"> <shadow type="text" id="$?(@MG+6%N9V1i-UUYPm"> <field name="TEXT">attribute1</field> </shadow> <block type="text_join" id="_E)D4Y.#h6W5l!@eM2-p"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="QymSYCxq7+(LH`DEOD$@"> <field name="VAR" id="]}B6H?%6!5i!RoH45.IM">inverter1:</field> </block> </value> <value name="ADD1"> <block type="text" id="kI?qgT.P.pUF(YlYnC2D"> <field name="TEXT">.limit_set_status</field> </block> </value> </block> </value> <value name="OBJECT"> <shadow type="get_object" id="d2Q3/Nn./At|M(8$u8?}"> <field name="OID">Object ID</field> </shadow> <block type="variables_get" id="l.can+bpr0V1LSFpNlf0"> <field name="VAR" id="qYV~7+z$kJxrAd1^~{Xz">LimitStatusObjekt</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="Rs39ZwY?c`e)1aWyK(aG"> <field name="TEXT">Pending</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="70XRa;_O-CeL9+Lh8`*{"> <field name="Severity">info</field> <value name="TEXT"> <shadow type="text" id="8=CS2CUp}c)3h`)@,[;%"> <field name="TEXT">PENDING AUSSTEHEND .... in Bearbeitung</field> </shadow> </value> <next> <block type="update" id="dH,uk??i7QE^vzivKU]L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.openDTUoB.StepByStep_SetLimit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="{n6YJ^^pW-@X}vymz_6f"> <field name="NUM">2</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
  • Anfängerfrage Konvertierung Text zu Zahl

    13
    1
    0 Stimmen
    13 Beiträge
    711 Aufrufe
    M
    @paul53 DANKE! Hat funktioniert! Einfach Spitze Eure Hilfe hier!
  • Was stimmt hier nicht, skript geht auf einmal nicht mehr

    4
    1
    0 Stimmen
    4 Beiträge
    290 Aufrufe
    A
    @thomas-braun die Uhrzeit ist bei mir so mit den Ausrufezeichen, ich kann da nichts verändern. kommt aus dem Baustein so.
  • Fragen zu einem "Falls" mit Veroderung

    6
    1
    0 Stimmen
    6 Beiträge
    357 Aufrufe
    hg6806H
    @homoran Wie gerade wohl zeitgleich geschrieben sind die Werte negativ. Jetzt klappt es.
  • Listen: Aus Objekt erstellen oder auf Objekt arbeiten?

    7
    1
    0 Stimmen
    7 Beiträge
    432 Aufrufe
    paul53P
    @ckassiopaia sagte: oder ich hatte irgendeinen anderen Konten im Script.... In deinem gezeigten Skript hast du Text in Liste gewandelt. Es darf nicht gewandelt werden, wenn eine Liste eingelesen wird. @paul53 sagte in Listen: Aus Objekt erstellen oder auf Objekt arbeiten?: Wenn der DP vom Typ "array" ist, muss er ohne jegliche Wandlung eingelesen werden, denn die Wandlung von JSON in ein Array erledigt dann der Javascript-Adapter.
  • bei PV-Überschuss --> Steckdose schalten

    12
    0 Stimmen
    12 Beiträge
    799 Aufrufe
    MartinPM
    @homoran Nichtsdestotrotz ist es sicher besser, die überschüssige Energie vom Dach entweder in Warmwasser zu stecken, oder sich gleich einen Akku anzuschaffen ... Warmwasser wird auch in den Sommermonaten gebraucht... Die Hue Schaltsteckdosen haben auch 10 A - Relais (2300 Watt Schaltleistung) Die werden nicht lange halten, wenn sie andauernd einen 2000 Watt Radiator schalten sollen... Wenn der Ölradiator einen integrierten (... und auf Wunschtemperatur gestellten) Thermostaten hat, ist wenigstens gewährleistet dass ein zu schlichtes Blockly den Radiator nicht auch im August bei 35°C Raumtemperatur anwirft ... Benötige eine ganz einfache Schaltung. Wenn PV-Überschuss (gemessen über den Lesekopf von Tibber) da ist, soll eine Steckdose (angeschlossener Ölradiator) geschaltet werden.
  • PV MaximumWert über Blockly

    4
    0 Stimmen
    4 Beiträge
    365 Aufrufe
    HomoranH
    @tedesco1968 Sorry, da fehlt noch was! um 00:01 muss auch due Variable wieder auf 0 gesetzt werden setze kWmax auf 0
  • Logging Information auf NAS (Synology)

    1
    0 Stimmen
    1 Beiträge
    147 Aufrufe
    Niemand hat geantwortet

265

Online

32.7k

Benutzer

82.3k

Themen

1.3m

Beiträge