Lidl Melinera LED-Lichterkette ansteuern (deCONZ)

Eine Sammlung von Home Assistant Templates.
Bitte nur fertige Templates posten, ergänzt um eine Beschreibung und ggf. Screenshots.
Antworten
Benutzeravatar
Osorkon
Administrator
Beiträge: 188
Registriert: Sa 17. Jul 2021, 16:53
Wohnort: Langenargen
Kontaktdaten:

Lidl Melinera LED-Lichterkette ansteuern (deCONZ)

Beitrag von Osorkon »

Der ein oder andere hat sich vielleicht letztes Jahr die Lidl Melinera LED-Lichterkette zugelegt.
Diese bietet die Möglichkeit verschiedene vorprogrammierte Programme zu starten. Diese lassen sich direkt am Controller umschalten.
Man kann diese aber auch über den Dienst deconz.configure aus HA aufrufen.
Neben den Effekten können bis zu 6 Effekt-Farben ausgewählt werden sowie die Geschwindigkeit.

Das Ganze lässt sich dann schön in einen Karte packen um so bequem die Lichterkette über Lavelace zu steuern. Selbstverständlich lässt sich die Steuerung auch in Automatisierungen und Skripten verwenden.

Zuerst brauchen wir 6 Dummy RGB Lichter um die Effekt Farbenauswahl zu ermöglichen. Ich habe dazu MQTT Lichter angelegt.

Code: Alles auswählen

- platform: mqtt
  name: "Effekt Farbe 1"
  command_topic: "lichterkette/effektfarbe/1/set"
  rgb_command_topic: "lichterkette/effektfarbe/1/set"
  optimistic: true
  qos: 0
- platform: mqtt
  name: "Effekt Farbe 2"
  command_topic: "lichterkette/effektfarbe/2/set"
  rgb_command_topic: "lichterkette/effektfarbe/2/set"
  optimistic: true
  qos: 0
- platform: mqtt
  name: "Effekt Farbe 3"
  command_topic: "lichterkette/effektfarbe/3/set"
  rgb_command_topic: "lichterkette/effektfarbe/3/set"
  optimistic: true
- platform: mqtt
  name: "Effekt Farbe 4"
  command_topic: "lichterkette/effektfarbe/4/set"
  rgb_command_topic: "lichterkette/effektfarbe/4/set"
  optimistic: true
- platform: mqtt
  name: "Effekt Farbe 5"
  command_topic: "lichterkette/effektfarbe/5/set"
  rgb_command_topic: "lichterkette/effektfarbe/5/set"
  optimistic: true
- platform: mqtt
  name: "Effekt Farbe 6"
  command_topic: "lichterkette/effektfarbe/6/set"
  rgb_command_topic: "lichterkette/effektfarbe/6/set"
Dann benötigen wir einen Helfer vom Typ input_select mit der Auswahlmöglichkeiten der einzelnen Effekte, die wären:

steady
snow
rainbow
snake
twinkle
waves
updown
vintage
fading
collide
strobe
sparkles
glow
horizontal_flag

Mein input_select heisst

Code: Alles auswählen

input_select.effekte
Dann benötigen wir noch einen weitere Helfer für die Effekt-Geschwindigkeit vom Typ input_number
Minimal Wert = 1
Maximalwert = 100
Schrittgröße = 1

Mein input_number heisst

Code: Alles auswählen

input_number.effekt_speed
Jetzt benötigen wir noch ein Script der die Effekt-Farben, das gewählte Effekt-Programm und die Geschwindigkeit an unsere LED-Lichterkette sendet.

Code: Alles auswählen

alias: Effekt setzen Lichterkette
sequence:
  - service: light.turn_on
    target:
      entity_id:
        - light.lichterkette1
  - service: deconz.configure
    data:
      data:
        effect: '{{ states.input_select.effekte.state }}'
        effectSpeed: '{{ states.input_number.effekt_speed.state }}'
        effectColours:
          - '{{ state_attr("light.effekt_farbe_1", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_2", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_3", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_4", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_5", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_6", "rgb_color") }}'
      field: /lights/53/state
mode: single
icon: mdi:pine-tree
Wie schon erwähnt, nutzen wir hier den Dienst deconz.configure
Der Effekt ist der Wert unser Auswahlliste (input_select.effekte)
Die Effekt-Geschwindigkeit ist der Wert von unserem Numerischen Helfer (input_number.effekt_speed)
Und Die 6 Farben sind die RGB Werte der erstellten MQTT Lichter
Je nach Effekt werden 1 bis 6 Farben verwendet.

Code: Alles auswählen

field: /lights/53/state
gibt an an welches Lampe die Konfiguration gesendet werden soll.
Die Zahl 53, ist die auf die es ankommt. Welche Nummer eure LED-Kette in deCONZ hat könnt ihr über Phoscon ermitteln.
Oben Like auf Menü klicken, dann Info und API Informationen
Lichter Auswählen. Über die Auswahlliste die LED-Lichterette auswählen.
In der Adressenzeile, ganz am Ende findet Ihr die Nummer eurer LED-Lichterkette.

Jetzt kann man das Alles schön in einen Karte packen und fertig. 😀
Effektfarben über den Color-Picker auswählen, den Effekt auswählen und die passende Geschwindigkeit.
Anschließend auf Script Ausführen klicken und schon blinkt die LED-Lichterkette, so wie es man gern hätte.

Code: Alles auswählen

type: vertical-stack
cards:
  - type: button
    tap_action:
      action: toggle
    entity: light.lichterkette1
    show_icon: false
    show_state: true
    show_name: true
    name: Weihnachtsbaum
  - type: glance
    entities:
      - entity: light.effekt_farbe_1
      - entity: light.effekt_farbe_2
      - entity: light.effekt_farbe_3
    show_state: false
    show_icon: true
    show_name: true
  - type: glance
    entities:
      - entity: light.effekt_farbe_4
      - entity: light.effekt_farbe_5
      - entity: light.effekt_farbe_6
    show_state: false
  - type: entities
    entities:
      - entity: input_select.effekte
      - entity: input_number.effekt_speed
      - entity: script.effekt_setzen_lichterkette
        name: Effekt setzen
Ich habe mir noch zusätzlich einen Automatisierung erstellt. Die die LED-Lichterkette bei be Sonnenuntergang einschaltet, bei Sonnenaufgang ausschaltet und zu jeder vollen Stunde und 30min nach dem Zufallsprinzip zwischen 3 definierten Effekte umschaltet.


Die Auswahl des Effekts erfolgt über ein Skript. Dabei wird zufällig einer der 3 Effekte ausgewählt ("horizontal_flag", "sparkles", "glow" )

Code: Alles auswählen

alias: Effekte Zufall
sequence:
  - service: deconz.configure
    data:
      data:
        effect: '{{ [ "horizontal_flag", "sparkles", "glow" ] | random}}'
        effectSpeed: '{{ states.input_number.effekt_speed.state }}'
        effectColours:
          - '{{ state_attr("light.effekt_farbe_1", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_2", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_3", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_4", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_5", "rgb_color") }}'
          - '{{ state_attr("light.effekt_farbe_6", "rgb_color") }}'
      field: /lights/53/state
mode: single
In der Automatisierung rufe ich dann ur noch das Skript auf.

Das ganze lässt sich auch schön in einen Automatisierung reinpacken.

Code: Alles auswählen

alias: 'Garten - Weihnachten - Lichterkette Outdoor Zufall Effekte '
description: ''
trigger:
  - platform: time_pattern
    minutes: '30'
    id: zufall
  - platform: sun
    event: sunset
    offset: '0'
    id: an
  - platform: sun
    event: sunrise
    offset: '0'
    id: aus
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id: an
        sequence:
          - service: script.effekt_setzen_lichterkette
      - conditions:
          - condition: trigger
            id: aus
        sequence:
          - service: light.turn_off
            target:
              entity_id:
                - light.lichterkette1
      - conditions:
          - condition: trigger
            id: zufall
          - condition: state
            entity_id: sun.sun
            state: below_horizon
          - condition: state
            entity_id: light.lichterkette1
            state: 'on'
        sequence:
          - service: script.effekte_zufall
    default: []
mode: single
Ob Ihr jetzt Skripte oder Automatisierung nutzt, ob eine oder mehrer, bleibt euch überlassen.


Gruß
Osorkon
Dateianhänge
Weihnachtsbaum.png
Weihnachtsbaum.png (239 KiB) 40 mal betrachtet
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 115
Registriert: Do 22. Jul 2021, 16:57

Re: Lidl Melinera LED-Lichterkette ansteuern (deCONZ)

Beitrag von Friedi »

DANKE 8-)
Antworten