Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LED - Unterstützung benötigt #40

Open
MDMAN opened this issue Dec 29, 2024 · 2 comments
Open

LED - Unterstützung benötigt #40

MDMAN opened this issue Dec 29, 2024 · 2 comments

Comments

@MDMAN
Copy link

MDMAN commented Dec 29, 2024

Ich habe in meiner LCN-Installation auch mehrere LED-Treiber die angesteuert werden müssen. Die einzelnen Ausgänge hängen immer an einem LCN-HL4 - Modul welches über ein LCN-SHS angesteuert wird.
Dahinter habe ich LED-Treiber die dann direkt auf den LED-Stripes aufgelegt sind. DIe LED-Stripes sind RGBW-Stripes. Haben also immer 4 Farben plus Dimmer und Sättigung. Zumindest kann ich das so in der LCN-Pro ablesen.

Ich benötige nun aber eine Möglichkeit, auch RGB und RGBW-LED-Stripes entsprechend ansteuern zu können und gleichzeitig die Farbgebung per RGB-Farbrad und einem Schieber für die Helligkeit /Dimmung und einen Schieber für die Sättigung/Farbstärke regeln zu können.

Ich habe mir das so vorgestellt, dass man diese Entitäten erst erstellen muss und diese dann in eine Art Helfer-Script zu einer LED-Leiste/LED-Stripe zusammenfassen kann und dort dann die Regler entsprechend belegen kann mit den einzelnen Entitäten.

Und dann sollte man auch in dem Dashboard von HA zum Beispiel diese LEDs als "einzelnes" Gerät einbinden können und dann ein Farbrad für die Farben und einen Regler für den Dimmer haben. In der MItte des Farbrades ist 0 also Sättigung = 0 und außen ist die Sättigung = 100% von dem Farbrad und drumherum sind dann die möglichen Farbkombinationen. So stelle ich mir das vor.

Wäre sowas programmierbar und umsetzbar? Dann könnte man auch die LEDs hinzufügen.

LCN2
LCN12
LCN13
LCN14

So stelle ich mir das vor:

LED-RGBW-SKala

Das wäre Top, wenn man sowas programmieren könnte.

@alengwenus
Copy link
Owner

Die Konfiguration aller möglichen existierenden LED-Typen und Farbschemata ist relativ komplex. Das Problem liegt dann nicht an der LCN Konfiguration, sondern an den "Spezialitäten" der einzelnen LED Treiber.
Ich denke, es ist besser, sich mit der Template Light Platform zu behelfen. Damit kann man sich individuelle Lichter zusammenbasteln.
Voraussetzung ist, dass alle vier Ausgänge eines Moduls als Light-Entitäten (dimmbar!) in HA eingerichtet sind.

Dann könnte ein Eintrag für ein RGBW-Licht, das vier Ausgänge ansteuert (light.light_output1 bis light.light_output4 ) in der configuration.yaml so ausssehen:

light:
  - platform: template
    lights:
     rgbw_light:
      friendly_name: "RGBW Light"
      rgbw_template: (
        {{ state_attr('light.light_output1', 'brightness')|d(0, true) }},
        {{ state_attr('light.light_output2', 'brightness')|d(0, true) }},
        {{ state_attr('light.light_output3', 'brightness')|d(0, true) }},
        {{ state_attr('light.light_output4', 'brightness')|d(0, true) }}
        )
      level_template: "{{ (state_attr('light.light_output1', 'brightness')|d(0, true) + state_attr('light.light_output2', 'brightness')|d(0, true) + state_attr('light.light_output3', 'brightness')|d(0, true) + state_attr('light.light_output4', 'brightness')|d(0, true))/4 }}"
      value_template: "{{ (state_attr('light.light_output1', 'brightness')|d(0, true) + state_attr('light.light_output2', 'brightness')|d(0, true) + state_attr('light.light_output3', 'brightness')|d(0, true) + state_attr('light.light_output4', 'brightness')|d(0, true)) > 0 }}"
      availability_template: "{{ not is_state('light.light_output1', 'unavailable') and not is_state('light.light_output2', 'unavailable') and not is_state('light.light_output3', 'unavailable') and not is_state('light.light_output4', 'unavailable') }}"
      supports_transition_template: true
      turn_on:
        - if:
          - condition: not
            conditions:
              - condition: template
                value_template: "{{ states.scene.rgbw_snapshot.state != None }}"
          then:
            - action: light.turn_on
              entity_id: light.light_output1, light.light_output2, light.light_output3, light.light_output4
              data:
                transition: 0
          else:
            - action: scene.turn_on
              target:
                entity_id: scene.rgbw_snapshot
      turn_off:
        sequence:
          - action: scene.create
            data:
              scene_id: rgbw_snapshot
              snapshot_entities: light.light_output1, light.light_output2, light.light_output3, light.light_output4
          - action: light.turn_off
            entity_id: light.light_output1, light.light_output2, light.light_output3, light.light_output4
            data:
              transition: 0
      set_level:
        action: light.turn_on
        entity_id: light.light_output1, light.light_output2, light.light_output3, light.light_output4
        data:
          brightness: "{{ brightness }}"
          transition: 0
      set_rgbw:
        parallel:
          - action: light.turn_on
            entity_id: light.light_output1
            data:
              brightness: "{{ r }}"
              transition: 0
          - action: light.turn_on
            entity_id: light.light_output2
            data:
              brightness: "{{ g }}"
              transition: 0
          - action: light.turn_on
            entity_id: light.light_output3
            data:
              brightness: "{{ b }}"
              transition: 0
          - action: light.turn_on
            entity_id: light.light_output4
            data:
              brightness: "{{ w }}"
              transition: 0

Das sieht dann so aus:

image

@MDMAN
Copy link
Author

MDMAN commented Jan 2, 2025

Ja das wäre doch super... Sieht ja fast genauso aus wie ich mir des vorgestellt hatte.
ABER: Wie kann ich das denn bitte in meine Installation einbinden? Wie muss ich das anstellen?
Leider habe ich noch nicht so die Erfahrung mit eigenen "Skripten" in der YAML-Datei...

Wie kann ich denn dort einen LED-Stripe entsprechend zuweisen?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants