NEWS

Blockly-Anfänger braucht einen Tip


  • Hallo Spezialisten,

    ich habe ein 4-zeiliges LCD-Display an einen Wemos D1 mini mit ESP Easy gehängt und möchte nun ein paar Werte angezeigt bekommen. (neue Heizung)

    Das ganze funktioniert auch schon, habe aus einem Beispiel hier im Forum mir ein Blockly-Script zusammengestoppelt.

    Was ich nicht hinbekomme, ist, oben bei "Falls Objekt" eine weitere Bedingung (Ruecklauf) anzuklammern, wie kriege ich da einen weiteren "Anschluß" ran ?????

    Ich weis nicht so recht, wie ich das in der Forum-Suche formulieren muß, einige Youtube-Videos brachten auch keine Klarheit.

    Desweiteren wäre es ganz schön, wenn ich jeweils bei "erstelle Text aus" einen 3. "Anschluß" hätte, für °C.

    Sicher eine simple Sache, einige werden schmunzeln, aber ich kriegs nicht hin.

    schon mal Danke und schönes Wochenende

    Grüße Ingo
    1519_test.png

  • Developer Most Active Administrators

    Hi Ingo,

    Klikke Mal auf das Zahnrad neben falls object Dan kannst du einen weiteren hinzufügen dasselbe gilt für den Block erstelle Text aus.

    ~Dutch

    –-----------------------

    Send from mobile device


  • Danke Dutch, hab´s begriffen !

    Grüße Ingo


  • erstmal, es funktioniert.

    Jetzt kommt aber ein kleiner Schönheitsfehler zum Vorschein.

    Die Sensoren sind so eingestellt, das sie mit 1 Stelle nach dem Komma ausgeben, auf den Außensensor habe ich keine Zugriffsmöglichkeit, was einzustellen.

    Jetzt passiert es, das, wenn ein Sensor einen glatten Wert ausgibt (32,0), ioBroker da eine 32 draus macht und die ans Display weitergibt. Dann verschiebt sich

    das angehängte C. (Das ° kann das Display vermutlich nicht).

    Wo muß ich in ioBroker dran drehen, das immer mit einer Stelle hinter dem Komma ausgegeben wird ?

    Danke und Grüße

    Ingo

  • Forum Testing Most Active Global Moderator Administrators

    @Ingo:

    Wo muß ich in ioBroker dran drehen, das immer mit einer Stelle hinter dem Komma ausgegeben wird ? `

    Welches Widget benutzst du?
    144_nachkommastellen.jpg

    Gruß

    Rainer


  • Hallo Rainer,

    kein Widget, ich schiebe nur per http-Request einige Werte an ein 4-zeiliges Display mit einem ESP und ESP Easy.

    Bitte das Blockly-Script in meinem ersten Beitrag ansehen.

    Ich vermute, es gibt vielleicht so eine Einstellmöglichkeit unter Objekte, weil schon dort bei einer "glatten" Temperatur nur der 2-stellige Wert (ohne Komma und Nachkomma-Stelle)

    angezeigt wird.

    Meine Angst, aus Unwissenheit etwas zu vergeigen, hat mich von Experimenten abgehalten.

    Grüße Ingo


  • habe noch das aktualisierte Blockly-Script angehängt.

    Grüße Ingo
    1519_test2.png


  • Da sich noch keine Lösung gefunden hat, krame ich mein Thema noch mal vor.

    Vielleicht hab ich mich auch zu unverständlich ausgedrückt.

    Anbei mal ein paar Bilder zum Verständnis, was ich meine.

    Das letzte Bild ist das, was mir vorschwebt.

    Danke und Grüße

    Ingo
    1519_20171008_080155_k.jpg
    1519_20171008_080330_k.jpg
    1519_20171009_091636_k.jpg

  • Developer Most Active Administrators

    Wenn man es nicht den in den object lösen kann kann ich mir nur vorstellen per JavaScript zu ermitteln ob es eine Stelle Hintern Komma gibt und wenn nicht mit .0 zu ergänzen

    –-----------------------

    Send from mobile device


  • @Dutchman:

    Wenn man es nicht den in den object lösen kann kann ich mir nur vorstellen per JavaScript zu ermitteln ob es eine Stelle Hintern Komma gibt und wenn nicht mit .0 zu ergänzen `
    Na, sowas geht auch mit Blockly.
    147_beispiel.png

    Export:

    ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_callnoreturn" id="XMl`E!px#}O[@+UP-CFn" x="-162" y="113"><mutation name="TextAusZahl"><arg name="x"></arg></mutation> <value name="ARG0"><block type="math_number" id="f_/ywID{a2)0GY6WH+y2"><field name="NUM">10</field></block></value> <next><block type="procedures_callnoreturn" id="JCb0QsT1+BN3KavfT%mF"><mutation name="TextAusZahl"><arg name="x"></arg></mutation> <value name="ARG0"><block type="math_number" id="zOSd}4uP;X7c79W9S!h]"><field name="NUM">10.8</field></block></value> <next><block type="procedures_callnoreturn" id="%djywXB)NNB~BZtg+w{{"><mutation name="TextAusZahl"><arg name="x"></arg></mutation> <value name="ARG0"><block type="math_number" id="o;ac)aUK{T|~pJ:;dW~,"><field name="NUM">9.6</field></block></value> <next><block type="debug" id=".Hz^tA,mg|G~`rLD:eA="><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="j.b(FK`uep~(,=Ah-~?,"><field name="TEXT">ganze</field></shadow> <block type="variables_get" id="VlD;sLtvF:D.tE#2FMM{"><field name="VAR">MeinText</field></block></value></block></next></block></next></block></next></block> <block type="procedures_defnoreturn" id="^OHcEWXUe@@OD@g0[!W+" x="87" y="138"><mutation><arg name="x"></arg></mutation> <field name="NAME">TextAusZahl</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="comment" id="m9#Cs~%+{wvG1UH{hwYd"><field name="COMMENT">Prüfen ob ganze Zahl</field> <next><block type="controls_if" id="H7Tq_B^Ke:#D/H}3s(Uq"><mutation else="1"></mutation> <value name="IF0"><block type="math_number_property" id="2pvZbT%O.]1hencA4Ca~"><mutation divisor_input="false"></mutation> <field name="PROPERTY">WHOLE</field> <value name="NUMBER_TO_CHECK"><shadow type="math_number" id="MHSugGR@?)e?bS83O){L"><field name="NUM">0</field></shadow> <block type="variables_get" id="`hFBjpR_#`TuumN;8@R9"><field name="VAR">x</field></block></value></block></value> <statement name="DO0"><block type="variables_set" id="7B9}]Q@w7_pv!XaF|q]p"><field name="VAR">MeinText</field> <value name="VALUE"><block type="text_join" id="@=d2byBLJqTfya_eRhxc"><mutation items="2"></mutation> <value name="ADD0"><block type="variables_get" id="n;|FpF3l6[gAM(#Owg`^"><field name="VAR">x</field></block></value> <value name="ADD1"><block type="text" id="eG{A*O%Hx}|ZScYaW%qV"><field name="TEXT">.0</field></block></value></block></value></block></statement> <statement name="ELSE"><block type="variables_set" id="k+3};a5!kFNu!,d^Tpax"><field name="VAR">MeinText</field> <value name="VALUE"><block type="text_join" id="B({Ej{4s[(t,3x[/CTPj"><mutation items="1"></mutation> <value name="ADD0"><block type="variables_get" id="c9CG9C0J6OMrh=Rv-}RK"><field name="VAR">x</field></block></value></block></value></block></statement> <next><block type="comment" id="BL|jtx8OhF#x@{w55o52"><field name="COMMENT">Falls nur 1 Stelle vor dem Komma</field> <next><block type="controls_if" id="LJyH(Twc.Y1Kc;rqEHWd"><value name="IF0"><block type="logic_compare" id="]Vx4EJ{#ax-_d-p2,5,x"><field name="OP">LT</field> <value name="A"><block type="text_length" id="3hC/WDn)u|;Z(Xn-mV2Z"><value name="VALUE"><shadow type="text" id="eUmnx^+p]4q8Aq)v0l^H"><field name="TEXT">abc</field></shadow> <block type="variables_get" id="02+4bFRx5bvUZ|-lx51J"><field name="VAR">MeinText</field></block></value></block></value> <value name="B"><block type="math_number" id="i_%1R0DdjFPz}MkC?=!|"><field name="NUM">4</field></block></value></block></value> <statement name="DO0"><block type="variables_set" id="jKq_#08Rs78yguuxXpqn"><field name="VAR">MeinText</field> <value name="VALUE"><block type="text_join" id="B2MWj6,b9)zZz=S8rG,e"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="v@=?%_DY1O%LK+*9e*aN"><field name="TEXT">0</field></block></value> <value name="ADD1"><block type="variables_get" id="[pC0*V}rKAE3~E!juN7U"><field name="VAR">MeinText</field></block></value></block></value></block></statement></block></next></block></next></block></next></block></statement></block></xml> !

    Grüße


  • Danke,

    damit kann ich vermutlich was anfangen !

    Wird heute noch ausprobiert.

    Grüße Ingo


  • Hallo zusammen,

    es sah so einfach aus…..

    Ich glaube, mir fehlen da noch div. Grundlagen.

    z.B. wo kriegst du den Block "Text aus Zahl" (links im Bild) her ? Muß ich mir den erst selbst zusammensetzen ?

    Ich werde mich erst noch mal in die Blockly-Doku reinlesen und mir ein paar Videos anschauen.

    Trotzdem natürlich Danke für die Hilfe.

    Grüße Ingo


  • @Ingo:

    z.B. wo kriegst du den Block "Text aus Zahl" (links im Bild) her ? Muß ich mir den erst selbst zusammensetzen ? `
    Das ist ein Baustein aus "Funktionen" den habe ich so benannt.

    So eine Funktion kannst Du aus mehren Stellen aus dem Blockly aufrufen.

    Spart arbeit wenn man häufiger bestimmte Aktionen benötigt.

    Grüße


  • ist das so zu verstehen, das Blockly das Script aufruft, um die Ausgabe zu korrigieren ?

    Habe dein Script eingefügt und abgespeichert. Muß ich das Script unter "TextAusZahl" abspeichern ???

    Beim starten des Scripts kommt eine Fehlermeldung und die beiden obersten Zeilen haben ein rotes X.

    Anbei Bilder.

    Danke und Grüße

    Ingo
    1519_2017-11-07.png
    1519_2017-11-07__1_.png


  • Hallo Ingo

    Das ist ein "Blockly" das kannst Du nicht in ein JavaScript importieren.

    Neues Script erstellen Typ Blockly!!!!

    Dann den Button oben links neben "Blöcke prüfen" klicken und in dem Eingabefenster meinen Export kopieren.

    Wenn das geklappt hat, wird Dir einiges klarer 😉

    Grüße


  • aahhhh…..

    das hat jetzt geklappt, dann werden wir mal sehen.

    Danke und Grüße

    Ingo

Suggested Topics

1.8k
Online

38.3k
Users

43.7k
Topics

611.0k
Posts