Biskuplights - Cheerlights svetílka na "steroidoch"

hardwareové záležitosti, mašiny, prdičky a také srandičky, hw hacking, fyzické reversuvačky a inakšé
Post Reply
User avatar
Morc Offline
Posts: 106
Joined: Fri Jul 19, 2024 12:23 pm
Description: 20 | tatar z Biskupovej

Ak som sa volade omýleu tak na mňa kričte.
Contact:

Biskuplights - Cheerlights svetílka na "steroidoch"

Post by Morc »

aneb jak volakomu nestačeu klasický stromček, lebo samozrejme...

Písav sa rok 2018 a toť doma bolo nutkaní ovešať vánočný stromek RGB svetílkami. Jak na to? Čo tomu predchádzalo, jak to vyzíralo a funguvalo?


Biskuplights je projekt kerý uzrev svetlo sveta v roku 2018 krátko pred vánocami, v čase adventu. Išlo o spojení Raspberry Pi s náhodným RGB pásikom na 12V s tým, že sa s tým ovešá celý stromek a pripojí sa to na IoT systém Cheerlights.

Najprv k Cheerlights, Cheerlights poznám zhruba od roku 2016 odkedy mi to bolo celé nadhodené Adamom jako taká IoT vec kerá zbírala, v tom čase ešte na Twitteri, najnovší tweet s volákou farbou ze zoznamu, polla kerej sa menili farby šeckým zúčastneným globálne na svete. Aj keď posledné roky toľko nebýva o projekte očuť tak furt som mu ja sám verný a používam ho.

Biskuplights je obdoba k Cheerlights, ide o vácméň nemenný systém kerý má pozmenené meno keďže je vyskladaný z webového interfacu v ktorom sa ovláda posílaní týchto faréb skrz Fediverse bota na kerého potom reaguje ten hlavný Cheerlightsový.


Chronologické záležitosti:
Vánoce 2018 - vznik projektu, poskladané z náhodne ležáceho RPi a ze "shieldu" na kerom boli tranzistory na ovládaní 12V pásika.
Vánoce 2020 - projekt pozmeneu mierne HW zapojení ale našťastí iba fakt detailne kedy sa zmeneu zdroj, nešlo o nič veliké
Vánoce 2023 - prechod z Twitter bota na Mastodon, šaškuvaní s kamerou a hlavne zmena z 12V pásika na 12V hada WS2811. Problematické bolo vyžaduvaní level shiftera kerý som nemal (had má 5V ovládaní, GPIO na RPi je iba 3.3V) problém som obešóv s Arduinom
Vánoce 2024 - odpis RPi, kompletné prerobení odspodku a hlavne napojení na Home Assistanta.



Vizuálne záležitosti:
Vizuálny stav od 2018 - 2023
Vizuálny stav od 2018 - 2023
IMG_20201223_162703.jpg (224.53 KiB) Viewed 537 times
Vizuálny stav pre 2023
Vizuálny stav pre 2023
IMG_20231224_100941.jpg (354.73 KiB) Viewed 537 times
Vizuálny stav od roku 2024
Vizuálny stav od roku 2024
IMG_20241223_172409.jpg (260.63 KiB) Viewed 537 times
Bolo by vhodné poznamenať že na to, jak to vizuálne celé vyzíralo tak to každý rok spoľahlivo ždy funguvalo a každý rok aj prežilo jakékoľvek útoky od štvornohých zvíreníc.


Slovné záležitosti:
Nestem to vlákno moc deliť, pojme to spraviť šecko tu. Keď projekt vznikol tak bol vyskladaný hajbuj z toho čo bol, tých vecí nebolo moc ale nakonec sa podarilo. Pásika bolo tak snáď 5 metrov a funguvalo to. Prvé roky to bolo také akurát a potom v roku 2023 som si povedal že treba pritvrdiť. Zehnal som 20 metrov RGB WS2811 hada za fakt dobrú cenu, poskladal som to tak zas hajbuj aby bolo a funguvalo sa. Veškeré ovládaní neexistuvalo, bolo to fakt polorozbité, animácie sa na tom nedali, pritmavuvaní a podobné hovadiny boli nemysliteľné a né to ešte aby si volado zmyslel že ho chce ináč šteluvať.

V roku 2024 sa okolnosti zmenili kedy som sa dostal k ESP32, na toto ESPčko som v decembri naflashuval WLED (kerý ze začátku sústavne padal ale nakonec som túto patáliu poríšeu flashom alternatívneho WLEDu 0.14.4 (ESP32 4MB Flash, žádne dodatky navyše) v kerom zjavne neboli vykompiluvané šecky veci a hlavne ani nie ten problematický modul a odtedy to líta jak má)

Tento WLEDom naflashuvaný MCU je potom pripojený po WiFine na WiFinu a aj na Home Assistant v kerom sa to chová jak bežná lampa. Do Home Assistanta ide skrz MQTT topic aktuálna farba z Cheerlights a na každú jednu zmenu tejto farby v HEXe reaguje automatizácia v Home Assistante kerá posíla prekonvertuvanú farbu. Títo automatizácie sú v podstate minimálne dve, jedna ríši tú farbu:

Code: Select all

alias: Cheerlights <=> Biskuplights
description: ""
mode: single
triggers:
  - entity_id: sensor.cheerlights_farba
    trigger: state
conditions: []
actions:
  - variables:
      hex_color: >-
        {{ states('sensor.cheerlights_farba') |
        regex_findall_index('#[0-9a-fA-F]{6}') }}
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ hex_color is not none }}"
        sequence:
          - condition: state
            entity_id: light.biskuplights
            state: "on"
          - target:
              entity_id: light.biskuplights
            data:
              rgb_color: >
                [{{ hex_color[1:3]|int(base=16) }}, {{
                hex_color[3:5]|int(base=16) }}, {{ hex_color[5:7]|int(base=16)
                }}]
            action: light.turn_on
a ďalšá ríši problematiku automaticky nemeňáceho-sa efektu:

Code: Select all

alias: Biskuplights - effect randomize
description: ""
triggers:
  - trigger: time_pattern
    minutes: "10"
  - trigger: time_pattern
    minutes: "20"
  - trigger: time_pattern
    minutes: "30"
  - trigger: time_pattern
    minutes: "40"
  - trigger: time_pattern
    minutes: "50"
  - trigger: time_pattern
    minutes: "0"
conditions: []
actions:
  - condition: state
    entity_id: light.biskuplights
    state: "on"
  - target:
      entity_id: light.biskuplights
    data:
      effect: >
        {{ ["Flow", "Solid", "Breathe", "Wipe", "Rainbow", "Running", "Rainbow
        Runner", "Aurora", "Scanner", "Gradient", "Fairy",  "Fairytwinkle",
        "Lake", "Candle", "Sinelon", "Plasma", "Candle Multi", "Phased",
        "Twinkleup", "Freqwave", "Freqpixels", "DJ Light"] | random }}
    action: light.turn_on
mode: single
povella týchto dvoch automatizácií mám ešte hovadiny povella na vypínaní polla času/západu alebo východu slnka, mierne pritmavení pri zapatí televízora a podobné blbiny.


Móžem nakonec povedať len jedno. Pevne dúfam že to v tomto stave ostane už naveky a že sa teoreticky ešte určite nájde šanca títo svetílka používať aj inokedy mimo vánočného obdobá. Uvidíme.
Image
Post Reply