NEWS
HEX in RGB Umwandeln?
-
und die InNode - auch nochmal checken
Du hast was geschrieben dass Du die nochmal korrigiert hast -
@mickym Ja aber ich hab ja nochmal den Flow neu gemacht und da hatte ich doch nicht deine andere InNode - also nochmal anpassen bitte.
-
@denjo Na und hast Du in dem Datenpunkt einen neuen Wert eingegeben?
Und wie gesagt nochmals die Pfade zu dem Datenpunkt prüfen ggf. den Pfad über die Zwischenablage in den Topic reinkopieren.So sieht man dass gar nichts ankommt. In dem In Node muss der Wert aus dem Datenpunkt auftauchen
Hier hst Du vor einer Std. geschrieben, dass du nochwas angepasst hast - aber leider nicht was.
-
@denjo Na und hast Du in dem Datenpunkt einen neuen Wert eingegeben?
Und wie gesagt nochmals die Pfade zu dem Datenpunkt prüfen ggf. den Pfad über die Zwischenablage in den Topic reinkopieren.So sieht man dass gar nichts ankommt. In dem In Node muss der Wert aus dem Datenpunkt auftauchen
Hier hst Du vor einer Std. geschrieben, dass du nochwas angepasst hast - aber leider nicht was.
-
@denjo Dann poste doch nochmal einen Screenshot - dann glaub ich es auch. ;)
War ja holprig - aber Du siehst eigentlich nicht kompliziert. ;) -
@denjo sagte in HEX in RGB Umwandeln?:
hyperion_ng.0.general.control.setColorRGB
So das ist es dann:

[ { "id": "c9bd97db.0bd1c8", "type": "function", "z": "6e170384.60c96c", "name": "HEX zu RGB", "func": "msg.payload=hex_to_RGB(msg.payload)\n\n\nreturn msg;\n\nfunction hex_to_RGB(hex) {\n var m = hex.match(/^#?([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})$/i);\n return {\n r: parseInt(m[1], 16),\n g: parseInt(m[2], 16),\n b: parseInt(m[3], 16)\n };\n}", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "x": 1410, "y": 3180, "wires": [ [ "62344cad.180284" ] ] }, { "id": "28743d11.362b72", "type": "ioBroker in", "z": "6e170384.60c96c", "name": "", "topic": "javascript.0.hyperionng", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "false", "x": 1140, "y": 3180, "wires": [ [ "c9bd97db.0bd1c8" ] ] }, { "id": "32bd27af.6eff68", "type": "ioBroker out", "z": "6e170384.60c96c", "name": "", "topic": "hyperion_ng.0.general.control.setColorRGB", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 1870, "y": 3180, "wires": [] }, { "id": "62344cad.180284", "type": "json", "z": "6e170384.60c96c", "name": "", "property": "payload", "action": "", "pretty": false, "x": 1590, "y": 3180, "wires": [ [ "32bd27af.6eff68" ] ] } ]Zum Importieren:
- Den Code hier in die Zwischenablage kopieren.
- In Node Red - das Menü mit den 3 Strichen rechts oben öffne und auf Import klicken.
- Inhalt der Zwischenablage in das rosa Fenster
- Auf Import klicken und den Flow plazieren.
- dann auf den roten Deploy Button klicken und das wars.
Test einfach - in dem Du dann in javascript.0.hyperionng den hex-String einträgst und schaust was dann in dem Ausgabepunkt ankommt.
Habs gerade mit eigenen Datenpunkten getestet. Das schaut in meinen Augen gut aus. ;)

-
@mickym hey, wie würde das ganze den anders rum aussehen von RBG zu HEX hab zwar bei nodered nen Converter gefunden aber der gibt keinen wert raus. Scheinbar bin ich einfach noch zu unerfahren in nodered.
@bacado sagte in HEX in RGB Umwandeln?:
@mickym hey, wie würde das ganze den anders rum aussehen von RBG zu HEX hab zwar bei nodered nen Converter gefunden aber der gibt keinen wert raus. Scheinbar bin ich einfach noch zu unerfahren in nodered.
Schau mal - da hab ich mal was gebastelt. ;)
Sorry wollte den Thread posten: https://forum.iobroker.net/topic/43271/konvertierung-byte-nach-dezimal-und-umgekehrt
Wenn Du den unteren Flow importierst bekommst eine neue Nodes als Subflow:

dem kannst entweder ein RGB Objekt oder Array übergeben oder auch einen mit Kommas separierten String der RGB Werte nutzen.
Basis des Flows ist der .toString(16) Kommando im JS: https://stackoverflow.com/questions/39651531/why-does-tostring16-convert-rgb-decimal-or-other-inputs-into-a-hexidecimal
So was kann man natürlich auch im Blockly implementieren, aber dafür bin ich kein Fan.
-
@bacado sagte in HEX in RGB Umwandeln?:
@mickym hey, wie würde das ganze den anders rum aussehen von RBG zu HEX hab zwar bei nodered nen Converter gefunden aber der gibt keinen wert raus. Scheinbar bin ich einfach noch zu unerfahren in nodered.
Schau mal - da hab ich mal was gebastelt. ;)
Sorry wollte den Thread posten: https://forum.iobroker.net/topic/43271/konvertierung-byte-nach-dezimal-und-umgekehrt
Wenn Du den unteren Flow importierst bekommst eine neue Nodes als Subflow:

dem kannst entweder ein RGB Objekt oder Array übergeben oder auch einen mit Kommas separierten String der RGB Werte nutzen.
Basis des Flows ist der .toString(16) Kommando im JS: https://stackoverflow.com/questions/39651531/why-does-tostring16-convert-rgb-decimal-or-other-inputs-into-a-hexidecimal
So was kann man natürlich auch im Blockly implementieren, aber dafür bin ich kein Fan.
-
@mickym ja genau das funtz aber hab glaube ich den falschen flow den mir fehlt noch die Ausgabe mit # bin gerade etwas überflutet mit informationen. Aber denke damit werd ich klar kommen. Brauch nur etwas zeit um bissel durchzusteigen.
-
@mickym hatte ich dann auch gefunden und es klappt auch schon... verstehe auch nicht wieso man im HabPanel nicht direkt das ganze als Hex oder RGB oder HSL ausgeben kann. Ne da muss man erst nen translate machen. Vielen lieben dank das du da so krassen support leistest :+1:
-
@bacado sagte in HEX in RGB Umwandeln?:
@mickym hey, wie würde das ganze den anders rum aussehen von RBG zu HEX hab zwar bei nodered nen Converter gefunden aber der gibt keinen wert raus. Scheinbar bin ich einfach noch zu unerfahren in nodered.
Schau mal - da hab ich mal was gebastelt. ;)
Sorry wollte den Thread posten: https://forum.iobroker.net/topic/43271/konvertierung-byte-nach-dezimal-und-umgekehrt
Wenn Du den unteren Flow importierst bekommst eine neue Nodes als Subflow:

dem kannst entweder ein RGB Objekt oder Array übergeben oder auch einen mit Kommas separierten String der RGB Werte nutzen.
Basis des Flows ist der .toString(16) Kommando im JS: https://stackoverflow.com/questions/39651531/why-does-tostring16-convert-rgb-decimal-or-other-inputs-into-a-hexidecimal
So was kann man natürlich auch im Blockly implementieren, aber dafür bin ich kein Fan.
-
@mickym okay also das funtz aber noch nicht so ganz rund. Evtl. hab ich was übersehen aber Hex farbcodes sind immer #+6 zeichen, der Ausgabewert den ich bekomm sind aber immer 8 zeichen. Hab ich was übersehen was ich noch umstellen muss?
@bacado Also wenn Du meinen Beispielflow importiert hast, das sind doch 6 Zeichen. Wie schaut denn Dein Input aus?

Wenn Du übrigens ein Objekt verwendest, ist die Bezeichnung egal, das 1. Byte ist immer Rot, dann Grün und dann Blau:

-
@bacado Also wenn Du meinen Beispielflow importiert hast, das sind doch 6 Zeichen. Wie schaut denn Dein Input aus?

Wenn Du übrigens ein Objekt verwendest, ist die Bezeichnung egal, das 1. Byte ist immer Rot, dann Grün und dann Blau:

-
@bacado Ich hab ne funktion gefunden mit der man HSL in HEX umwandeln kann. Soll ich Dir kurz eine Node machen? Ist das ein String als Eingabe?



