Blockly – Farben
In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. In diesem Artikel zeige ich Dir verschiedene Blöcke rund um das Thema Farben.
1. Farbe manuell wählen
In diesem Kapital schauen wir uns den folgenden Block an:
Über den manuellen Farb-Block kann über einen Klick auf den Block die Farbe manuell ausgewählt werden.
Im Beispiel wird ein Trigger auf einen Test-Datenpunkt eingefügt. Der Datenpunkt stellt ein Tür- oder Fensterkontakt dar, der die beiden Werte (true und false) speichert. Wenn das Fenster geöffnet ist, wird im Datenpunkt „true“ zurückgegeben. Im Trigger wird der Wert nun mittels einem Falls-Block abgefragt und somit die Variable „colorValue“ bei „true“ auf Rot und bei „false“ auf Grün gesetzt. Zudem wird die Variable ColorValue in einem separaten Datenpunkt gespeichert und per Block „Debug Output“ in das ioBroker-Log geschrieben.
Im ioBroker-Log werden nun die folgenden Einträge geschrieben:
2. Zufällige Farbe
In diesem Kapital schauen wir uns den folgenden Block an:
Der Block liefert einen zufälligen Farbwert zurück.
Im folgenden Beispiel wird der selbe Trigger wie im ersten Kapital verwendet. Hierbei wird nach einer Änderung des Datenpunktes eine Schleife innerhalb des Triggers gestartet, welche 5 Durchläufe steuert. Innerhalb der Schleife wird die Variable „colorValue“ mit einem zufälligen Farbwert gefüllt und per Block „Debug Output“ in das ioBroker-Log geschrieben:
Im ioBroker-Log werden nun die folgenden Einträge geschrieben:
3. Farbe aus Rot, Grün, Blau (RGB)
In diesem Kapital schauen wir uns den folgenden Block an:
Mit dem Block kann eine Farbe per RGB-Wert ermittelt werden.
In diesem Beispiel wird wieder die Grundsteuerung aus dem ersten Kapital verwendet (Tür- und Fensterkontakt). Hierbei wird die Farbe nicht über die manuelle Farbwahl, sondern über den Farb RGB-Block ermittelt. Im Beispiel werden so die Farben Rot und Grün als Farbwert ermittelt und in den entsprechenden Datenpunkt geschrieben.
4. Farben mischen
In diesem Kapital schauen wir uns den folgenden Block an:
Der Block „Mische Farben“ kann zwei Farbwerte mit einem hinterlegten Mischungsverhältnis mischen und als Farbwert zurückgeben. In meinen Versuchen hat das Mischen von Farben allerdings nicht funktioniert. Ich werde hier nochmals recherchieren und dann den Artikel ergänzen.
Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen zum Thema 🙂
Hallo,
ich würde gerne die Schriftfarbe von einen „hqwidgets on/off“ mit Blockly ändern.
Gibt es da eine Möglichkeit?
Gruss
Moin Claus,
ja, das sollte über CSS funktionieren.
Hier mal ein Beispiel wie bei mir die Farbe eines Widgets ändere.
{h:0_userdata.0.Visualisierung.Status.Lights.CountOn;h == 0 ? "#33cc33" :"#FF0000"}
Über diesen Weg kannst du dann natürlich auch die Schriftfarbe des Widgets ändern.
Ich freue mich auf Deine Rückmeldung, bei Fragen gerne melden 🙂
LG Matthias
Hallo vielen Dank für deine Antwort.
Leider bin ich ein totaler Anfänger und habe mit CSS noch nichts gemacht.
Wenn es Dir nicht zu viel Mühe macht könntest Du mir vielleicht helfen.
1. ich habe einen Datenpunkt „Farbe“, in dem ich den Farbcode schreibe.
2. dieser Datenpunkt soll dann den Wert der Schriftfarbe überschreiben.
3. das widgets ist W00035 (hqwidgets – on/off)
Kannst du mir den den Code für ccs übermitteln?
Muss ich den Code dann nur bei dem widgets im css -reiter eingeben?
Wie wird der code aktiviert?
Vielen Dank für Deinen Bemühungen.
Grtuss
Claus
Moin Claus,
ich würde dazu einfach einen weiteren Artikel verfassen. Ich denke das ist bestimmt auch für andere ioBroker-Anwender interessant.
Wenn ich heute Abend Zeit finde, wird der Artikel noch heute veröffentlicht 🙂
LG Matthias
Danke, ich freue mich darauf.
Gruss
Moin Claus,
so, hier der Artikel 🙂
https://www.smarthome-tricks.de/software-iobroker/iobroker-vis-object-binding-fur-textfarbe/
LG Matthias