Kas yra LIFX lemputės ir kodėl dėmesys lokaliam valdymui?
LIFX lemputės – tai vienos populiariausių išmaniųjų LED lemputių rinkoje, kurios tiesiogiai jungiasi prie WiFi tinklo be jokių papildomų tiltelių ar šakotuvų. Skirtingai nei Philips Hue ar kiti konkurentai, čia nereikia jokios centrinės valdymo stoties. Tiesiog įsukate lemputę, prijungiate prie namų WiFi ir valdote per programėlę. Skamba paprasta, bet yra viena smulkmena – standartiškai visos komandos keliauja per LIFX debesinius serverius kažkur Australijoje ar JAV.
Daugeliui vartotojų tai nerūpi, kol viską veikia. Tačiau kas nutinka, kai internetas nutrūksta? O jei LIFX serveriai patiria gedimą? Arba tiesiog norite greitesnio atsako laiko, kai įjungiate šviesą? Štai čia ir atsiranda lokalaus valdymo poreikis. Be to, privatumo fanai nepernelyg džiaugiasi mintimi, kad kiekvienas lemputės įjungimas ar išjungimas keliauja per trečiųjų šalių serverius.
Gera žinia ta, kad LIFX lemputės palaiko lokalų valdymą per LAN protokolą. Blogesnė žinia – oficiali programėlė šios funkcijos neturi. Bet tai nereiškia, kad negalima – tiesiog reikia šiek tiek pasikapstyti.
Kaip LIFX lemputės bendrauja tinkle
LIFX sukūrė gana išmanų komunikacijos protokolą, kuris veikia per UDP paketų siuntimą 56700 porte. Kiekviena lemputė tinkle klausosi šio porto ir reaguoja į gautus paketus. Protokolas yra binarinis, tai reiškia, kad negalite tiesiog atidaryti naršyklės ir įvesti kokį URL – reikia siųsti specialiai suformatuotus baitų sekas.
Kiekvienas LIFX pranešimas turi antraštę su informacija apie siuntėją, gavėją, pranešimo tipą ir kitus parametrus. Po antraštės eina naudingoji apkrova (payload), kuri priklauso nuo komandos tipo. Pavyzdžiui, norint įjungti lemputę, siunčiate „SetPower” pranešimą su reikšme 65535 (įjungta) arba 0 (išjungta).
Lemputės taip pat periodiš kai transliuoja savo buvimą tinkle per broadcast paketus. Tai leidžia aptikti visas LIFX lemputes jūsų tinkle net nežinant jų IP adresų. Šis mechanizmas vadinamas „discovery” ir yra pirmasis žingsnis valdant lemputes lokaliai.
Įdomu tai, kad LIFX protokolas palaiko ne tik paprastas komandas kaip įjungti/išjungti, bet ir sudėtingesnius efektus – spalvų keitimą, pulsavimą, perėjimus, net kelių lemputių sinchronizavimą. Visa ši funkcionalumas prieinamas lokaliai, nereikalaujant interneto ryšio.
Programiniai įrankiai lokaliam valdymui
Norint valdyti LIFX lemputes lokaliai, reikia programinės įrangos, kuri supranta jų protokolą. Laimei, LIFX protokolas yra atviras ir dokumentuotas, todėl entuziastai sukūrė daugybę įrankių įvairioms platformoms.
Home Assistant – viena populiariausių namų automatizavimo sistemų, kuri turi puikią LIFX integraciją. Įdiegus Home Assistant, jis automatiškai aptinka visas LIFX lemputes tinkle ir leidžia jas valdyti lokaliai. Galite kurti automatizacijas, scenarijus, valdyti per web sąsają ar mobiliąją programėlę. Home Assistant veikia ant Raspberry Pi, senesniame kompiuteryje ar net Docker konteineryje.
Node-RED – vizualus programavimo įrankis, puikiai tinkantis automatizacijoms kurti. Yra specialūs LIFX mazgai (nodes), leidžiantys siųsti komandas lemputėms. Ypač patogus, jei norite sukurti sudėtingesnes logines schemas – pavyzdžiui, kad lemputės reaguotų į oro prognozę ar kitų išmaniųjų įrenginių būsenas.
Lifx-lan – Python biblioteka, skirta tiems, kas mėgsta programuoti patys. Su ja galite rašyti savo skriptus lemputėms valdyti. Pavyzdžiui, galite sukurti skriptą, kuris pakeičia lemputės spalvą priklausomai nuo procesoriaus temperatūros ar gautų el. laiškų skaičiaus.
OpenHAB – dar viena namų automatizavimo platforma, turinti LIFX palaikymą. Šiek tiek sudėtingesnė nei Home Assistant, bet labai galinga ir lanksti.
Praktinis pavyzdys su Home Assistant
Parodysiu, kaip nustatyti LIFX lemputės lokalų valdymą naudojant Home Assistant, nes tai vienas paprasčiausių būdų pradedantiesiems.
Pirma, reikia įdiegti Home Assistant. Paprasčiausias būdas – naudoti Raspberry Pi su Home Assistant OS įvaizdžiu. Tiesiog įrašote įvaizdį į microSD kortelę, įdedate į Raspberry Pi ir įjungiate. Po kelių minučių galite pasiekti Home Assistant web sąsają per naršyklę adresu http://homeassistant.local:8123
Kai Home Assistant paleistas, eikite į Configuration → Integrations ir ieškokite „LIFX”. Dažniausiai Home Assistant automatiškai aptinka LIFX lemputes tinkle ir pasiūlo jas pridėti. Jei ne, galite pridėti rankiniu būdu spausdami „Add Integration” ir pasirinkdami LIFX.
Svarbu žinoti, kad Home Assistant LIFX integracija pagal nutylėjimą naudoja lokalų protokolą. Jums nereikia jokių papildomų nustatymų ar API raktų. Tiesiog lemputė ir Home Assistant turi būti tame pačiame tinkle (arba tinkluose, kurie gali tarpusavyje komunikuoti).
Po sėkmingo pridėjimo, lemputė atsiras jūsų įrenginių sąraše. Galite ją valdyti iš Home Assistant sąsajos, kurti automatizacijas, pridėti į scenarijus. Pavyzdžiui, galite nustatyti, kad lemputė įsijungtų šiltai balta spalva ryte 7 valandą, o vakare automatiškai pritemo iki 20% ryškumo.
Tiesioginė komunikacija su lemputėmis be tarpininkų
Jei nenorite diegti visos namų automatizavimo sistemos, o tiesiog norite paeksperimentuoti arba sukurti paprastą skriptą, galite bendrauti su LIFX lemputėmis tiesiogiai.
Pirmiausia reikia rasti lemputės IP adresą. Tai galite padaryti keliais būdais: pasižiūrėti routerio administravimo sąsajoje, naudoti tinklo skanavimo įrankius kaip Fing ar Advanced IP Scanner, arba panaudoti LIFX protokolo discovery funkciją.
Paprasčiausias būdas Linux ar macOS sistemoje – naudoti netcat įrankį siųsti UDP paketus. Tačiau kadangi LIFX protokolas binarinis, lengviau naudoti paruoštas bibliotekas. Štai Python pavyzdys naudojant lifxlan biblioteką:
from lifxlan import LifxLAN
# Sukurti LIFX tinklo objektą
lifx = LifxLAN()
# Rasti visas lemputes tinkle
devices = lifx.get_devices()
# Įjungti visas lemputes
for device in devices:
device.set_power(True)
device.set_color([32768, 65535, 65535, 3500]) # Spalva HSBK formatu
LIFX naudoja HSBK spalvų modelį: Hue (atspalvis), Saturation (sodrumas), Brightness (ryškumas) ir Kelvin (spalvos temperatūra). Tai skiriasi nuo įprasto RGB modelio, bet suteikia tikslesnę kontrolę LED lemputėms.
Automatizacijos ir sudėtingesni scenarijai
Kai jau turite lokalų valdymą, atsiveria daug įdomių galimybių. Štai keletas praktinių pavyzdžių, ką galite padaryti.
Pranešimai apie svarbius įvykius. Galite nustatyti, kad lemputė sumirguotų raudonai, kai serveris patiria gedimą, arba žaliai, kai automatinis backup’as sėkmingai užbaigtas. Tai ypač naudinga, jei dirbate iš namų ir norite vizualių pranešimų be garso.
Cirkadiniai ritmai. Sukurkite automatizaciją, kuri keičia lemputės spalvos temperatūrą per dieną. Ryte – šalta mėlyna šviesa žadina, dieną – neutrali balta, vakare – šilta geltona padeda atsipalaiduoti. Moksliškai įrodyta, kad tai gerina miego kokybę.
Buvimo simuliacija. Kai išvykstate atostogų, lemputės gali įsijunginėti ir išsijunginėti atsitiktiniais intervalais, kuriant įspūdį, kad namuose kas nors yra. Kadangi tai veikia lokaliai, net interneto sutrikimas nesutrukdys šiai funkcijai.
Integracija su kitais įrenginiais. Lemputė gali reaguoti į judesio jutiklius, durų kontaktus, temperatūros daviklius. Pavyzdžiui, jei temperatūra rūsyje nukrenta žemiau 5°C, lemputė pradeda mirguoti perspėdama apie galimą vamzdžių užšalimą.
Visos šios automatizacijos veikia greitai ir patikimai, nes duomenys nekeliauja į debesis ir atgal. Atsako laikas – milisekundės, ne sekundės.
Saugumo aspektai ir tinklo konfigūracija
Valdant LIFX lemputes lokaliai, verta pagalvoti apie saugumą. Nors lemputė gali atrodyti nekenksminga, ji vis tiek yra įrenginys jūsų tinkle, turintis prieigą prie WiFi.
Geriausia praktika – atskirti IoT įrenginius nuo pagrindinio tinklo. Daugelis šiuolaikinių routerių leidžia sukurti atskirą VLAN ar svečių tinklą. Patalpinkite visas išmaniąsias lemputes, kitas IoT šiukšles į atskirą tinklą, kuris negali pasiekti jūsų kompiuterių ar NAS įrenginių.
Jei naudojate Home Assistant ar kitą valdymo sistemą, ji turėtų turėti prieigą prie abiejų tinklų – pagrindinio ir IoT. Tai galima pasiekti naudojant du tinklo adapterius arba tinkamą VLAN konfigūraciją routeryje.
LIFX lemputės reguliariai gauna programinės įrangos atnaujinimus. Net jei valdote lokaliai, verta leisti lemputėms prisijungti prie interneto kartais atnaujinimams gauti. Galite nustatyti firewall taisyklę, kuri leidžia lemputėms jungtis tik prie LIFX serverių, bet ne į kitus išorinius adresus.
Dar vienas aspektas – jei naudojate Home Assistant su išoriniu prieigos būdu (per Nabu Casa arba savo VPN), įsitikinkite, kad tinkamas autentifikavimas įjungtas. Nenorėtumėte, kad kas nors iš interneto galėtų valdyti jūsų lemputes.
Problemos ir jų sprendimai
Lokalus valdymas ne visada veikia sklandžiai iš karto. Štai dažniausios problemos ir kaip jas išspręsti.
Lemputės neaptinkamos. Patikrinkite, ar lemputė ir valdymo sistema yra tame pačiame tinkle. Kai kurie routeriai turi „AP isolation” funkciją, kuri neleidžia WiFi klientams tarpusavyje bendrauti – ją reikia išjungti. Taip pat įsitikinkite, kad firewall neblokuoja UDP 56700 porto.
Lėtas atsako laikas. Jei komandos vykdomos su vėlavimu, gali būti, kad tinklas perpildytas arba WiFi signalas silpnas. LIFX lemputės palaiko tik 2.4 GHz dažnį, todėl įsitikinkite, kad jūsų routeris turi gerą 2.4 GHz aprėptį. 5 GHz neveiks.
Lemputės atsijungia nuo tinklo. Tai dažnai būna dėl routerio DHCP nustatymų. Nustatykite statinį IP adresą kiekvienai lemputei arba padidinkite DHCP nuomos laiką. Taip pat patikrinkite, ar routeris neturi per daug agresyvių energijos taupymo nustatymų WiFi.
Neveikia kai kurios funkcijos. Ne visos LIFX lemputės palaiko visas funkcijas. Senesni modeliai gali neturėti infraraudonosios šviesos ar kelių zonų palaikymo. Patikrinkite savo modelio specifikacijas LIFX svetainėje.
Konfliktas su oficialia programėle. Jei naudojate ir lokalų valdymą, ir oficialią LIFX programėlę, kartais gali kilti konfliktų. Paprastai tai neturėtų būti problema, bet jei pastebite keistą elgesį, pabandykite atjungti vieną valdymo metodą.
Kai lemputės šviečia savaip ir be debesų
Lokalus LIFX lemputių valdymas – tai ne tik techninis triukas ar privatumo apsauga. Tai galimybė turėti tikrą kontrolę virš įrenginių, kuriuos nusipirkote. Kai viską veikia per debesinius serverius, jūs iš esmės nuomojatės funkcionalumą, o ne valdote įrenginį. Serveriai gali išsijungti, kompanija gali bankrutuoti, arba tiesiog internetas gali nutrūkti – ir jūsų „išmaniosios” lemputės tampa kvailomis.
Su lokaliu valdymu jūsų namų apšvietimas veikia nepriklausomai nuo išorinio pasaulio. Greičiau, patikimiau, privačiau. Be to, galite kurti automatizacijas, kurių niekada nerasite jokioje oficialioje programėlėje – nes jūs pats esate programėlės kūrėjas.
Žinoma, tai reikalauja šiek tiek techninių žinių ir laiko investicijos. Bet jei jau skaitote šį straipsnį, greičiausiai esate būtent tas žmogus, kuriam tai įdomu. Pradėkite nuo paprastos Home Assistant instaliacijos, paeksperimentuokite, sukurkite pirmą automatizaciją. Pamažu suprasite, kad išmanusis namas gali būti tikrai išmanus – ir jūsų kontrolėje, o ne kažkur debesyse.




