Door de verschillende partitions zijn leuke combinaties mogelijk

Vorige maand heb ik bij de Action de LSC Smart Ledstrip RGBIC+CCTIC (3203632.1) gekocht. Deze slimme ledstrip heeft addressable RGB en addressable CCT leds. De ledstrip is out-of-the-box met de Tuya Smart Life app te bedienen. In de app kun je kiezen voor effecten, kleuren per segment etc. Het verschil tussen een normale en een addressable ledstrip is dat je de ledstrip in delen kunt verdelen en per deel een kleur kunt bepalen. Standaard wordt in Home Assistant de strip als 1 apparaat ontdekt via de Tuya Integratie. De voordelen van de vele mogelijkheden voor segmenten of het aansturen van individuele leds zijn er dus niet in Home Assistant. Dat moet toch anders kunnen? Ik wil niet afhankelijk zijn van de cloud en Tuya maar ik wil wel deze strip met WLED of ESPHome kunnen bedienen! Ik ben gaan onderzoeken wat de mogelijkheden zijn en dat heeft heel mooi uitgepakt.

Specificaties LSC 3203632.1 RGBIC + CCTIC controller

De ledstripcontroller van de LSC 3203632.1 wat de ledstrip bedient is gebaseerd op een BK7231N chip. De ledstrip zelf heeft 25 segmenten van circa 20cm wat de totale lengte 5 meter maakt. De controller wordt gevoed door een 24V 1A voeding. Per segment van 20cm zitten er op de strip 6 RGB, 6 CW en 6 WW leds. Elk segment van 20cm, 6 leds, wordt gezien als 1 led in de software. Per segment zijn er twee controlchips op de ledstrip aanwezig. Deze zijn van het type SM16703, met als opschrift GZX16703 . Op de PCB van de controller is het type af te lezen: PCB_475P1-v1.0. Op de PCB zijn ook pins voor C en W, maar deze gaan niet naar de ledstrip. De behuizing waarin de ledstripcontroller zit is makkelijk te openen, gewoon voorzichtig met een schroevendraaier ertussen en het klikt open.

Cloudcutter

Ik heb ondertussen al aardig wat ervaring met Tuya Cloudcutter. Met Tuya-cloudcutter kun je Tuya apparaten flashen naar esphome zodat ze zonder cloud en internet werken met Home Assistant. Benieuwd hoe dat werkt? Ik heb een handig step-by-step stappenplan geschreven over Tuya-cloudcutter. Maar deze RGBIC + CCTIC ledstrip bleek niet te flashen met cloudcutter helaas. De chip is BK7231N met versie 1.0.2 van de Tuya firmware. Helaas voor ons is deze niet Over The Air (OTA/draadloos) te flashen. Einde verhaal dus?

Flashen via UART

Via een topic op elektroda kwam ik erachter dat er al iemand is geweest die OpenBeken op het apparaat heeft geflashed. Dit moet dus via UART omdat de firmware door Tuya gepatched is tegen Cloudcutter.

Ik heb mijn UART USB aangesloten op de volgende pins:

USB UARTBeken 7231N
3.3V3.3V
TX1RX
RX1TX
GNDGNG
Aansluiten van de BK7231N pins op een UART flasher.

Via de BK7231 GUI Flash Tool maak je verbinding met de BK7231N. Voor de zekerheid heb ik een backup gemaakt van de Tuya firmware, mocht ik toch nog een keer terug willen.

Na het flashen van de OpenBeken software heb ik een OTA update naar ESPHome uitgevoerd.

Flashen naar ESPHome

Hiervoor heb ik eerst in ESPHome Compiler een nieuw device aangemaakt op basis van het generic-bk7231n-qfn32-tuya board. Deze esphome firmware heb ik gecompileerd via ESPHome Compiler en los gedownload als Beken OTA bestandstype (*.rbl). Om de nieuwe ESPHome firmware OTA te flashen via OpenBK heb ik de bestandsnaam aangepast naar OpenBK7231N_esphome.rbl. Dit is nodig omdat er anders een invalid firmware error volgt.

Het flashen was succesvol en het apparaat werd ontdekt door Home Assistant.

Aanpassen van ESPHome yaml

Nu is het proberen van de juiste configuratie te vinden. De eerste pogingen leidden naar niets… De ledstrip ging in het geheel niet aan. Tijdens mijn vooronderzoek wist ik mij te herinneren dat er een pin aangezet moest worden om 24V op de strip te zetten. Na het doorscrollen van het elektroda topic zag ik dat P8 hiervoor zorgt. Ik moest er dus voor zorgen dat P8 aangezet wordt als de ledstrip aangezet wordt. Dat kan met het power_supply component. Na het toevoegen van dit component ging de ledstrip inderdaad aan. Maar, met alle kleuren en witte leds tegelijk.

Aanpassen van de kleuren

Het aanpassen van dit gedag bleek nog niet zo makkelijk. Wanneer je is_wrgb of is_rgbw op true zet, maakt de ledstrip allerlei kleuren, behalve de kleur die je aanklikt in de kleurenkiezer in Home Assistant. In de orginele Tuya app was dat allemaal wel mogelijk dus ik ben verder gaan zoeken.

Ik ben na trail-and-error erachter gekomen dat Tuya de strip zo ontworpen heeft dat de CW en WW leds op de oneven adressen aan te roepen zijn, en de RGB leds op de even adressen. In de yaml moet je dus is_wrgb of is_rgbw weglaten en Home Assistant laten denken dat het een RGB ledstrip is. Dit is natuurlijk niet de meest ideale oplossing maar voor nu werkt het. De RGB leds zijn aan te sturen door middel van het normale RGB color picker panel in Home Assistant. Voor de CCT leds krijg je ook een RGB color picker voorgeschoteld. Je kiest blauw voor koud wit en rood voor warm wit.

esphome:
  name: lsc-32036322-l
  friendly_name: Lsc 3203632-1
bk72xx:
  board: generic-bk7231n-qfn32-tuya
# Enable logging
logger:
# Enable Home Assistant API
api:
  encryption:
    key: "REDACTED"
ota:
  - platform: esphome
    password: "REDACTED"
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "REDACTED"
    password: "REDACTED"
captive_portal:
web_server:
power_supply:
    id: led_power
    pin: P8
  
light:
  - platform: beken_spi_led_strip
    rgb_order: BRG
    id: RGBIC_CCTIC_ledstrip
    pin: P16
    num_leds: 50
    chipset: SM16703 
    name: None
    power_supply: led_power
    internal: true
### ALL RGB LEDS IN 1 LIGHT
  - platform: partition
    name: "RGB"
    effects:
     - random:
     - pulse:
     - strobe:
     - flicker:
     - addressable_rainbow:
     - addressable_color_wipe:
     - addressable_scan:
     - addressable_twinkle:
     - addressable_random_twinkle:
     - addressable_fireworks:
    segments:
      # RGB LEDS AT EVEN ADDRESSES
      - id: RGBIC_CCTIC_ledstrip
        from: 0
        to: 0
      - id: RGBIC_CCTIC_ledstrip
        from: 2
        to: 2
      - id: RGBIC_CCTIC_ledstrip
        from: 4
        to: 4
      - id: RGBIC_CCTIC_ledstrip
        from: 6
        to: 6
      - id: RGBIC_CCTIC_ledstrip
        from: 8
        to: 8
      - id: RGBIC_CCTIC_ledstrip
        from: 10
        to: 10
      - id: RGBIC_CCTIC_ledstrip
        from: 12
        to: 12
      - id: RGBIC_CCTIC_ledstrip
        from: 14
        to: 14
      - id: RGBIC_CCTIC_ledstrip
        from: 16
        to: 16
      - id: RGBIC_CCTIC_ledstrip
        from: 18
        to: 18
      - id: RGBIC_CCTIC_ledstrip
        from: 20
        to: 20
      - id: RGBIC_CCTIC_ledstrip
        from: 22
        to: 22
      - id: RGBIC_CCTIC_ledstrip
        from: 24
        to: 24
      - id: RGBIC_CCTIC_ledstrip
        from: 26
        to: 26
      - id: RGBIC_CCTIC_ledstrip
        from: 28
        to: 28
      - id: RGBIC_CCTIC_ledstrip
        from: 30
        to: 30
      - id: RGBIC_CCTIC_ledstrip
        from: 32
        to: 32
      - id: RGBIC_CCTIC_ledstrip
        from: 34
        to: 34
      - id: RGBIC_CCTIC_ledstrip
        from: 36
        to: 36
      - id: RGBIC_CCTIC_ledstrip
        from: 38
        to: 38
      - id: RGBIC_CCTIC_ledstrip
        from: 40
        to: 40
      - id: RGBIC_CCTIC_ledstrip
        from: 42
        to: 42
      - id: RGBIC_CCTIC_ledstrip
        from: 44
        to: 44
      - id: RGBIC_CCTIC_ledstrip
        from: 46
        to: 46
      - id: RGBIC_CCTIC_ledstrip
        from: 48
        to: 48
## ALL CCT LEDS IN 1 LIGHT
  - platform: partition
    name: CCT
    segments:
      # CCT LEDS AT ODD ADDRESSES
      # RED CHANNEL = WARM WHITE
      # BLUE CHANNEL = COLD WHITE
      - id: RGBIC_CCTIC_ledstrip
        from: 1
        to: 1
      - id: RGBIC_CCTIC_ledstrip
        from: 3
        to: 3
      - id: RGBIC_CCTIC_ledstrip
        from: 5
        to: 5
      - id: RGBIC_CCTIC_ledstrip
        from: 7
        to: 7
      - id: RGBIC_CCTIC_ledstrip
        from: 9
        to: 9
      - id: RGBIC_CCTIC_ledstrip
        from: 11
        to: 11
      - id: RGBIC_CCTIC_ledstrip
        from: 13
        to: 13
      - id: RGBIC_CCTIC_ledstrip
        from: 15
        to: 15
      - id: RGBIC_CCTIC_ledstrip
        from: 17
        to: 17
      - id: RGBIC_CCTIC_ledstrip
        from: 19
        to: 19
      - id: RGBIC_CCTIC_ledstrip
        from: 21
        to: 21
      - id: RGBIC_CCTIC_ledstrip
        from: 23
        to: 23
      - id: RGBIC_CCTIC_ledstrip
        from: 25
        to: 25
      - id: RGBIC_CCTIC_ledstrip
        from: 27
        to: 27
      - id: RGBIC_CCTIC_ledstrip
        from: 29
        to: 29
      - id: RGBIC_CCTIC_ledstrip
        from: 31
        to: 31
      - id: RGBIC_CCTIC_ledstrip
        from: 33
        to: 33
      - id: RGBIC_CCTIC_ledstrip
        from: 35
        to: 35
      - id: RGBIC_CCTIC_ledstrip
        from: 37
        to: 37
      - id: RGBIC_CCTIC_ledstrip
        from: 39
        to: 39
      - id: RGBIC_CCTIC_ledstrip
        from: 41
        to: 41
      - id: RGBIC_CCTIC_ledstrip
        from: 43
        to: 43
      - id: RGBIC_CCTIC_ledstrip
        from: 45
        to: 45
      - id: RGBIC_CCTIC_ledstrip
        from: 47
        to: 47
      - id: RGBIC_CCTIC_ledstrip
        from: 49
        to: 49

Home Assistant Community

Inmiddels zijn er in de Home Assistant Community leden geweest die de bovenstaande yaml hebben uitgebreid voor het gebruik met de microfoon, de knoppen op de controller en de afstandsbediening. Ik wil niet met hun eer strijken, dus plaats ik hier in mijn artikel alleen mijn originele code.

Inbouwen in buffetkast

In de woonkamer hebben we een mooie teakhouten buffetkast staan. Al langer hadden we de wens hier verlichting in te bouwen. Met deze ledstrip heb ik dat eindelijk voor elkaar gekregen.

In de scenes die ik gebruik gedurende de dag, gebruik ik van de ledstrip in de buffetkast alleen de warmwitte leds. Deze geven het rustigste, warmte licht in alle situaties. Maar tijdens oud en nieuw is het bijvoorbeeld leuk om het Fireworks effect toe te passen. Waarmee de verschillende vakken kort oplichten zoals vuurwerk dat doet. Ook kun je met het HACS custom component Scene Presets mooie ‘ambient lighting’ creëren (waarover later meer) .

Bekabelen van de ledstrip

De buffetkast bevat 9 vakken van 0.50cm breed. Er passen dus mooi 2 ledstrip delen in, plus nog wat ruimte voor de bekabeling. Wanneer je aan een soortgelijk project begint is het goed te weten dat de bekabeling bepaalt wat de volgorde is van de leds. Ik heb de kast als volgt bekabeld:

| 1 | 2 | 3 |

| 4 | 5 | 6 |

| 7 | 8 | 9 |

Tussen segmenten 3 en 4 en 6 en 7 zit dus een lange kabel. Ik gebruik hiervoor gewoon internetkabel, makkelijk verkrijgbaar en dun genoeg om op de soldeer pads te passen op de ledstrip.

In de esphome code heb ik alle vakken van de kast apart bestuurbaar gemaakt door middel van segmenten. Dit maakt het dan ook mogelijk om effecten toe te passen.

Segmenten

Voor de vakken in de kast zijn de RGB led adressen als volgt:

|   0,2   |    4,6  |  8,10 |

| 12,14 | 16,18 | 20,22 |

| 24,26 | 28,30 | 32,34 |

Er zitten in ieder kastdeel 2 segmenten, dus per kastdeel 4 adressen. 2x RGB en 2x CCT.

Voor de CCT leds, de warm en koud witte leds zijn de adressen:

| 1,3 | 5,7 | 9,11 |

| 13,15 | 17,19 | 21,23 |

| 25,27 | 29,31 | 33,35 |

Effecten

De volgorde van de leds is belangrijk wanneer je gebruik wil maken van effecten. Het scan en wipe effect gaan op volgorde van de leds. Voorbeeld van de volledige kast met het random twinkel effect:

Scene Presets

Bij het gebruik van addressable ledstrips wil ik je de tip van het HACS custom component Scene Presets nog geven. hass-scene_presets is een custom component voor Home Assistant, vergelijkbaar met de scenes in de Philips Hue app maar zonder de Hue bridge en gewoon in Home Assistant. Het werkt met elke lightentity en geeft keuze uit presets die je handmatig of via automations kunt toepassen.

De functie Dynamic Scenes laat de kleuren mooi in elkaar overvloeien, ideaal voor achtergrondverlichting. Voor installatie voeg je de repository toe als een custom repository in HACS, herstart je Home Assistant en voeg je de integratie toe via de instellingen.

Het werkt!

Dit was wel een geval apart. Ik had nog geen ervaring met addressable ledstrips in het algemeen, maar ook niet binnen Home Assistant. Daarbij kwam nog dat nog niemand een werkende esphome code had die ik kon overnemen. Ik heb dus veel zelf moeten uitzoeken. Nu moet er ooit iemand het eerste zijn, dus ik hoop dat ik via dit artikel, elektroda, pull requests voor de docs en de Home Assistant Community mijn steentje heb bijgedragen aan nieuwe mooie projecten bij anderen.

Wat vond je van deze blogpost?

Klik op een ster om een beoordeling te geven!

Gemiddelde score 4.7 / 5. Aantal stemmen: 7

Er heeft nog niemand gestemd. Wees de eerste, het kost niets en geen registratie!

Jammer dat de post niet behulpzaam was.

Laten we deze post verbeteren!

Wat zou er beter kunnen?

Door Wouter

3 gedachten over “Addressable ledstrip (RGBIC+CCTIC) van LSC (Action) gebruiken in Home Assistant”
  1. Heel mooi artikel, in detail uitgelegd.
    Nog deze tip: het is heel hulpzaam dat je al die externe links voorziet, mar laat die beter openen in een nieuw tabblad, zo wordt jou site niet verlaten. Oh, en de ster rating kan ik niet gebruiken? Ik wou 5* klikken…

  2. Ik wou de procedure eens nadoen maar ik kan toch niet helemaal volgen: op welke criteria heb je de .bin geselecteerd in de Flasher. Dan de ESPcode heb je die .rbl aangemaakt in ESPHome in Home Assistant? Ik heb daar 4 keuzes bij download, UF2, Cloudcutter, Beken OTA of Beken App. Ik vermoed dat ik die OTA nodig heb?
    Heb je dan op bepaald moment ook de de device op wifi gekoppeld?
    Kon de UART voldoende stroom leveren of had je ook de 24V ingeplugd bij het flashen?
    Dat zijn veel stappen die een tutorial video goed tot hun recht zouden komen, je hebt geen YT ambities?

    1. Hoi kael,
      Leuk dat je aan de slag gaat! Voor mij een goede test of mijn stappenplan duidelijk is. Niet helemaal dus ????
      In de UART flasher van openbk geef je dezelfde waarden op als in mijn screenshot. Dus je selecteert de juiste COM port en chiptype. Daarna download je de bin van internet met de daarvoor bestemde knop. Vink nog andere opties aan als je dat wilt, en dan op back up and flash. Er was nog iets met een reset knop, die je in moest drukken of juist niet bij deze… Dat weet ik niet meer.

      Openbk start op na het flashen op je apparaat en maakt een Wi-Fi AP waarmee je kunt verbinden en het apparaat kunt toevoegen aan je netwerk, zoals een Tuya apparaat dat ook doet bij een eerste installatie.

      Bij het esphome gedeelte ben ik misschien wat kort door de bocht geweest. Hier heb ik eerst een nieuw device aangemaakt in ESPHome Builder in Home Assistant. Dus op de + klikken rechts onderin, kiezen voor het boardtype en er wordt een nieuwe config gemaakt. Toen ik dit deed was er nog niets bekend voor dit apparaat en heb ik dus een standaard config naar het apparaat gestuurd. In de esphome code zit altijd je WiFi gegevens en hoe hij moet verbinden met Home Assistant. Wat je zou kunnen doen is de code uit het artikel in ESPHome Builder plakken en naar het apparaat flashen (via OpenBK) , maar misschien is het te groot en moet toch eerst de lege config flashen.

      In esphome builder klikken op download inderdaad en volgens mij beken ota, maar dat zie je snel genoeg aan het bestandsformaat. Volgens mij waren de andere opties andere bestandsformaten.

      De 24v mag je absoluut niet aansluiten tijdens het flashen, dan blaas je de boel op.

      En de youtube ambities… Tsja, dat zeg je goed, die heb ik niet zo nee… Vaak schrijf ik de artikelen in de tijd dat ik ergens moet wachten of even niets te doen heb en met video maken kan dat gewoonweg wat lastiger&#8230????

      Succes met flashen!!

      Groet Wouter

Laat weten wat je van dit artikel vindt!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers liken dit: