Легкое пробуждение в умном доме (добавление эффекта восхода солнца в RGB светодиодную ленту)

02 мая 2019, 18:02

Утром будильник становится на цыпочки, выглядывает в окно. Хоть он и помнит, какую обещали погоду, но проверить никогда не мешает. Если не учтешь погоду, можно ошибиться с пробуждением ребенка.

Кир Булычев «Остров ржавого генерала» 

Жизнь человека привязана к естественным изменениям в живой природе, так называемым биоритмам, зависящим от времени суток, восхода и заката солнца и т.д. Порой очень сложно вставать по утрам, особенно в пасмурную погоду или зимой, когда солнечного света утром совсем мало. Может ли наш умный дом помочь легче просыпаться утром? Ответ да, если в изголовье кровати вмонтирована светодиодная RGB лента, интегрированная в систему управления умным домом. Содержание мелатони́на (гормона сна) напрямую зависит от солнечной активности. Моделирование естественного цикла восхода солнца позволит нам проще проснуться по утрам и быть в хорошем настроении. Итак, что для этого нужно?

Если залезть в википедию, то можно увидеть вот такую диаграмму, показывающую кривую натурального освещения. Но как же теперь разложить цветовую температуру в кельвинах на RGB компоненты? Еще немного поискав в интернете, наткнулся на статью Mitchell Charity, в которой он  уже решил эту задачу. 

T(K)RGB
15002551110
220025515241
270025517484
4200
255
217171

Как мы видим, в интересующем нас диапазоне меняются только каналы G, B. Для установки необходимой цветовой температуры на светодиодной ленте необходимо масштабировать весь интересующий нас цветовой диапазон и яркости свечения по шкале от [1, 20] - времени нашего восхода в минутах для того, чтобы смоделировать естественный восход солнца, когда интенсивность света увеличивается, а длина волны постепенно уменьшается от красного к белому. Для этого есть простая формула: X'=(X-Xmin)/(Xmax-Xmin). Здесь X - изначальное значение параметра, X' - нормализованное. Осталось написать небольшой скрипт на DzVents для Domoticz для реализации нашей затеи. 

return {

   on = {
      timer = {'every minute at 06:40-07:00 on mon,tue,wed,thu,fri'}
   },
   
   data = {
      minutes_after_sunrise = { initial = 1 }
   },
   
execute = function(domoticz)

    local maxTime = 20
    local minTemp = 506
    local maxTemp = 1800
    
    local minBr = 5
    local maxBr = 60

        if (domoticz.data.minutes_after_sunrise > maxTime) then domoticz.data.minutes_after_sunrise =  maxTime end
        if (domoticz.time.matchesRule('at 06:40')) then domoticz.data.initialize('minutes_after_sunrise') end
    
    local Kelvin = math.floor((domoticz.data.minutes_after_sunrise-1)/(maxTime-1)*(maxTemp-minTemp)+minTemp)
    local Brightness = (domoticz.data.minutes_after_sunrise-1)/(maxTime-1)*(maxBr-minBr)+minBr
    
        -- перевод цветовой температуры в RGB
        local temp = Kelvin / 100

        if (temp <= 66) then
            R = 255
            G = 99.4708025861 * math.log(temp) - 161.1195681661
            if (temp <= 19) then B = 0
                
            else 
                B = 138.5177312231 * math.log(temp-10) - 305.0447927307

            end

        else 
            R = 329.698727446 * math.pow((temp - 60), -0.1332047592)
            G = 288.1221695283 * math.pow((temp - 60), -0.0755148492 )
            B = 255;

        end
    
        domoticz.log('Minute = '..domoticz.data.minutes_after_sunrise..' T Kelvin = '..Kelvin .. 
             ' Brightness = '.. Brightness..' R='..R..' G='.. G ..' B='..B)
        domoticz.devices('Bed Light').setColor(R, G, B, Brightness)
        domoticz.data.minutes_after_sunrise = domoticz.data.minutes_after_sunrise +1
            
end
}

Скрипт вызывается каждую минуту утром в будние дни, постепенно изменяя оттенки RGB светодиодной ленты от красного света к теплому, меняя яркость, тем самым моделируя первые лучи восхода солнца. Шкалу яркости я выбрал от 5 до 60 (чтобы яркий свет утром не бил в глаза).  Для корректного отображения цвета на светодиодной ленте в прошивке Sonoff-Tasmota необходимо включить LED гамма-коррекцию командой в консоле LedTable 1

Вот так простым способом можно сделать нашу жизнь проще и комфортней. 


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 2 месяца назад

    Вот бы такое для HA, зачёт. Я так понимаю это можно применить не только к ленте но и к лампе?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 2 месяца назад

      Конечно можно, главное чтобы она была RGB, для WW ламп такое тоже можно сделать, но тогда скрипт надо немного изменить. 

  2. Богдан Корда (bkorda)
    Богдан Корда (bkorda) месяц назад

    Есть видео пример?

К списку блогов

Скидки для сообщества

Ноотехника

+375 17 233-25-45
Промокод:
Sprut
Размер скидки:
10%
Действует у всех официальных представителей. Для применение необходимо указать в поле комментария или при звонке менеджеру.

УЮТНЫЙ ДОМ

+7 495 797-21-74
Промокод:
SPRUT
Размер скидки:
5%

Z-Wave Ukraine

+380 68 641 9670
Промокод:
Sprut-UA
Размер скидки:
15%

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие записи

05 февраля 2019, 00:29
Строю свой первый дом и рассказываю о муках выбора, проводке под умный дом, оборудовании. 30.04.2019 - об уличной проводке
26 апреля 2019, 08:32
Обновление Умного зеркала, доработали, причесали, и теперь почти закончили наворачивать функционал зеркала.
15 января 2019, 20:54
Умная вытяжка.
30 января 2019, 12:39
Я построю свой луна-парк, с блекджеком и шлюхами! Хотя, к черту лунапарк !
18 апреля 2019, 16:30
В статье описана интеграция Wi-Fi переключателя в стандартный удлинитель.
26 февраля 2019, 12:19
Первое впечатление от диммера для относительно бюджетного проводного умного дома.
30 мая 2019, 15:40
Отличные розетки для управления Алисой - подключаются напрямую в облако Яндекса, видятся как Яндекс.розетки, и управляются без задержки. Также можно подключать через собственное облако и mi home и писать скрипты для управления по таймеру, или датчикам.
03 февраля 2019, 08:41
Нам потребуется система на Deconz с установленным GUI, лампа Hue c обновленной прошивкой по предыдущей заметке (потребуется Hue Hub)
17 мая 2019, 10:32
В этом блоге хочу немного порассуждать на тему умного дома, автоматизаций и прочего.