NEWS
[gelöst] Blockly zwei Nachkommastellen hochzählen
-
Ich dachte es ist einfach aber irgendwie klappt es nicht.
ich möchte eine Zahl mit 2 Nachkommastellen bei jedem Trigger um 0.01 erhöhen. Ich bekomme aber krumme Werte wie 5178.430000000006 raus. Wie kann ich das besser lösen?
4971_2018-10-22_2158.png -
Ich habe es so gelöst und funktioniert auch gut. Einfach das Blockly Script importieren, dann hast du alles was du brauchst. Dann die Datenpunkte entsprechend anpassen.
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on" id="FLfW;pWblQWz(Q[b#+X" x="-362" y="13"><field name="OID">mqtt.0.ESP_Easy.Gaszähler.Total</field>
! <field name="CONDITION">ne</field>
! <statement name="STATEMENT"><block type="update" id=";U_YCxKC8`kW/x:Pf2^f"><mutation delay_input="false"></mutation>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_arithmetic" id="/4z_8{jyU.mcUHD4a"><field name="OP">DIVIDE</field>
! <value name="A"><shadow type="math_number" id="_=F{;Hj`K5PXnG/@8?Kk"><field name="NUM">1</field></shadow>
! <block type="math_round" id="/F|ys`NU_tU9SX.i;;75"><field name="OP">ROUND</field>
! <value name="NUM"><shadow type="math_number" id="*0+clnLO~49o1Sk8(})Q"><field name="NUM">3.1</field></shadow>
! <block type="math_arithmetic" id="GBaV#d-^I/FL8A}qyAxm"><field name="OP">ADD</field>
! <value name="A"><shadow type="math_number" id="_ip@-v!b.Z{aIe/[;q4"><field name="NUM">1</field></shadow>
! <block type="math_arithmetic" id="D!S~7^yemymGKv|qr,M"><field name="OP">MULTIPLY</field>
! <value name="A"><shadow type="math_number" id="!%,K=_VNlA{uJx8JOhoT"><field name="NUM">1</field></shadow>
! <block type="get_value" id="Xs9D=~/ldXt):|=!Y?@s"><field name="ATTR">val</field>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field></block></value>
! <value name="B"><shadow type="math_number" id="KuIG{1oQ19dg/x(RG7D"><field name="NUM">100</field></shadow></value></block></value>
! <value name="B"><shadow type="math_number" id="B~XKQ.av?6IL(]uaS]@+"><field name="NUM">1</field></shadow></value></block></value></block></value>
! <value name="B"><shadow type="math_number" id="6,+@/5OvU7u7isTD@x("><field name="NUM">0.01</field></shadow>
! <block type="math_number" id="gaLsE_p2yz7)PLGI;b2Q"><field name="NUM">100</field></block></value></block></value></block></statement></block></xml> -
Über dieses Problem ist wohl jeder schon mal gestolpert der Rechenoperationen unter Javascript durchführen will.
http://www.dcljs.de/faq/antwort.php?Ant … en_rechnen
Gruß
Matze
-
Ich habe es so gelöst und funktioniert auch gut. Einfach das Blockly Script importieren, dann hast du alles was du brauchst. Dann die Datenpunkte entsprechend anpassen.
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on" id="FLfW;pWblQWz(Q[b#+X" x="-362" y="13"><field name="OID">mqtt.0.ESP_Easy.Gaszähler.Total</field>
! <field name="CONDITION">ne</field>
! <statement name="STATEMENT"><block type="update" id=";U_YCxKC8`kW/x:Pf2^f"><mutation delay_input="false"></mutation>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_arithmetic" id="/4z_8{jyU.mcUHD4a"><field name="OP">DIVIDE</field>
! <value name="A"><shadow type="math_number" id="_=F{;Hj`K5PXnG/@8?Kk"><field name="NUM">1</field></shadow>
! <block type="math_round" id="/F|ys`NU_tU9SX.i;;75"><field name="OP">ROUND</field>
! <value name="NUM"><shadow type="math_number" id="*0+clnLO~49o1Sk8(})Q"><field name="NUM">3.1</field></shadow>
! <block type="math_arithmetic" id="GBaV#d-^I/FL8A}qyAxm"><field name="OP">ADD</field>
! <value name="A"><shadow type="math_number" id="_ip@-v!b.Z{aIe/[;q4"><field name="NUM">1</field></shadow>
! <block type="math_arithmetic" id="D!S~7^yemymGKv|qr,M"><field name="OP">MULTIPLY</field>
! <value name="A"><shadow type="math_number" id="!%,K=_VNlA{uJx8JOhoT"><field name="NUM">1</field></shadow>
! <block type="get_value" id="Xs9D=~/ldXt):|=!Y?@s"><field name="ATTR">val</field>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field></block></value>
! <value name="B"><shadow type="math_number" id="KuIG{1oQ19dg/x(RG7D"><field name="NUM">100</field></shadow></value></block></value>
! <value name="B"><shadow type="math_number" id="B~XKQ.av?6IL(]uaS]@+"><field name="NUM">1</field></shadow></value></block></value></block></value>
! <value name="B"><shadow type="math_number" id="6,+@/5OvU7u7isTD@x("><field name="NUM">0.01</field></shadow>
! <block type="math_number" id="gaLsE_p2yz7)PLGI;b2Q"><field name="NUM">100</field></block></value></block></value></block></statement></block></xml>@watcherkb said in [gelöst] Blockly zwei Nachkommastellen hochzählen:
Ich habe es so gelöst und funktioniert auch gut. Einfach das Blockly Script importieren, dann hast du alles was du brauchst. Dann die Datenpunkte entsprechend anpassen.
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on" id="FLfW;pWblQWz(Q[b#+X" x="-362" y="13"><field name="OID">mqtt.0.ESP_Easy.Gaszähler.Total</field>
! <field name="CONDITION">ne</field>
! <statement name="STATEMENT"><block type="update" id=";U_YCxKC8`kW/x:Pf2^f"><mutation delay_input="false"></mutation>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_arithmetic" id="/4z_8{jyU.mcUHD4a"><field name="OP">DIVIDE</field>
! <value name="A"><shadow type="math_number" id="_=F{;Hj`K5PXnG/@8?Kk"><field name="NUM">1</field></shadow>
! <block type="math_round" id="/F|ys`NU_tU9SX.i;;75"><field name="OP">ROUND</field>
! <value name="NUM"><shadow type="math_number" id="*0+clnLO~49o1Sk8(})Q"><field name="NUM">3.1</field></shadow>
! <block type="math_arithmetic" id="GBaV#d-^I/FL8A}qyAxm"><field name="OP">ADD</field>
! <value name="A"><shadow type="math_number" id="_ip@-v!b.Z{aIe/[;q4"><field name="NUM">1</field></shadow>
! <block type="math_arithmetic" id="D!S~7^yemymGKv|qr,M"><field name="OP">MULTIPLY</field>
! <value name="A"><shadow type="math_number" id="!%,K=_VNlA{uJx8JOhoT"><field name="NUM">1</field></shadow>
! <block type="get_value" id="Xs9D=~/ldXt):|=!Y?@s"><field name="ATTR">val</field>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field></block></value>
! <value name="B"><shadow type="math_number" id="KuIG{1oQ19dg/x(RG7D"><field name="NUM">100</field></shadow></value></block></value>
! <value name="B"><shadow type="math_number" id="B~XKQ.av?6IL(]uaS]@+"><field name="NUM">1</field></shadow></value></block></value></block></value>
! <value name="B"><shadow type="math_number" id="6,+@/5OvU7u7isTD@x("><field name="NUM">0.01</field></shadow>
! <block type="math_number" id="gaLsE_p2yz7)PLGI;b2Q"><field name="NUM">100</field></block></value></block></value></block></statement></block></xml>Habe versucht deinen Code zu importieren, aber hat nicht geklappt. Kommt nur ein schwarzer Baustein. Kannst du noch mal den Code gier rein stellen oder auch ein Bild machen?
-
@watcherkb said in [gelöst] Blockly zwei Nachkommastellen hochzählen:
Ich habe es so gelöst und funktioniert auch gut. Einfach das Blockly Script importieren, dann hast du alles was du brauchst. Dann die Datenpunkte entsprechend anpassen.
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="on" id="FLfW;pWblQWz(Q[b#+X" x="-362" y="13"><field name="OID">mqtt.0.ESP_Easy.Gaszähler.Total</field>
! <field name="CONDITION">ne</field>
! <statement name="STATEMENT"><block type="update" id=";U_YCxKC8`kW/x:Pf2^f"><mutation delay_input="false"></mutation>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="math_arithmetic" id="/4z_8{jyU.mcUHD4a"><field name="OP">DIVIDE</field>
! <value name="A"><shadow type="math_number" id="_=F{;Hj`K5PXnG/@8?Kk"><field name="NUM">1</field></shadow>
! <block type="math_round" id="/F|ys`NU_tU9SX.i;;75"><field name="OP">ROUND</field>
! <value name="NUM"><shadow type="math_number" id="*0+clnLO~49o1Sk8(})Q"><field name="NUM">3.1</field></shadow>
! <block type="math_arithmetic" id="GBaV#d-^I/FL8A}qyAxm"><field name="OP">ADD</field>
! <value name="A"><shadow type="math_number" id="_ip@-v!b.Z{aIe/[;q4"><field name="NUM">1</field></shadow>
! <block type="math_arithmetic" id="D!S~7^yemymGKv|qr,M"><field name="OP">MULTIPLY</field>
! <value name="A"><shadow type="math_number" id="!%,K=_VNlA{uJx8JOhoT"><field name="NUM">1</field></shadow>
! <block type="get_value" id="Xs9D=~/ldXt):|=!Y?@s"><field name="ATTR">val</field>
! <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field></block></value>
! <value name="B"><shadow type="math_number" id="KuIG{1oQ19dg/x(RG7D"><field name="NUM">100</field></shadow></value></block></value>
! <value name="B"><shadow type="math_number" id="B~XKQ.av?6IL(]uaS]@+"><field name="NUM">1</field></shadow></value></block></value></block></value>
! <value name="B"><shadow type="math_number" id="6,+@/5OvU7u7isTD@x("><field name="NUM">0.01</field></shadow>
! <block type="math_number" id="gaLsE_p2yz7)PLGI;b2Q"><field name="NUM">100</field></block></value></block></value></block></statement></block></xml>Habe versucht deinen Code zu importieren, aber hat nicht geklappt. Kommt nur ein schwarzer Baustein. Kannst du noch mal den Code gier rein stellen oder auch ein Bild machen?
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="FLfW;pWblQWz(Q[*b#+X" x="-362" y="13"> <field name="OID">mqtt.0.ESP_Easy.Gaszähler.Total</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="update" id=";U_YCxKC8`kW/x:Pf2^f"> <mutation delay_input="false"></mutation> <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="/*4z_8{j*yU.mc*UHD4a"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="_=F{;Hj`K5PXnG/@8?Kk"> <field name="NUM">1</field> </shadow> <block type="math_round" id="/F|ys`NU_tU9SX.i;;75"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="*0+clnLO~49o1Sk8(})Q"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="GBaV#d-^I/FL8A}qyAxm"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="_ip@-*v!b.Z{aIe/[;q4"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="D!S~7^*yemymGKv|qr,M"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="!%,K=_VNlA{uJx8JOhoT"> <field name="NUM">1</field> </shadow> <block type="get_value" id="Xs9D=~/ldXt):|=!Y?@s"> <field name="ATTR">val</field> <field name="OID">admin.0.Datenpunkte.Energie.Gaszähler.aktuell</field> </block> </value> <value name="B"> <shadow type="math_number" id="KuIG{1oQ19d*g/x(RG7D"> <field name="NUM">100</field> </shadow> </value> </block> </value> <value name="B"> <shadow type="math_number" id="B~XKQ.av?6IL(]uaS]@+"> <field name="NUM">1</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="6,+@/5O*vU7u7isTD@x("> <field name="NUM">0.01</field> </shadow> <block type="math_number" id="gaLsE_p2yz7)PLGI;b2Q"> <field name="NUM">100</field> </block> </value> </block> </value> </block> </statement> </block> </xml>
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden