Лампа-будильник Alex Gyver'а на адресных светодиодах и esp8266. Добавление в Home Assistant, Apple Home Kit, интеграция с Алисой и Node-RED

02 августа 2019, 20:59

Содержание:

Не так давно наткнулся на очень интересный проект Alex Gyver'a "Лампа-будильник на адресных светодиодах". Проект мне очень понравился, решил собрать себе такую лампу! Это отличный и уникальный декор, возможность использовать в сценариях и оповещениях. Кто еще не посмотрел ролик - ссылка ниже, обязательно посмотрите. 

Собрался в Леруа, закупил плафон и пару ПВХ труб :)

Светодиодной матрицы у меня небыло, зато была катушка адресной свтодиодной ленты (которая ждала своего часа) и желание все спаять. Светодиоды самоклеящиеся, перед поклейкой важно хорошо обезжирить поверхность. Я использовал изопропиловый спирт "Калоша", которым обычно оттираю флюс. На всю сборку ушел всего один вечер, проект не сложный, время проходит незаметно. После сборки возник вопрос интеграции в систему управления умным домом. К сожалению у Алекса это не было предусмотрено, поэтому я решил реализовать это самостоятельно. Возник вопрос, каким спососбом это сделать. Было по большому счету два варианта: написать собственный компонент/плагин либо добавить платформу-посредник,  поддерживаемую большинством систем домашней автоматизации, например, MQTT. Я выбрал второй вариант т.к. в этом случае лампу можно будет интегрировать сразу во все системы домашней автоматизации. Home Assistant довольно популярен в последнее время, поэтому я решил акцент сделать именно на нем. 

1600x_image.png?1564779594

Подключаем все по схеме Alex'а: 

1600x_image.png?1564779433

По совету aurodionov в качестве подставки использовал основу датчика дыма, получилось на мой взгляд неплохо, достаточно аккуратно и устойчиво. Можно было еще улучшить, сняв немного боковые зубчики, однако их не особо заметно при использовании, поэтому решил оставить как есть для лучшей надежности. 

1600x_image.png?1570258811

Добавление в Home Assistant

Доработанная прошивка позволяет с легкостью добавить лампу Gyver'а в Home Assistant, используя встроенный механизм MQTT Discovery - лампа просто появится в списке устройств после указания адреса вашего MQTT сервера.  Для функций масштабирования и скорости необходимо добавить дополнительные настройки в Home Assistant:

В файле configuration.yaml

input_number:
  speed:
    name: Speed
    initial: 30
    min: 0
    max: 255
    step: 1

  scale:
    name: Scale
    initial: 30
    min: 1
    max: 100
    step: 1

В файле automations.yaml

- alias: Gyver Speed
  trigger:
    platform: state
    entity_id: input_number.speed
    
  action:
    - service: mqtt.publish
      data_template:
        topic: homeassistant/light/ESP-3dc22b/effect/speed/set
        payload_template: "{{ trigger.to_state.state | int }}"
    
- alias: Gyver Scale
  trigger:
    platform: state
    entity_id: input_number.scale
    
  action:
    - service: mqtt.publish
      data_template:
        topic: homeassistant/light/ESP-3dc22b/effect/scale/set
        payload_template: "{{ trigger.to_state.state | int }}"

3dc22b - необходимо заменить на уникальный ID чипа ESP8266, он будет виден в названии лампы и в entity_id в конце строки после знака подчеркивания, а также на портале первоначальной конфигурации. Настройка MQTT сервера проводится в wi-fi менеджере при первом запуске. Для этого создается открытая точка доступа с именем, начинающимся с ESP. Нужно указать адрес MQTT сервера, имя пользователя и пароль для доступа к вашему MQTT серверу.

В первый раз надо прошить, полностью стерев ESP8266, в последующем можно обновлять прошивку через сетевой порт - я добавил такую возможность. 

Если вы уже подключили к ESP8266 светодиодную ленту, перед прошивкой обязательно подключите внешнее питание, иначе есть риск спалить USB порт вашего компьютера. 

Добавление в Home Bridge и Apple HomeKit

Как я уже говорил, с поддержкой MQTT брокера лампу стало возможно интегрировать во все системы управления умным домом, поддерживающих платформу MQTT. Если у вас еще не установлен MQTT брокер, необходимо его установить. Как это сделать - описано в статье - просто переходим до места "Установка MQTT брокера Mosquitto" и делаем все по инструкции. Там описана установка без пароля, при настройке лампы можно указывать любые пароли для MQTT брокера (можно оставить по умолчанию). Для управления из Home Bridge необходимо установить плагин homebridge-mqttthing:

npm install -g homebridge-mqttthing

И внести в файл конфигурации некоторые изменения. Переключение эффектов в Home Bridge не предусмотрено, поэтому заведем эффекты в компонент телевизора. Ну чем панель не телевизор? :)

    "accessories": [
        {
            "accessory": "mqttthing",
            "type": "lightbulb",
            "name": "Gyver Lamp",
            "url": "http://127.0.01:1883",
            "mqttPubOptions": {
                "retain": false
            },
            "topics": {
                "getOn": "homeassistant/light/ESP-3bd20b/status",
                "setOn": "homeassistant/light/ESP-3bd20b/switch",
                "getBrightness": "homeassistant/light/ESP-3bd20b/brightness/status",
                "setBrightness": "homeassistant/light/ESP-3bd20b/brightness/set",
                "getRGB": "homeassistant/light/ESP-3bd20b/rgb/status",
                "setRGB": "homeassistant/light/ESP-3bd20b/rgb/set"
            },
            "onValue": "ON",
            "offValue": "OFF"
        },
        {
            "accessory": "mqttthing",
            "type": "television",
            "name": "Gyver Lamp Effects",
            "url": "http://127.0.0.1:1883",
            "topics": {
                "setActive": "homeassistant/light/ESP-3bd20b/switch",
                "getActive": "homeassistant/light/ESP-3bd20b/status",
                "setActiveInput": "homeassistant/light/ESP-3bd20b/effect/set",
                "getActiveInput": "homeassistant/light/ESP-3bd20b/effect/status"
            },
            "inputs": [
                {
                    "name": "Конфетти",
                    "value": "Конфетти"
                },
                {
                    "name": "Огонь",
                    "value": "Огонь"
                },
                {
                    "name": "Радуга верт.",
                    "value": "Радуга верт."
                },
                {
                    "name": "Радуга гориз.",
                    "value": "Радуга гориз."
                },
                {
                    "name": "Смена цвета",
                    "value": "Смена цвета"
                },
                {
                    "name": "Безумие 3D",
                    "value": "Безумие 3D"
                },
                {
                    "name": "Облака 3D",
                    "value": "Облака 3D"
                },
                {
                    "name": "Лава 3D",
                    "value": "Лава 3D"
                },
                {
                    "name": "Плазма 3D",
                    "value": "Плазма 3D"
                },
                {
                    "name": "Радуга 3D",
                    "value": "Радуга 3D"
                },
                {
                    "name": "Павлин 3D",
                    "value": "Павлин 3D"
                },
                {
                    "name": "Зебра 3D",
                    "value": "Зебра 3D"
                },
                {
                    "name": "Лес 3D",
                    "value": "Лес 3D"
                },
                {
                    "name": "Океан 3D",
                    "value": "Океан 3D"
                },
                {
                    "name": "Снегопад",
                    "value": "Снегопад"
                },
                {
                    "name": "Матрица",
                    "value": "Матрица"
                },
                {
                    "name": "Светлячки",
                    "value": "Светлячки"
                }
            ],
            "onValue": "ON",
            "offValue": "OFF"
        }
    ]

Если доступ к вашему MQTT брокеру осуществляется с логином и паролем, необходимо добавить еще пару строчек в конфигурацию после строчки "url":

"username": "MQTT_username",
"password": "MQTT_password",

Здесь вместо 3bd20b нужно прописать ID чипа ESP. Он отображается в консоле Arduino IDE, а также на портале конфигурации при первоначальной настройке. Перезагружаем HomeBridge, после перезагрузки перезагружаем лампу. В итоге после перезагрузки Home Bridge просто и легко у нас в Home Kit  появится два новых устройства: RGB лампа и "телевизор", выходами которого можно переключать эффекты. 

1600x_image.png?1565420262
1600x_image.png?1565022968
1600x_image.png?1565022968
1600x_image.png?1565022970
1600x_image.png?1565022968
1600x_image.png?1565022968
1600x_image.png?1565022969

Включение и выключение синхронизируется и в "телевизоре", в лампе, в Home assistant, в веб интерфейсе и в приложении для смартфона. Описанным выше способом можно добавить все остальные эффекты. Ползунки скорости и масштабирования если они необходимы можно добавить как отдельную лампу и управлять через уровень яркости. 

Управляющие топики MQTT (для интеграции с прочими системами домашней автоматизации)

Получение статуса лампы:

-- статус включено/выключено. Статус включено "ON" статус выключено "OFF"
"homeassistant/light/ESP-ID/status"

-- статус яркости от 0 до 255
"homeassistant/light/ESP-ID/brightness/status"

-- название эффекта, например "Огонь"
"homeassistant/light/ESP-ID/effect/status"

-- текущая скорость эффекта
"homeassistant/light/ESP-ID/effect/speed/status"

-- текущее значение масштабирования эффекта
"homeassistant/light/ESP-ID/effect/scale/status"

-- значение цвета в RGB палитре, например, 255,255,255 - белый цвет
"homeassistant/light/ESP-ID/rgb/status"

Управление лампой:

-- включение/выключение. Статус включено "ON" статус выключено "OFF"
"homeassistant/light/ESP-ID/switch"

-- установить яркость от 0 до 255
"homeassistant/light/ESP-ID/brightness/set"

-- включение эффекта, например "Огонь"
"homeassistant/light/ESP-ID/effect/set"

-- установить скорость эффекта
"homeassistant/light/ESP-ID/effect/speed/set"

-- установить масштабироване эффекта
"homeassistant/light/ESP-ID/effect/scale/set"

-- установить значение цвета в RGB палитре, например, 255,255,255 - белый цвет
"homeassistant/light/ESP-ID/rgb/set"

Интеграция с Яндекс Алисой

Как же без "импортозамещения"? Сервис умного дома Яндекс хоть очень молод, можно сказать находится в стадии бета тестирования, но уже сейчас он может управлять умными устройствами вашего дома на русском языке. Для интеграции лампы Alex Gyver'а с умным домом Яндекс необходимо подключить интеграцию Домовенок Кузя и загрузить актуальную версию прошивки. На сайте предусмотрено два способов интеграции:

  • С помощью брокера MQTT
  • С помощью http запросов

Текущая версию прошивки поддерживает оба способа. Но так как не у всех есть возможность установить свой mqtt брокер, рассмотрим интеграцию через http запросы. Для удаленного управления необходимо прокинуть в роутере порт до вашей лампы. Далее необходимо настроить правила управления лампой на сайте Домовенка Кузи и связать их с виртуальной лампой:

1600x_image.png?1565887703
1600x_image.png?1565887701
1600x_image.png?1565887707
1600x_image.png?1565887703
1600x_image.png?1565887703

  • Управление включением лампы: http://login:password@ip-address:8000/setconfig?on=1
  • Управление выключением лампы: http://login:password@ip-address:8000/setconfig?on=0
  • Установка яркости лампы: http://login:password@ip-address:8000/setconfig?brightness={value}
  • Состояние лампы: http://login:password@ip-address:8000/getconfig

Если вы собираетесь использовать навык Домовенок Кузя совместно с Умным домом Яндекс, можно настроить ответ домовенка в поле "Ответ Алисы" (да, да.. логика разработчика немного страдает..) необходимо вписать:

яркость {brightness} процентов, эффект {currentMode}

После этого при запросе статуса лампы домовенок сообщит нам уровень яркости лампы и текущий эффект (в виде порядкового номера эффекта). Таким же образом в ответ можно добавить информацию по скорости эффекта и его масштабировании.

т.к. теперь у нас лампа будет доступна из интернет, в прошивку добавлена базовая аутентификация. Для ее включения необходимо раскоментировать строчку #define WEBAUTH в прошивке.  В качестве логина и пароля используется уникальный идентификатор ESP, о котором говорилось выше. Он отображается при первичной настройке в менеджере подключения. Если вы не собираетесь использовать mqtt брокер, в поле mqtt server при первичной настройке необходимо указать none

Для управления доступны также переключение эффекта, скорости и масштабирования. Управляются следующими запросами:

  • Управление переключением эффекта лампы: http://login:password@ip-address:8000/setconfig?currentMode=1
  • Установка скорости эффекта : http://login:password@ip-address:8000/setconfig?speed=10
  • Установка масштабирования эффекта : http://login:password@ip-address:8000/setconfig?scale=10

Вместо 8000 нужно указать порт, который прокинут от лампы с порта 80 в интернет. 

Интеграция в Node-RED

Спасибо Алексею  за проделанную работу по интеграции лампы Gyver'а в Node-RED! 

1600x_image.png?1569065400
1600x_image.png?1569065401

Flow для импорта в Node-RED находятся в папке Node-Red проекта на GitHub

Дополнительно необходимо: 

  • Установить node-red-contrib-homekit-bridged (для добавления в Homekit)
  •  Установить node-red-contrib-color-convert (для конвертации RGB в HSV и обратно) 
  • в mqtt нодах надо поменять ESP-267059 на свой ID 
  • всех homekit нодах надо поменять bridge на свой 
  • в нодах также необходимо заменить ESP-267059 на свой ID

Интеграция с Domoticz

Для интеграции с системой автоматизации Domoticz я написал специальный плагин

1600x_image.png?1589704706

Установка плагига

cd domoticz/plugins
git clone https://github.com/Whilser/Gyver-Lamp-Domoticz-Plugin.git GyverLamp
sudo service domoticz restart

Обновление плагина

git pull
sudo service domoticz restart

Настройка плагина

В панели настройки оборудования введите идентификатор лампы. Если ID лампы неизвестен, просто оставьте в поле идентификатора значение 0, это запустит процедуру поиска лампы в сети. По окончании поиска ID лампы отобразится в Журнале. Идентификатор лампы можно также посмотреть в веб интерфейсе на вкладке "Инфо" в графе ID лампы.

1600x_image.png?1589704706
1600x_image.png?1589704706

Изменения относительно оригинальной прошивки

  • Поддержка работы с MQTT брокером
  • Нативная интеграция с Home Assistant методом Discovery
  • Возможность ОТА обновления через сетевой порт с интересным эффектом "матрица" во время обновления
  • Возможность выбирать цвет из палитры Home Assistant либо через MQTT брокер
  • Автоматическое обнаружение подключенной сенсорной кнопки и корректная работа без нее
  • Корректная работа в случае потери WiFi сигнала либо MQTT брокера (адаптивное подключение)
  • Возможность настроить работу как с MQTT брокером, так и без него без повторной компиляции прошивки. Для этого достаточно при настройке вместо адреса MQTT сервера ввести none
  • Добавлен веб интерфейс управления (не свой, доработал, взял наработки CoOre, который так же создал Fork проекта на GitHub) - достаточно перейти по адресу http://ESP-ID.local/. Вместо ID нужно вписать ID чипа ESP8266. Он отображается в названии лампы и в entity_id после знака подчеркивания, а также в консоле Arduino IDE и на портале первоначальной конфигурации.
  • Доработана интеграция с Яндекс Алисой через интеграцию с Домовенком Кузи.
  • Добавлен "Демо" режим, в котором лампа автоматически меняет эффект по истечении заданного промежутка времени
  • Новыые эффекты - Аквариум, Звездопад, Пейнтбол, Спираль, Теплый свет, Маятник, Мерцание, Полицейская сирена, Дрейф, Стая
  • Настройки MQTT вынесены в отдельный раздел веб интерфейса
  • Добавлен раздел информации в веб интерфейс
  • Прямая поддержка системы автоматизации Domoticz плагином

Прошивку можно скачать из репозитория на GitHub. Прошивка пока находится в бета версии, в дальнейшем возможны изменения. 


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Александр Вайдуров (AlexAW)

    Классно! Подключаюсь к тестированию.

    • (Mathew)
      (Mathew) 10 месяцев назад

      Что означает пробросить порт от роутера ??

      • (sir)
        (sir) 8 месяцев назад

        надо на вашем роутере настроить нат, если не знаете что это лучше обратитесь к знакомому айтишнику/сисадмину

  2. (HEoH)
    (HEoH) год назад

    очень понравилось, соберу себе такую

  3. (aurodionov)
    (aurodionov) год назад

    тоже заказал матрицу и по мелочи , зацепило ... надо делать :)

    • (gonczarov)
      (gonczarov) отредактировано год назад
      Комментарий удален
  4. Александр Вайдуров (AlexAW)

    Ну вот, пару дней тестирования, усердной работы автора, и лампа становится вполне приемлемым продуктом. Мне нравится и функционал и эксплуатационные фишки. И устойчивость работы улучшилась. 

    • Антон Киселёв (Whilser)

      Да, спасибо Александру за тестирование, удалось сделать прошивку значительно стабильней и быстро исправить найденные баги. 

  5. Владимир Иванов (saylar964)

    Доброго времени суток, подскажите, пожалуйста, все сделал по инструкции, при добавлении в home Bridge и Apple HomeKit в конфигурации менял только  ID чипа ESP на свой. По адресу http://esp-6ac738.local/ заходит, в Home Kit  появились два новых устройства, но они не реагируют. Где то сделал ошибку, скорее всего при авторизации не верно указал ip адрес MQTT (я указал адрес малинки). Правильно ли сделал и нужно ли еще менять что либо в конфигурации, ip адрес, порт?  

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано год назад

      А MQTT брокер установлен на малинке? Как установить описано здесь. Если установлен, то с паролем или без пароля? Если с паролем, то их надо добавить в конфигурацию:

      "url": "http://127.0.0.1:1883",
      "username": "MQTT_username",
      "password": "MQTT_password",

      Так же нужно указать правильный логи н пароль при настройке лампы в случае использования MQTT с логином и паролем. 

      • Владимир Иванов (saylar964)

        У меня установлен HomeBridge и для управления из Home Bridge я по инструкции установил плагин homebridge-mqttthing. Больше ни чего не устанавливал. 

  6. Владимир Иванов (saylar964)

    Я установил  MQTT брокер по ссылке выше, там ни где не требовалось вводить пароль и так далее (честно говоря не изучал как им пользоваться) но все равно c home kit не управляется((((  

    • Антон Киселёв (Whilser)

      Попробуй перезагрузить малинку, потом после перезагрузки минут через пять перезагрузить ESP. По ссылке выше установка брокера без пароля. В качестве адреса MQTT брокера нужно указать IP адрес малинки (если установка была на нее). 

    • Антон Киселёв (Whilser)

      Надо убедиться, что mosquitto запустились: 

      sudo service mosquitto status

      Должно отображаться что-то вроде:

      Active: active (running)

      После этого перезагрузить лампу. И да, нужно убедиться, что IP адрес в настройках лампы введен корректно. Можно перепрошить устройство, полностью его стерев либо как вариант отключить на время роутер и перезагрузить лампу. Тогда она откроет на время точку доступа и конфигурационный портал. 

  7. Владимир Иванов (saylar964)

    А вообще без HA инструкция по добавлению отдельно в Home Bridge и Apple HomeKit можно рассматривать как отдельно? 

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано год назад

      Да, для работы лампы устанавливать ХА не обязательно. Для работы требуется только MQTT брокер, HomeBridge и плагин homebridge-mqttthing. Ну и естественно моя версия прошивки. 

      • Владимир Иванов (saylar964)

        Спасибо огромное, все заработало, получил огромный урок, огромное спасибо за статью, кстати видел у Алекса этот проект, сделал его давно, и прям не нарадуюсь что все таки им можно управлять с HomeKi. 

  8. (sega66)
    (sega66) год назад

    Спасибо за прошивку!
    Хочется прикрутить Вашу прошивку к Яндекс-станци

     Для этого надо сделать HTTP запрос типа:
    http://192.168.1.16/control?cmd=GPIO,12,1 
    Можно ли это в Вашей прошивке?
    Если можно-напишите пример запроса на включение лампы.

  9. (sega66)
    (sega66) год назад

    "".....Пример: http://site.com/set-light/{1}, где {1} в это место будет подставлено значение найденое во фразе вкл или выкл передается как 0 - выкл и 1 - вкл, так же можно получить фразу которая пришла от Алисы матка {in}
    по этому url будет отправлен GET запрос"

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано год назад

      Насколько я понял, IP адрес устройства должен смотреть напрямую в интернет? Не очень безопасная схема. Там у него есть интеграция с MQTT, можно вывести MQTT сервер в интернет (либо использовать внешний) и управлять через MQTT (с логином и паролем). Все это доступно без модификации текущей прошивки. 

  10. (sega66)
    (sega66) год назад

    Как это реализовать? У меня нет  MQTT сервера:(

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано год назад

      Можно поискать бесплатные. Например у  www.cloudmqtt.com есть бесплатные тарифные планы для MQTT хостинга, либо установить свой на малинку по инструкции выше. Там при настройке в сервисе домовенка в качестве Payload нужно указать ON или OFF для включения или выключения лампы. Так же можно добавить включение эффектов. Если будет время, позже добавлю инструкцию. 

  11. (sega66)
    (sega66) год назад

    Спасибо! Если найдете время, напишите как интегрировать лампу с внешним  MQTT на примере  www.cloudmqtt.com 

    • Антон Киселёв (Whilser)

      Маякни в телегу, сообщу когда добавлю инструкцию. Либо проверяй время от времени запись в блоге. 

  12. (sega66)
    (sega66) год назад

    Телеги нет:( Буду проверять блог!

  13. Белояр Иван (Ivan711)

    Сюда бы еще приконтачить светомузыку

    • (aurodionov)
      (aurodionov) год назад

      так допишите , аналоговый вход свободен + фурье

  14. Maksim Zhdanov (zhdanovich_q)
    Maksim Zhdanov (zhdanovich_q) год назад

    Ребят. А сколько метров ленты надо, что бы проект повторить?

  15. (aurodionov)
    (aurodionov) год назад

    повторил , для нижней подставки использовал такую штуку ,подошла идеально .
    нужна ТОЛЬКО РОЗЕТКА БЕЗ ДАТЧИКА 

    69496e9b-f6d1-11e8-bbad-00155d0a1f03_f5e5b6ab-0f00-11e9-bbb8-00155d0a2206.jpg
  16. (aurodionov)
    (aurodionov) год назад

    Розетку без дипа ... вот http://www.csb72.ru/catalog/ob... 

    это в моём городе ,у себя можете поискать по модели .

    Закрепил так, сори за размер картинок 

    1000x_image.jpg?15677668211000x_image.jpg?15677668781000x_image.jpg?15677669051000x_image.jpg?1567766906
  17. Дмитрий Санников (directman66)
    Дмитрий Санников (directman66) отредактировано год назад

    Есть идея заменить стекло на алюминиевую сетку и внедрить DIY голосовой помощник на базе raspberry pi zero w и respeaker 2-mic. Видимо придется повторить протокол Алекса Гувера для raspberry. Чат для обсуждения голосового помощника тут  https://t.me/mdmPiTerminal

    • Антон Киселёв (Whilser)
      В качестве голосового помощника в текущий момент можно использовать Алису от Яндекса или Siri от Apple. 

      • Дмитрий Санников (directman66)

        Готовые помощники только для инфраструктуры производителя. Кому нужен полноценный настраиваемый диалог  - собирают свои. Про настройку навыков для Сири  я не слышал, решения от Яндекса пока сильно ограниченно в возможностях. Отсутствие протоколов типа dlna и chromecast внутри прошивок яндекса  вызывает недоумение.

  18. (MrEnzo)
    (MrEnzo) 11 месяцев назад

    Подскажите, на  Wemos mini будет работать эта прошивка ?

  19. Дмитрий Санников (directman66)
    Дмитрий Санников (directman66) 11 месяцев назад

    Спасибо за форк. Работа с приложением Гайвера сохранена? 

  20. (tuxoren)
    (tuxoren) 11 месяцев назад

    Добрый день! Для работы домовенка нужен белый IP ?

  21. (as1800)
    (as1800) отредактировано 11 месяцев назад

    Привет, что-то не получается у меня переключать режимы по MQTT. В homeassistant/light/ESP-ID/effect/set   что бы я не задавал, лампа переключается на Конфети. Другие режимы speed, status, rgb, etc. работают. Но в них задаются цифры, а в effect слова. Или я делаю что нетак?

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

      У меня только предположение, что возможно кодировка не совпадает (должна быть UTF-8) либо есть какие-то еще символы в payload - должно быть слово без кавычек и посторонних символов. В какую систему пытаетесь интегрировать?

  22. (as1800)
    (as1800) 11 месяцев назад

    Спасибо за ответ, я пробовал через программу MQTT.fx  Сейчас не дома, надо будет посмотреть, можно ли там выставить UTF-8 .

  23. (as1800)
    (as1800) 11 месяцев назад

    Так и есть, был не тот формат. Всё работает!

    • (anry)
      (anry) 5 месяцев назад

      Подскажите пожалуйста как исправили.

  24. (generatione)
    (generatione) 11 месяцев назад

    В плане конекта с Алисой в строчке логин-пароль нужно писать от яндекса? И будет ли вся эта вещь работать по WIFI?

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

        Нет, здесь по умолчанию задается ESP-ID устройства (отображается при первоначальной настройке в веб интерфейсе). С Алисой работает только через интернет. 

  25. (dimon7772)
    (dimon7772) 10 месяцев назад

    Как эту прошивку подключить к openHab через MQTT ? Ковыряюсь целый день, а так не могу понять какие топики и куда они стучат, никто не подскажет как это сделать, либо как узнать какие топики шлёт эта лампа?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 10 месяцев назад
      Выше в статье указаны все статусные и управляющие топики. OpenHUB у меня нет, поэтому с настройками помочь не смогу. 

      • (dimon7772)
        (dimon7772) 10 месяцев назад

        Такое ощущение что крайняя прошивка не подключается к москито, либо топики не отсылаются либо подключение не происходит.

        • Антон Киселёв (Whilser)
          Антон Киселёв (Whilser) 10 месяцев назад
          Адрес сервера, имя пользователя и пароль верно указаны?
          А в терминале что шлет? Раскомментриуй директиву #define DEBUG и покажи что пишет. 

          • (dimon7772)
            (dimon7772) 10 месяцев назад

            Адрес, логин и пароль правильно, другие устройства работают. Про терминал не понял, о каком терминале идёт речь, терминал брокера? Подскажите про терминал, не слишком разбираюсь, дайте направление чего и куда рыть.

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

              Нужно понять посылает ли лампа сообщения об изменении статусов и принимает ли их. Для этого нужно подключиться к UART ESP и запустить "монитор порта" в Arduino IDE. 

  26. (anisart)
    (anisart) отредактировано 10 месяцев назад

    Не получается подключить по MQTT к Home Assistant, Discovery не проходит (просто команды слать можно). Hass.io + Mosquito add-on. В логах esp вижу

    Attempting MQTT connection to 192.168.1.218 on port 1883 as mqtt...connected!
    Error sending discover message
    Error sending discover message
    Error sending discover message

    В логах Mosquito только

    New client connected from 192.168.1.36 as ESP-4c5133 (p2, c1, k15, u'mqtt').
    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) отредактировано 10 месяцев назад

      Если есть доступ в консоль хост машины, попробуй установить москито напрямую в систему по инструкции выше. 

      • (anisart)
        (anisart) 10 месяцев назад

        Всему виной была константа MQTT_MAX_PACKET_SIZE. Я использовал библиотеки и менеджера, а не модифицированные из репы. По непонятным для меня причинам define этой константы даже до include не отрабатывает. Поменял на define MQTT_MAX_PACKET_SIZE 1024 и discovery прошло.

        • (AlexBird55)
          (AlexBird55) 8 месяцев назад

          У меня ситуация один в один, но Ваше решение мне не помогло, к сожалению. Буду дальше копать. У меня mosquito стоит как add-on. 

  27. (zrilov2001)
    (zrilov2001) отредактировано 10 месяцев назад

    А можно сделать типо Яндекс станции на этот светильник

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 10 месяцев назад
      Что ты имеешь ввиду? Размер светильника может быть любым. Если ты про интеграцию с умным домом от Яндекса, то она есть (смотри интеграцию с Алисой). 

  28. (id87342159)
    (id87342159) 10 месяцев назад
    Привет. Можно поподробнее про интеграцию через http запросы.
    Застопорился на пункте: "т.к. теперь у нас лампа будет доступна из интернет, в прошивку добавлена базовая аутентификация. Для ее включения необходимо раскоментировать строчку #define WEBAUTH в прошивке.  В качестве логина и пароля используется уникальный идентификатор ESP, о котором говорилось выше. Он отображается при первичной настройке в менеджере подключения."

    Где взять этот логин и пароль или где его прописать нужно?

  29. (superyarik)
    (superyarik) 10 месяцев назад

    а часто https://alexstar.ru бывает недоступен?

  30. (black_sun_white)
    (black_sun_white) 9 месяцев назад

    Добрый день, я никогда не сталкивался ни с протоколом MQTT, ни с Mosquitto, но очень хотелось бы поставить прошивку в HomeKit. Трудности возникают сразу на первом этапе установки москита. Как именно это нужно сделать? 

  31. Иван Дылгиров (dr_divan)
    Иван Дылгиров (dr_divan) 9 месяцев назад

    Привет сообществу!

    Не подскажете подробнее о реализации управления через HTTP запросы в Алисе?

    Я прошил Wemos (ESP8266) на последнюю версию прошивки в локальном режиме и подключил к роутеру. По инструкции прокинул порты (см.скриншот1),на сайте alexstar.ru создал устройство и правила для него (см.скриншот2-3), на телефоне активировал Домовёнка Кузю и обновил список утройств (лампа там появилась, но не управляется совсем).

    1000x_image.png?15766633331000x_image.png?15766638541000x_image.png?1576663893


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

       Привет, для проброски нужно использовать протокол TCP, у тебя выбран протокол UDP. Для того, чтобы все работало необходим прямой внешний ("белый")  IP. Именно его нужно и указывать при настройке лампы на сайте alexstar.ru. Если включена веб авторизация - проверь правильность задания логина и пароля. Попробуй обратиться к лампе с внешнего IP, проверь, откроется ли веб интерфейс (должен открыться). 

  32. (PucKu)
    (PucKu) 9 месяцев назад

    Доброго времени суток.

    Делал всё вроде бы по инструкции но лампа не может подключиться к mqtt брокеру.

    12:50:51.426 -> WiFi manager...connected! IP address: 192.168.1.110. Signal strength: 86% 12:50:51.426 -> 12:50:51.426 -> MAC: DC:4F:22:61:11:D9 12:50:51.426 -> UDP server on port 8888 12:50:51.531 -> Запущен веб сервер по адресу: http://ESP-6111d9.local/ 12:50:55.372 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 10 seconds 12:51:05.353 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 20 seconds 12:51:25.374 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 40 seconds 12:52:05.383 -> Attempting MQTT connection to ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ on port ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @ as ⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮?⸮H @...failed, rc=-2 try again in 80 seconds

    В  Home Bridge и Apple HomeKit добавил,  брокер Mosquitto установлен.

    Вот файл прошивки которую заливал.

    Моя прошивка

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

      Вместо адреса MQTT сервера какая-то каша. Попробуй перепрошить последней версией (предварительно все стерев) и настрой все по-новой (введи адрес, логин и пароль при первичной настройке). 

      • (PucKu)
        (PucKu) 9 месяцев назад

        Как сбросить настройки?

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

          Перепрошить, полностью стерев перед этим. Ещё портал открывается при загрузке если сеть не найдена. 

          • (PucKu)
            (PucKu) 9 месяцев назад

            Спасибо огромное. Получилось только тогда когда полностью стёр esp  esptool.exe.

  33. (Uef)
    (Uef) 9 месяцев назад
    Добрый вечер,
    Прошил контроллер Вашей версией, всё работает кроме будильника. ВЕБ интерфейсе разрешаю день недели ставлю время, но ни функция рассвет ни включение лампы не работает. В ВЕБ интерфейсе текущее время отображается правильно. Может нужна какая-то дополнительная конфигурация скетча? Кнопка у меня не подключена. В чем может быть проблемма?

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

      Включение совсем не работает или только рассвет? Рассвет вполне может не работать из-за кнопки т.к. кнопка отключает будильник, когда ее нет система может воспринимать ее как нажатую и отключает рассвет, не успев включить. 

  34. (Uef)
    (Uef) 9 месяцев назад
    Будильник и рассвет совсем не работают, вероятно без кнопки эти режимы не работают. К порту D2 у меня не подключено ни чего, может его нужно " подтянуть" через резистор к GND?

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 9 месяцев назад
      1. Прошивка последняя, 1.5? Подтяжка не нужна, будет время - посмотрю код на предмет того, как он будет реагировать без подключенной кнопки и по возможности если будет найдена ошибка - поправлю. 
  35. (Uef)
    (Uef) 9 месяцев назад
    Да, прошивка 1.5, я имел ввиду поставить резистор чтоб система думала что кнопка подключена.

  36. (virbatim)
    (virbatim) 8 месяцев назад

    Добрый вечер, очень хотелось бы подключить лампу по данному методу, но увы я не могу понять что куда загружать, куда настойки добавлять. Помогите пожалуйста.

  37. (jsph_parker)
    (jsph_parker) 8 месяцев назад

    Глянул комменты, но не видел (возможно пропустил, возможно действительно нет), как запустить процесс обновления прошивки On The Air ? В самом файле прошивки в Ардуино ИДЕ увидел только реакцию кнопки на 5 нажатий (покажет IP), кроме стандартных 1 (вкл/выкл), 2 (след), 3 (пред).

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

      Да, действительно нет, добавлю в текст. Для обновления необходимо в Arduino IDE в качестве порта выбрать сетевой порт (он появится в списке портов если до этого была установлена моя версия прошивки). А дальше как обычно - нажать загрузить и подождать пару минут. 

  38. (sir)
    (sir) 8 месяцев назад

    Доброго времени суток, помогите плиз с настройками и подскажите для чего нужен id яндекс устройства . 

    Лампу настроил вроде, строку разкомментировал, порт пробросил. По хттп все отрабатывается. В кузе настроил по рецепту.

    Когда прошу Алису она отвечает как хочет и дергает тригер в я.устройствах, лампа не включается.

    Когда прошу Кузю, отвечает как прописал, но тригер  в я.устройствах не реагирует, лампа не включается.

    Моя строка работает через браузер хттп//ESP-e4b024:ESP-e4b026@10.130.230.240:8000/setconfig?on=1,

     А в демолампе по другому, там через id(у меня так не фурычит) lamp.alexstar.ru/a07087d1-eb48-4562-947a-510b34e31c22/set/{value}.

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 8 месяцев назад
      Аутентификация нужна для того, чтобы закрыть несанкционированный доступ извне т.к. теперь наше устройство становится доступным из сети интернет. Попробуй протестировать настройку, отключись из домашней сети и попробуй вызвать команду извне. Если сработает - все настроено верно. Судя по твоему IP - он относится в частной сети, для настройки нужно использовать внешний ("белый") желательно статический IP, который и нужно указывать в домовенке, прокинув порт со статического внутреннего адреса. 

      • (sir)
        (sir) 8 месяцев назад

        с аутентификацией понятно, айпи именно внешний(немного поправил его, типа шифруюсь =)), домашний 192..., в браузере через команду все работает и по домашнему и по внешнему - все отрабатывает четко. 

        думаю что-то с настройками кузи, можешь скрин показать

        1000x_image.gif?1578425821
        • Антон Киселёв (Whilser)
          Антон Киселёв (Whilser) 8 месяцев назад

          Проверь все же свой реальный внешний IP, IP 10 подсети относятся к частным, очень похоже, что у тебя "серый"  IP, т.е. ты находишься за NAT. Интеграция будет работать только с белым IP (его можно запросить у провайдера, часто такая услуга предоставляется). Ну а дальше создаются правила на включение, на выключение лампы (либо на включение какого-то эффекта), на настройку яркости. После этого правила активируются. Дальше создается виртуальная лампа и к ней подвязываются созданные ранее правила. После этого все должно заработать. 


          В демолампе используется другой механизм идентификации и аутентификации, поэтому там все немного по-другому. 

          • (sir)
            (sir) 8 месяцев назад

            благодарю, вы были совершенно правы и желтый цвет строки активно на это намекал =), взял у прова белый айпи и все сразу получилось. почему-то казалось, что в диапазоне 10 тоже есть белые адреса.

  39. Wlad Gusca (necton)
    Wlad Gusca (necton) 8 месяцев назад
    Собрал, но вот что не делал в Home Assistant устройство обнаруживаться упорно не хочет. Возможно нужны какие-то танцы с бубном? И камрады, большая к вам просьба - я мало знаю об MQTT просветите пожалуйста как на лампу слать команды?
    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 8 месяцев назад
      1. Установить MQTT брокер (как это сделать - ссылка выше в статье)
      2. Добавить интеграцию MQTT в Home Assistant: Настройки - Интеграции - нажать на плюсик, выбрать MQTT, ввести IP адрес MQTT брокера (если устанавливал на малину - IP малины), нажать добавить
      3. При первичной настройке лампы (портал первоначальной настройки) ввести IP адрес MQTT брокера
      4. Перезагрузить лампу (возможно после этого понадобится перезагрузить Home Assistant)
      5. После перезагрузки все пропишется и пробросится автоматически. 
      • (Yohan)
        (Yohan) отредактировано 7 месяцев назад

        Так и не понял в каком месте вводить IP адрес, логин и пароль MQTT.

        Как попасть в этот портал первоначальной настройки?

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

          Нужно подключиться к точке доступа лампы. У нее будет имя что-то вроде ESPxxxx. xxxx - это id чипа ESP. После подключения должен автоматически провалиться в этот портал настройки. 

  40. (bla84diamond)
    (bla84diamond) 8 месяцев назад

    Заметил глюк. Если настроен MQTT в лампе и вдруг он становится недоступен, то лампа самопроизвольно включается через несколько минут. Выключаешь её и она снова минут через 10-20 сама включается.

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 8 месяцев назад
      Это происходит из-за того, что если лампа долго не может соединиться с MQTT брокером, она думает что возможно зависла и перезагружает себя. Если MQTT не используется - его можно просто отключить. А в остальном, надо сделать сохранение последнего состояния, чтобы даже если лампа перезагружалась, то статус ее не менялся. Позже подправлю. 

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

      Прошивку обновил (на github), можно тестировать. 

      • Денис Михайлов (dens96)
        Денис Михайлов (dens96) 7 месяцев назад

        Да, при потере связи лампы с брокером она ребутится. Статус лампы не меняется, но видно, как она в этот момент моргает. Плюс у моей лампы на полсекунды загорается и гаснет первый светодиод.

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

          Если брокер не используется, его можно отключить. Чтобы первый светодиод при этом не загорался, можно сменить пин подключения, который при старте инициализируются сигналом низкого уровня. 

  41. (dibiliti)
    (dibiliti) 7 месяцев назад

    Спасибо большое за прошивку и статью! У меня всё получилось, но есть один момент, не пойму кто виноват. Если выключаешь лампу с приложения ГивиЛамп, HA не понимает статус её. Если через веб- понимает, если физически - понимает. Посмотрел mqtt, почему то не присылается статуc: "homeassistant/light/ESP-680afc/status" это бага или только у меня так? 

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

      Посмотрю на выходных, возможно это бага. 

      • (dibiliti)
        (dibiliti) 7 месяцев назад

        Спасибо за обратную связь. Буду ждать ответа. 

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

          Прошивку обновил (на github), можно тестировать. 

          • (dibiliti)
            (dibiliti) отредактировано 7 месяцев назад

            Спасибо большое, вроде работает. Если Вам не сложно, подсказать такой момент: Настроил Я.Алису через yandex2mqtt, есть такой плагин, если знаете, он в топик: homeassistant/light/ESP-***/switch/on отправляет или 1 или 0, а не on/off. Это через Node-red только можно настроить? Если не встречались с этим, можете не отвечать. Спасибо. 

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

              А в плагине нет возможности переназначить команды? Можно и без НР настроить, но надо прошивку немного поправить, добавить дублирующие топики, которые будут в качестве управления принимать 0 или 1

  42. Денис Михайлов (dens96)
    Денис Михайлов (dens96) 7 месяцев назад

    Подскажите, пожалуйста, как реализовать обратную связь с лампой? Нужно, чтобы в HomeAssistant сущности скорость, эффекты, яркость и т.д. обновлялись, если они были изменены через приложение GyverLamp. Понятно, что это делается через автоматизацию путем подписи на топик, например, homeassistant/light/ESP-ХХ/effect/speed/status, но как передать полученное значение сущности, я пока не могу постичь.

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

      Владислав говорит, что уже сделал. Обещал в статье описать, так что думаю в скором времени будет инструкция. А вообще, при любом изменении статус отображается в топиках, нужно просто их читать и изменять бегунки. 

      • Денис Михайлов (dens96)
        Денис Михайлов (dens96) 7 месяцев назад

        Читать топики получается, а вот изменять бегунки - нет. С шаблонами трудности. Посмотрите, пожалуйста, что не так:

        - alias: GyverLamp Speed Get

          trigger:

              platform: mqtt

              topic: homeassistant/light/ESP-ХХХХ/effect/speed/status

        action:

          - service: input_number.set_value

            data_template:

                entity_id: input_number.gyverlamp_speed

                payload_template: "{{ trigger.to_state.state | int }}"

        • Антон Власов (freenetwork)
          Антон Власов (freenetwork) отредактировано 7 месяцев назад

          XXXX поменяли?

          • Денис Михайлов (dens96)
            Денис Михайлов (dens96) 7 месяцев назад

            Да, конечно, поменял на свой.

            У меня лампа вообще почему-то в HomeAssistant не автообнаруживается по MQTT. Вручную добавлял все сенсоры.

            • (Yohan)
              (Yohan) 7 месяцев назад

              если мне память не изменяет, то нужно что бы были строчки в конфиге в mqtt: 

              discovery: true 

              discovery_prefix: homeassistant

  43. Антон Власов (freenetwork)
    Антон Власов (freenetwork) 7 месяцев назад

    Подскажите как по OTA обновить?
    Матрица повернута направо, хочу перевернуть

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 7 месяцев назад
      В Arduino IDE в качестве порта нужно выбрать сетевой порт и нажать кнопку загрузить. 

      • Антон Власов (freenetwork)
        Антон Власов (freenetwork) 7 месяцев назад

        Спасибо!
        Если у меня матрица как у Алекса, не лента. И повернуто все направо, как перевернуть? Я туплю. Пробывал параметры менять нифига не выходит((.


        MATRIX_TYPE 0         // тип матрицы: 0 - зигзаг, 1 - параллельная
        CONNECTION_ANGLE 0    // угол подключения: 0 - левый нижний, 1 - левый верхний, 2 - правый верхний, 3 - правый нижний
        STRIP_DIRECTION 0   
        • Антон Киселёв (Whilser)
          Антон Киселёв (Whilser) 7 месяцев назад

          #define CONNECTION_ANGLE 0
          #define STRIP_DIRECTION 0

          И не забудь 

          #define WIDTH 16

          #define HEIGHT 16

          • Антон Власов (freenetwork)
            Антон Власов (freenetwork) 7 месяцев назад
            Все завелось кроме направления. Спасибо сейчас проверю. 

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

              Возможно у тебя точка подключения матрицы отличается. Посмотри гайд по подключению матрицы и направлению светодиодов. 

  44. (Yohan)
    (Yohan) отредактировано 7 месяцев назад

    А у всех так, когда меняешь яркость из HA, то она не плавно меняется, а рывками? В момент нажатия на ползунок лампа на доли секунды тухнет и потом уже принимает нужную яркость.

    И ещё по поводу яркости, когда например выбираешь просто цвет, такое ощущение что яркость 100, 150, 200 все светят на максимальные 250, а уменьшается только на глаз где то от 80, может от 90.

    • Александр Вайдуров (AlexAW)
      Александр Вайдуров (AlexAW) 7 месяцев назад

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

      • (Yohan)
        (Yohan) 7 месяцев назад

        Мои органы восприятия видят, что при управлении лампой из HA, она лагает, эффекты притормаживаются на пол секунды где то.

        А вот если управлять из приложения или напрямую в топики MQTT, то лагов нет, всё работает стабильно и как положено.

        Проблема где то кроется в прошивке, либо как то сам HA криво отправляет в топики, хотя если через панель разработчика отправлять, через службы, то лагов тоже нет. Может HA тормозит лампу когда получает данные с MQTT, а потом уже отправляет новые, я так и не понял в чём дело.

        Собрал другу вторую лампу, на ней всё так же.

        • Денис Михайлов (dens96)
          Денис Михайлов (dens96) 7 месяцев назад

          У меня из HA яркость лампы меняется нормально, без лагов и задержек. Но заметил, что если эффект выбран через HA, то после ребута лампы он не сохраняется - запускается предыдущий эффект. А ребутится она довольно часто :). Через приложение такого косяка нет.

        • Александр Вайдуров (AlexAW)
          Александр Вайдуров (AlexAW) отредактировано 7 месяцев назад

          В посте выше я писал про вторую часть вашего вопроса, про яркость. Что касается лагов, добрался до дома, попробовал есть некое промаргивание при установки новой яркости, типа разгорается с нуля до установленного значения.

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

            Исправил "разгорание" лампы с нуля при смене яркости. Немного доработал механизм включения лампы. 

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

      Там может срабатывать ограничение по току и яркость дальше не меняться. На разных оттенках срабатывает по-разному т.к. потребление тока разное. Немного доработал механизм включения, убрал цикл розжига лампы при смене яркости, возможно это немного поможет. 

      • (Yohan)
        (Yohan) отредактировано 6 месяцев назад

        Да, помогло, всё работает теперь так как нужно. Спасибо. Заметил что если постоянно вызывать эффект снегопад, когда он уже запущен, то он тоже моргает. Так же и с эффектом матрица. Решил это конечно у себя другим способом, что если этот эффект уже запущен, то не спамить в топик и не вызывать опять его же. Пишу интеграцию дли игры counter strike в home assistant, где от разных событий в игре лампа принимает разный цвет или эффект, поэтому приходится постоянно слать в топик данные.


  45. (ryusik95)
    (ryusik95) 7 месяцев назад

    Скажите, можно ли реализовать управление через бесплатные mqtt серверы с последущим управлением через телефон/комп? Я абсолютный профан в этом, поэтому если можно такое сделать то как?

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

       Конечно можно, если нужно управление из домашней сети, то можно установить MQTT брокер, например на raspberry pi. Если нужно управление извне, тогда внешний mqtt сервер. Однако с внешним есть один нюанс, многие бесплатные сервисы предлагают использовать особый формат топиков для разделения пользователей, в данной же прошивке топики жестко зашиты, поэтому для использования  большинства бесплатных MQTT серверов необходимо будет внести некоторые изменения в прошивку. 

      Если цель просто управление лампой по сети, то для этого необязательно использовать mqtt брокеры, можно управлять через приложение для смартфона (можно найти в App Store или Google Play). 

  46. (Yohan)
    (Yohan) 5 месяцев назад

    Заметил такой баг сегодня. Дома выключали свет. После включения лампа зажглась и светила. В HA она отображалась как выключена, переключатель на вкл/выкл не реагировал.

    Заработала только тогда, когда выключил ещё раз из розетки и вставил обратно. После этого HA увидел её.

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

      Очевидно после включения света лампа подключилась к сети до того, как поднялся MQTT сервер. Это не страшно т.к. лампа время от времени пытается подключиться и восстановить связь. Через некоторое время связь бы самостоятельно восстановилась. 

      • (Yohan)
        (Yohan) 5 месяцев назад

        Нет, тут в чём то другом дело. MQTT сервер был включён, в то же время работали другие лампы. Было пару случаев, когда никакие перезагрузки лампе не помогали. Решилась проблема только заливкой заново прошивки с All Flash Contents

  47. (Yohan)
    (Yohan) 5 месяцев назад

    Добавьте в прошивке возможность отправлять RGB цвет через http. Сейчас эффект и яркость можно передать, а цвет нет.

    И ещё по эффекту "Огонь".
    У меня ширина 84 светодиода, светодиоды с 70 по 84 не светятся совсем в этом режиме.
    В прошивке стоит #define WIDTH 84
    Как можно увеличить ширину? Проблема только с этим эффектом, остальные работают как надо.

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

      Добавил возможность задавать цвет через http. Например http://<IP лампы>/setconfig?on=1&currentMode=14&r=254&g=100&b=10

      т.е. в запросе можно напрямую задавать значения из rgb палитры. Обновленную версию залил на гитхаб. 

      • (Yohan)
        (Yohan) отредактировано 5 месяцев назад

        Отлично, за это спасибо. Сегодня попробую обойтись без MQTT, для интеграции с игрой Counter Strike. По идее должны быстрее срабатывать события

      • (Yohan)
        (Yohan) 5 месяцев назад

        Работает, но не совсем корректно.

        Допустим включаешь синий цвет, потом выключаешь лампу.

        И если лампа была выключена, то при следующем включении красного цвета, сначала включится синий, а затем уже красный.

        Получается лампа включается, но сам цвет ещё не успел примениться. Надо что бы сначала применялся цвет, а потом уже включалась лампа.

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

          Обновил. Сейчас должно правильно работать. 

          • (Yohan)
            (Yohan) 5 месяцев назад

            Что то пошло не так)
            /setconfig?currentMode=14&r=255&g=0&b=0&brightness=15
            /setconfig?on=0
            /setconfig?currentMode=14&r=0&g=255&b=0&brightness=15
            Вот в таком порядке попробуйте. Лампа ещё включается если выставляется brightness, не только по on=1

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

              Профиксил это. Только теперь если лампа была выключена нужно всегда добавлять ключ on=1. 

  48. (levi)
    (levi) 5 месяцев назад

    Здравствуйте,

    Подскажите пожалуйста как добавить управление скоростью и масштабом в окно управления лампой?

    В файл автоматизации и конфигурации добавил соответствующие строки с подменой ID на мои но безуспешно...

    1000x_image.png?15869616911000x_image.png?1586961778
    • (Yohan)
      (Yohan) отредактировано 5 месяцев назад

      у меня вот так сделано

      1000x_image.png?15870422281000x_image.png?15870423361000x_image.png?1587043136
    • (Yohan)
      (Yohan) отредактировано 5 месяцев назад
      1000x_image.png?15870427451000x_image.png?1587042746

      и для этих данных отдельная карточка
      появляется, когда лампа включена

  49. (levi)
    (levi) 5 месяцев назад

    Спасибо! Заработало!

  50. (sergey.sadovnikov)
    (sergey.sadovnikov) 4 месяца назад

    последняя версия с github не собирается

    GyverLamp-Whilser/firmware/GyverLamp_v1.5_MQTT/GyverLamp_v1.5_MQTT.ino: In function 'void setup()': GyverLamp_v1.5_MQTT:443:42: error: 'readMQTTConfig' was not declared in this scope MQTTconfig MQTTConfig = readMQTTConfig(); ^ exit status 1 'MQTTconfig' does not name a type

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

      Функция readMQTTConfig объявлена в файле mqtt.ino, возможно проблема где-то выше либо в другом файле. Проверь целостность и наличие всех файлов из последней сборки, отсутствие прочих внесенных ошибок. Попробуй скачать и скомпилировать прошивку без изменений, затем уже выставить свои параметры матрицы и часового пояса. 

      • (sergey.sadovnikov)
        (sergey.sadovnikov) 4 месяца назад

        Arduino: 1.8.6 (Linux), Плата:"LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 921600"

        In file included from /home/ss/Yandex.Disk/sxem/GyverLamp/GyverLamp-Whilser_tmp/firmware/GyverLamp_v1.5_MQTT/GyverLamp_v1.5_MQTT.ino:113:0:

        /home/ss/Arduino/libraries/FastLED-3.2.9/FastLED.h:14:21: note: #pragma message: FastLED version 3.002.009

        # pragma message "FastLED version 3.002.009"

        ^

        In file included from /home/ss/Arduino/libraries/FastLED-3.2.9/FastLED.h:65:0,

        from /home/ss/Yandex.Disk/sxem/GyverLamp/GyverLamp-Whilser_tmp/firmware/GyverLamp_v1.5_MQTT/GyverLamp_v1.5_MQTT.ino:113:

        /home/ss/Arduino/libraries/FastLED-3.2.9/fastspi.h:115:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

        # pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

        ^

        mqtt:2:1: error: 'MQTTconfig' does not name a type

        MQTTconfig readMQTTConfig () {

        ^

        /home/ss/Yandex.Disk/sxem/GyverLamp/GyverLamp-Whilser_tmp/firmware/GyverLamp_v1.5_MQTT/GyverLamp_v1.5_MQTT.ino: In function 'void setup()':

        GyverLamp_v1.5_MQTT:462:42: error: 'readMQTTConfig' was not declared in this scope

        MQTTconfig MQTTConfig = readMQTTConfig();

        ^

        exit status 1

        'MQTTconfig' does not name a type

        Этот отчёт будет иметь больше информации с

        включенной опцией Файл -> Настройки ->

        "Показать подробный вывод во время компиляции"

      • (sergey.sadovnikov)
        (sergey.sadovnikov) 4 месяца назад

        с гитхаба версия 1.4 собирается без ошибок.

        • Антон Киселёв (Whilser)
          Антон Киселёв (Whilser) 4 месяца назад
          1. Очень странная ошибка, ведь тип MQTTconfig и в версии 1.4 был. Проверь что struct MQTTconfig на месте, попробуй обновить Ardiono IDE до версии 8.12.
          • (sergey.sadovnikov)
            (sergey.sadovnikov) 4 месяца назад

            обновление ide на 1.8.12 помогло, но как то это странно)) 
            Спасибо!

  51. (megadenis)
    (megadenis) отредактировано 4 месяца назад

    Скажите пожалуйста, часовой поезд выставлен правильно, но часы спешат на 2 часа вперед. И второй вопрос, куда добавлять содержимое, преданазначенное для  automations.yaml, если у меня lovelace, и этого файла просто нет.

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

      Попробуй выставить другой часовой пояс чтобы время совпадало. Файл automations.yaml можно редактировать из плагина File Editor (ex. Configurator) в нем же можно править файл configuration.yaml. 

      • (megadenis)
        (megadenis) 4 месяца назад

        Про File Editor понятно, просто у меня нет этого файла :(

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

          Должен быть, если нет - создай. 

          • (megadenis)
            (megadenis) 3 месяца назад

            У меня вынесены в папку include. Делал НА  по урокам квазиса, все из файла automations.yaml вынесено в отдельные файлы. Не понимаю как по аналогии гайвер лампу сделать. Управление есть кроме скорости  и масштаба.

  52. (MasterShu)
    (MasterShu) 3 месяца назад

    Шикарно сделано. Спасибо большое! Особенно веб-морда порадовала. Единственное, чего не хватает для модификации лампы гайвера до идеального варианта - замены кнопки на энкодер. Чтобы кнопка включала/выключала лампу, двойной/тройной и т.п. щелчок переключали на режим изменения скорости, масштаба, эффекта, а вращение энкодера в ту или иную сторону - изменяло бы значение величины. А по дефолту меняло бы яркость. У Алекса Гайвера вроде бы есть библиотека GyverEncoder, сделанная по аналогии с GyverButton - с дебаунсами и прочим. Хотел всё сам сделать, но недавно сын родился - теперь надолго не до того. Когда-то на форуме гайвера делился лайфхаками и тонкостями в отношении сборки лампы, но прошивку дорабатывать так и не сел. Может быть в вашей появится такой функционал. Готов за него задонатить 1000р. Не много, но пока больше не смогу.

  53. (Alexus-12)
    (Alexus-12) 2 месяца назад

    Подскажите, как указать адрес  MQTT сервера? При первоначальной настройке я его не указал, а теперь не могу зайти в вэб-интерфейс лампы чтобы его прописать.

    • Антон Киселёв (Whilser)
      Антон Киселёв (Whilser) 2 месяца назад
      Веб интерфейс в любом случае доступен, по-моему по четырехкратному тапу показывает IP адрес, по нему нужно зайти через браузер, там будет вкладка MQTT, в ней можно указать настройки MQTT брокера. 

      • (Alexus-12)
        (Alexus-12) 2 месяца назад

        ИП мне известен.Но в вэб интерфейс не заходит. Пробовал и сеть забывать - пароль к сети спрашивает, подключается опять, но интерфейса нет. Можно как-то сбросить все сетевые настройки?

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

          Есть способ. Нужно пять раз подряд включить и выключить лампу с задержкой в секунд 10 пока не появится сообщение на лампе что настройки сброшены. Тогда откроется портал первоначальной настройки и можно будет все параметры ввести по-новой. 

          • (Alexus-12)
            (Alexus-12) 2 месяца назад

            В прошивке указано, что если включить лампу с зажатой кнопкой, то по идее должно сбросить настройки. Но пока не получается ни этим способом, ни выше предложенным.

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

              Ты прошивку-то хоть мою используешь? Последнюю версию с гитхаба? Пере первой прошивкой esp нужно полностью стереть. Тогда все должно корректно работать. 

              • (Alexus-12)
                (Alexus-12) 2 месяца назад

                А как её стереть? Она записала в память настройки сети и все параметры. Из-за этого перепрошивка ничего не сбрасывает.

                Сори за тупой вопрос.

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

                  Самый простой способ перед прошивкой в Arduino IDE выбрать в пункте Erase Flash: All flash Contents, затем загрузить прошивку

                  • (Alexus-12)
                    (Alexus-12) 2 месяца назад

                    Вроде получилось. Спасибо!!!

  54. (dima2000)
    (dima2000) 2 месяца назад

    Приветствую.

    Собрал, прошил, подключил к роутеру, прокинул в HA. Но есть проблема с вэб мордой. Не открывается ни по IP ни так  http://esp-826cd2.local/
    При обращении к странице лампы в браузере, сами диоды на лампе как-бы подвисают. Куда копать?

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

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

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

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

Тематические чаты

DIY

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

25 марта 2019, 05:02
Нативный Homekit на ESP8266 Relay_8CH
13 февраля 2019, 22:00
Подключение радио на Xiaomi Gateway к Home Assistant c дальнейшим использованием в автоматизациях
16 июля 2020, 15:13
Удобная настройка Home Assistant с помощью packages.
19 апреля 2019, 20:53
Требуется ваше мнение!
20 января 2019, 17:39
Создание очень бюджетной автоматизации рулонных штор
26 апреля 2019, 08:32
Обновление Умного зеркала, доработали, причесали, и теперь почти закончили наворачивать функционал зеркала.
12 сентября 2020, 20:51
Создание при помощи бесплатной программы Sweet Home 3D интерактивного плана помещения для Home Assistant.
06 февраля 2019, 12:02
Автоматизированное открытие/закрытие окна
04 апреля 2019, 12:45
Самое важное из апдейта Home Assistant 0.91-0.91.4 от 03.04.19.
21 марта 2019, 11:59
Самое важное из апдейта Home Assistant 0.9 от 20.03.19.