NEWS
[gelöst] hex oder dezimal in binär wandeln und Text ausgeben
-
@aiouh
Wert darf nicht eine selbst erstellte Variable sein, sondern ist aus den Trigger-Blöcken zu nehmen! -
@aiouh Das ist kein XML-Export, dafür gibt es einen Button oben rechts. Dein Wert ist aber eine von dir angelegte Variable, nicht der Wert des Triggers. lösche diese und nimm aus dem Trigger Block ObjectID und wähle dann Wert aus. Ausserdem setze isHex auf falsch wenn es ein Dezimalwert ist!
-
@aiouh sagte in [gelöst] hex oder dezimal in binär wandeln und Text ausgeben:
@fastfoot Den Wert habe ich als Binärzahl oder auch Dezimal zur Verfügung.
Diese Werte passen nicht zueinander!
000000000011010100010010011100 = 000D449C = 869532
000010000110000000000000000000 = 02180000 = 35127296
110101000100100111001010010110 = 35127296 = 890401430 -
@fastfoot @paul53 Vielen Dank fü Eure Hilfe und vor Allem die Geduld...
wieder viel gelernt, wobei ich über den Wert des Triggers vs. Variable schon mal gestolpert bin...
Ich denke dass die Auswertung jetzt funktioniert, wobei ich noch klären muss weshalb die Werte nicht zueinander passen. Darauf dass sie falsch sind wäre ich nicht gekommen, da ich die einfach ungeprüft übernommen habe, aber das bekomme ich geklärt.
Anbei der aktuelle Stand, wobei ich noch zuerst jeden Datenpunkt mit "-" überschreiben werde, um den Text zu leeren.
Das ginge alles sicher eleganter wenn man z.B. die Texte mit scripting in eine Tabelle bringen würde, aber das krieg ich nicht hin und für mich ist das erst mal OK so.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="~4XVmfvrQ+ySl(:9JVJc">Wert</variable> <variable id="VP$OhC~T$WcZDn*b$rrv">BitNr</variable> <variable id="b|iK5R#T_Tzw8N{JxO}a">isHex</variable> <variable id="rDm0aw]TmX|[Mq?uwvnQ">i</variable> </variables> <block type="procedures_defcustomreturn" id="}#eBZ=xEhFudaC67I!p$" x="-988" y="-738"> <mutation statements="false"> <arg name="Wert" varid="~4XVmfvrQ+ySl(:9JVJc"></arg> <arg name="BitNr" varid="VP$OhC~T$WcZDn*b$rrv"></arg> <arg name="isHex" varid="b|iK5R#T_Tzw8N{JxO}a"></arg> </mutation> <field name="NAME">checkBit</field> <field name="SCRIPT">aWYoaXNIZXgpIFdlcnQgPSBwYXJzZUludChXZXJ0LDE2KTsNCg0KcmV0dXJuIFdlcnQgJiBNYXRoLnBvdygyLEJpdE5yKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="Em)nR02qtY%1;/]3NZ{B" x="-987" y="-687"> <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="kIUref~pO,#_@G|?V;7e"> <field name="oid">mqtt.1.solaranzeige.box1.diag_status</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="K@8/C*j@rBw%nNX`SqAM"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="`q;vc#/}agPQ$_!},4c6"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="Yj?/;NJ!+sJvm?XTR,CN"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="oro7hz3e8v:6I6p(/Q8+"> <field name="TEXT">Trigger_dec :</field> </block> </value> <value name="ADD1"> <block type="on_source" id="|=LQU]JKDU6-sn6eHsVx"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="debug" id="?e4=I;C}?Gld)})HKTyK"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="x$va_ZM}TE:=cQj7$RYM"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="h]v]We50cI`4lh,sV2*x"> <field name="TEXT">Value_bin :</field> </block> </value> <value name="ADD1"> <block type="get_value" id="*,UZRwz4`e[i!~b?^Z`n"> <field name="ATTR">val</field> <field name="OID">mqtt.1.solaranzeige.box1.diag_binary</field> </block> </value> </block> </value> <next> <block type="controls_for" id="$0gxy_`l_(rqS]{JgLmn"> <field name="VAR" id="rDm0aw]TmX|[Mq?uwvnQ">i</field> <value name="FROM"> <shadow type="math_number" id=":[KDu9]L0OPo{e@cPNf)"> <field name="NUM">0</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="#VTiStLRY%eVOueyoM,P"> <field name="NUM">31</field> </shadow> </value> <value name="BY"> <shadow type="math_number" id="?dw[-0|8JL+ntq!:*$kO"> <field name="NUM">1</field> </shadow> </value> <statement name="DO"> <block type="controls_if" id="W1OpnNrm$:WbJ4zClz2u"> <value name="IF0"> <block type="procedures_callcustomreturn" id="+f}L7Uq#jDNV$-WlVVjC"> <mutation name="checkBit"> <arg name="Wert"></arg> <arg name="BitNr"></arg> <arg name="isHex"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="w$_i?nI2?Fnn`LKd,T@6"> <field name="ATTR">state.val</field> </block> </value> <value name="ARG1"> <block type="variables_get" id="=AG[UwGJ{%6i?j~c}HH|"> <field name="VAR" id="rDm0aw]TmX|[Mq?uwvnQ">i</field> </block> </value> <value name="ARG2"> <block type="logic_boolean" id="o?R3:3y:AF#1V~g|2w[["> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="ykbn;-xn2?DeByaAR9bG"> <value name="IF0"> <block type="logic_compare" id="Ji,?;//44]gbFJU:Bct$"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="uV/TiL@SoK!5AC.Q.0(o"> <field name="VAR" id="rDm0aw]TmX|[Mq?uwvnQ">i</field> </block> </value> <value name="B"> <block type="math_number" id="!A-H/zrP*3kkP_XJQ4?,"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="F-3)v,|5e/mI,06lKU3p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.solaranzeige.diag_bit0</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="4O^,U5*LdLnbs_9HS0uj"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="XY3E@5nMe,{#-70VN/KN"> <field name="TEXT">Battery doesn’t discharge because of low voltage</field> </block> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id=":|!]}BD!Ble|N45x!qG*"> <value name="IF0"> <block type="logic_compare" id="x/{9$1)i*gS9#y6U$Vi:"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id=",IHBX($2QvS^m4xhlR?X"> <field name="VAR" id="rDm0aw]TmX|[Mq?uwvnQ">i</field> </block> </value> <value name="B"> <block type="math_number" id="lD%FABfVV_?//iW_7,Fx"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="%x9N0Btr3-yz4~}|7oJS"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.solaranzeige.diag_bit1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="x?YJ9jPKj2D~C0%VtS|n"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="xYya!U+$y?_Fhz6[b1|R"> <field name="TEXT">Battery doesn’t discharge because of low SOC</field> </block> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="K~uM6mkp(?9$h+4hTX*T"> <value name="IF0"> <block type="logic_compare" id=",`/WGs+l_l$l9}mgNlZJ"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="1EONq-$52fmX0WzsjYC#"> <field name="VAR" id="rDm0aw]TmX|[Mq?uwvnQ">i</field> </block> </value> <value name="B"> <block type="math_number" id="qtF#Tm(TexJed)B%$e*n"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="s+s:!k(f)h*)PSp^4ffk"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Eigene_Datenpunkte.solaranzeige.diag_bit2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="4127)$OZP*|bB(Z{!}Z^"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="BDiac@u.8WJnvOmgfL9d"> <field name="TEXT">Battery SOC doesn’t recover to dischargeable level</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
@aiouh sagte: wobei ich noch zuerst jeden Datenpunkt mit "-" überschreiben werde, um den Text zu leeren.
Das geht besser.
Du hast hoffentlich schon alle 32 Datenpunkte erstellt?
-
@paul53 said in [gelöst] hex oder dezimal in binär wandeln und Text ausgeben:
Das geht besser.
Das dachte ich schonaber da ich ja noch mit den Grundlagen kämpe bin ich froh über alles was "irgendwie" funktioniert.
Du hast hoffentlich schon alle 32 Datenpunkte erstellt?
Ja da habe ich.Ich werde Dein Skript gerne kopieren und auch versuchen es zu verstehen. Danke
-
@aiouh sagte: Ja da habe ich.
Dann ergänze auch die Liste um die 29 noch fehlenden Texte.
-
@paul53 said in [gelöst] hex oder dezimal in binär wandeln und Text ausgeben:
@aiouh sagte: Ja da habe ich.
Dann ergänze auch die Liste um die 29 noch fehlenden Texte.
Ja, die kopiere ich dann einfach rüber -
@paul53 läuft perfekt
Nun hab ich zwei Wege ans Ziel und dadurch schon Ideen was man damit machen kann ! -
Re: [gelöst] hex oder dezimal in binär wandeln und Text ausgeben
Hallo zusammen,
Ich stehe vor einem Problem evtl. Kann mir jemand helfen?
Ich habe ein Register der frägt Bit 7-9 ab in diesen Bits gibt es verschiedene Konstellation.z.B.
7=1
8=0
9=0
Oder
7=0
8=1
9=1Usw.
Wie kann ich das angehen das ich zu jeder Konstellation einen Wert in die Objekte geschrieben bekomme?Über jeden Tipp wäre ich dankbar