Ankündigung

Einklappen
Keine Ankündigung bisher.

Ideen mit Temperatur an RGB Band X1

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Ideen mit Temperatur an RGB Band X1

    Hallo Forum.

    Ich habe dieses Wochenende eine Logik (X1) zusammengebastelt.
    Ziel war und is es noch immer die Boilertemperatur, visuell auf ein RGB Lichtband anzuzeigen (Rot = mehr als 50°C, >25°C ist dann blau).
    Gemessen wird die Temperatur über einen Shelly mit dem Extensionmodul und einem Sensor welcher im Messrohr am Boiler angebracht ist.
    Ausgegeben wir der Farbmix über ein "HUE" taugliches RGB Lichtband.
    Soweit funktioniert die Logik, halt nich sauber, was ich benötige währe eine Linearisierungslogik 0-100% über einen definierten Bereich, hab sowas nicht gefunden.
    Bin jetzt mit ein paar Mathematikbausteinen usw. an eine 5 Farben Anzeige gekommen ( rot - gelb - grün - cyan - blau)

    Vielleicht hat schon jemand solch etwas einfacher und geschmeidiger realisiert ?!
    image.png

    #2
    Linear ist einfach über die Prozent 3 Satz Rechnung zu realisieren. Definiere was 100% ist. Dann hast du einen Multiplikator für die Temperatur ;-)

    Kommentar


      #3
      Irgendwie sieht das bei Dir viel zu kompliziert aus:
      • Wozu die Wertgeneratoren? Du kannst bei der Formelberechnung Eingänge mit Konstanten belegen oder direkt konstante Werte in den Formeln verwenden.
      • Warum so viele Formelberechnungen? Du kannst auch boolesche Operationen und Umrechnungen für RGB und HSV in der Formelberechnung machen.
      Was genau muss die Linearisierungslogik machen? Am Einfachsten wäre vermutlich, die Temperatur zunächst in Hue umzurechnen:
      • 25°C --> 240
      • 50°C --> 0
      • dazwischen wie oben schon vorgeschlagen mit Dreisatz linear interpolieren
      • drüber und drunter mit Math.Min und Math.Max begrenzen
      Aus dem Hue machst Du (mit konstanter Sättigung und Helligkeit) mit der Methode Light.HSVToRGB(h, s, v) den RGB-Wert​. Das alles bringst Du problemlos in einer einzigen Formelberechnung (mit wahrscheinlich drei oder vier Formeln) unter.
      Zuletzt geändert von hyman; 04.12.2023, 00:47.

      Kommentar


        #4
        Hi danke für die Antworten.
        Die Wertegeneratoren hab ich vorerst weglassen können, den Hue über die Gira Devices kann man "nur" mit dem 32bit anfärbeln .
        Hab mir diesen Datensatz noch nicht einverleibt, sprich welchen Wert für welche Farbe etc...
        Linearisieren kann man schon nur soll der Blau Wert ab einer höheren Temperatur wieder abschalten, da sollte der grüne dann dominieren bis schlussendlich der rote Wert als einziger dominiert.
        Wenn man also von 25-35 Grad den blauen Wert linearisiert, bleibt der schlussendlich bei 50 Grad auch noch 100% "hell", dann hat man zum schluss bei allen 3 Farben 100% = weiß. Deswegen war das so ein kauderwurschtl mit der Logik....

        Kommentar


          #5
          Warum so kompliziert? Du bekommst ne Boilertemperatur... Vergleicher und Ausgang Wertgenerator für Farbtemperatur Hue. Brauchste das im 0,1 Grad Bereich?
          Punk ist nicht tot, Punk macht jetzt KNX

          Kommentar


            #6
            Zitat von CommanderTom Beitrag anzeigen
            Linearisieren kann man schon nur soll der Blau Wert ab einer höheren Temperatur wieder abschalten, da sollte der grüne dann dominieren bis schlussendlich der rote Wert als einziger dominiert.
            Genau das tut der von mir angegebenen Hue-Bereich von 240 (blau, 25°) bis 0 (rot, 50°).

            Zitat von CommanderTom Beitrag anzeigen
            Wenn man also von 25-35 Grad den blauen Wert linearisiert, bleibt der schlussendlich bei 50 Grad auch noch 100% "hell", dann hat man zum schluss bei allen 3 Farben 100% = weiß. Deswegen war das so ein kauderwurschtl mit der Logik....
            Nein, so ein Kauderwurschtl ist das, weil Du es anders machst als ich Dir in #3 vorgeschlagen habe: Erst Hue ausrechnen, dann nach RGB wandeln, alles mit der Formelberechnung ganz einfach.

            Kommentar

            Lädt...
            X