NEWS
JS-Funktion mit Ergebnis - Hexadezimal zu Dezimal
-
@paul53 Danke für deine super schnelle Rückmeldung!
Der Fehler bleibt leider bestehen.
homee connection error: "value must be a number"
-
@andre3000 sagte: Der Fehler bleibt leider bestehen.
Ersetze außerdem die Variable
hex
durch denWert
des Trigger-Datenpunktes. -
@paul53 Danke nochmal!
Weiterhin der selbe Fehler.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="@wly!s9.=$P|eqoW(37w">hex</variable> </variables> <block type="procedures_defcustomreturn" id="E+7ql{WXKc5p$fl8Y~5m" x="-338" y="-862"> <mutation statements="false"> <arg name="hex" varid="@wly!s9.=$P|eqoW(37w"></arg> </mutation> <field name="NAME">hex2dec</field> <field name="SCRIPT">cmV0dXJuIHBhcnNlSW50KGhleCwgMTYpOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="DJak+8K8`e`}DGm`i,y3" x="-325" y="-827"> <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="K!47v4.fLS*+lYC=27C5"> <field name="oid">0_userdata.0.Input_HEX</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="smq1BY-E%^xo]/BG_*w)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">homee.0.DimmableRGBWLight-81.Color-615</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="N;r^{^6UA!u^z9Z)yx:B"> <mutation name="hex2dec"> <arg name="hex"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="PVFc5Tw;otlg~9ix;ilc"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </statement> </block> </xml>
@apollon77 Eventuell möchtest du mal einen Blick drauf werfen, da das ursprüngliche "Problem" darin liegt, dass der Homee Adapter den Farbwert Dezimal in Objekte schreibt, aber die meisten Color Picker eher mit HEX Werten rechnen. Ich habe dazu auf github ein Issue gefunden, dass bereits vor vielen Jahren geclosed wurde. Hat sich der selbe "Fehler" wieder eingeschlichen oder ist das mittlerweile gewollt, dass die Werte in Dezimal geliefert werden?
Beste Grüße
André -
@andre3000 sagte: Weiterhin der selbe Fehler.
Das Blockly passt. Wie sieht der Wert in "0_userdata.0.Input_HEX" aus?
-
@paul53 Es wird sicher nur ne Kleinigkeit sein. Ist mein erstes blockly an dem ich mich versuche.
{ "common": { "name": "Input_HEX", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "0_userdata.0.Input_HEX", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1670937135908 }
-
@andre3000 ALso das sollte im Adapter drin sein. Dann bitteneues Issue anlegen, vollstädiges Debug log dran packen und sagen woes genau falsch ist. muss ich schauen
-
@andre3000
Ich meine nicht das Objekt, sondern den Wert. -
@paul53 ein Hexadezimaler Farbwert z.B. "#0800ff"
So wird es jetzt auch im Log angezeigt14:17:43.685 info javascript.0 (11911) script.js.common.hextodec: #5d54ff
-
-
@paul53 Wir kommen der Sache näher!
javascript.0 (11911) script.js.common.hextodec: ff4124
Umrechung in Dezimal Funktioniert auch!
javascript.0 (11911) script.js.common.hextodec: 1852159
Allerdings weiterhin:
2022-12-13 14:28:39.069 error homee connection error: "value must be a number"
-
@andre3000 sagte: Allerdings weiterhin:
?? Das gezeigte Blockly muss funktionieren, denn es wird eine Zahl geschrieben.
-
@paul53 Die Umrechnung funktioniert jetzt auch wunderbar! Vielen Dank erstmal dafür
14:38:50.564 info javascript.0 (11911) script.js.common.hextodec: 19ff0d 14:38:50.565 info javascript.0 (11911) script.js.common.hextodec: 1703693
Jetzt muss dieser Wert nur noch irgendwie in mein RGB Objekt geschrieben werden.
-
@andre3000 sagte: Jetzt muss dieser Wert nur noch irgendwie in mein RGB Objekt geschrieben werden.
Zeige mal das aktuelle Blockly.
-
-
@andre3000 Wert mit der Variablen HEX ersetzen:
-
@djmarc75 Das war die Lösung! Jetzt läuft es. Ich danke euch allen für die Mühen und den super schnellen Support.