Блог

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

Содержание:

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

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

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

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

Добавление в 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.0.1: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",

Включение и выключение синхронизируется и в "телевизоре", в лампе, в 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 запросы. Для удаленного управления необходимо прокинуть в роутере порт до вашей лампы. Далее необходимо настроить правила управления лампой на сайте Домовенка Кузи и связать их с виртуальной лампой:

  • Управление включением лампы: 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=
  • Состояние лампы: http://login:password@ip-address:8000/getconfig

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

яркость процентов, эффект

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

т.к. теперь у нас лампа будет доступна из интернет, в прошивку добавлена базовая аутентификация. Для ее включения необходимо раскоментировать строчку #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!

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 я написал специальный плагин

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

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 лампы.

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

Поддержка работы с 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. Прошивка пока находится в бета версии, в дальнейшем возможны изменения.


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

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

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

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

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

не подскажите какую брали?

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

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

Доброго времени суток, подскажите, пожалуйста, все сделал по инструкции, при добавлении в home Bridge и Apple HomeKit в конфигурации менял только 

ID чипа ESP на свой. По адресу http://esp-6ac738.local/">http://esp-6ac738.local/ заходит,

в Home Kit  появились два новых устройства, но они не реагируют. Где то сделал ошибку, скорее всего при авторизации не верно указал ip адрес MQTT (я указал адрес малинки). Правильно ли сделал и нужно ли еще менять что либо в конфигурации, ip адрес, порт?  

А MQTT брокер установлен на малинке? Как установить описано https://sprut.ai/client/article/1274">здесь. Если установлен, то с паролем или без пароля? Если с паролем, то их надо добавить в конфигурацию:


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

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

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

Нужно установить еще MQTT брокер на малинку по ссылке выше. 

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

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

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

sudo service mosquitto status

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

Active: active (running)

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

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

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


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

Спасибо, рад что смог помочь 🙂

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

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



Запрос сделать конечно можно. Не разбирался с интеграцией с яндексом, если есть ссылка - скинь, почитаю. 

Добавил

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

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

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

MQTT сервера:(

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

MQTT на примере 

https://www.cloudmqtt.com/">www.cloudmqtt.com> 

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

Можно па примере WQTT.RU, если через Алису с Домовенком?

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

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

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

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

У меня ушла почти катушка. Но удобнее купить уже собранную матрицу (если ленты нет в наличии). 

А сколько метров в катушке?) 

просто цена на матрицу кусается

Матрица дешевле обойдётся. У меня просто валялась без дела катушка светодиодной ленты, поэтому на них сделал. 

Ну ладно. Придется на матрицу раскошелиться;)

Спасиб) 

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

https://teko-shop.ru/upload/iblock/5ee/69496e9b-f6d1-11e8-bbad-00155d0a1f03_f5e5b6ab-0f00-11e9-bbb8-00155d0a2206.jpg" alt="69496e9b-f6d1-11e8-bbad-00155d0a1f03_f5e5b6ab-0f00-11e9-bbb8-00155d0a2206.jpg" />

Есть ссылка на такую подставку?

https://bolid.ru/production/archive/dip-34a-01-02.html">

https://bolid.ru/production/archive/dip-34a-01-02.html">https://bolid.ru/production/archive/dip-34a-01-02.html


искать эту модельку в своем городе в магазинах торгующие опс. Или поспрашивать монтажников у них часто остаются лишние розетки

Покажите как Вы это прикрутили?))
И где взять подсвтаку без дипа)



https://sprut.ai/static/media/cache/00/25/19/5/1423355/44851/1000x_image.jpg?1570258102" alt="1000x_image.jpg?1570258102" />

Отлично подошло от датчика дыма xD



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

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

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

1000x_image.jpg?15677668211000x_image.jpg?15677668781000x_image.jpg?15677669051000x_image.jpg?1567766906

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

https://t.me/mdmPiTerminal">https://t.me/mdmPiTerminal

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

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

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

Да, конечно будет. 

Побежал паять =D

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

Да, все сохранено. 

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

Да, именно так

Привет, что-то не получается у меня переключать режимы по MQTT. В homeassistant/light/ESP-ID/effect/set  

что бы я не задавал, лампа переключается на Конфети. Другие режимы speed, status, rgb, etc. работают. Но в них задаются цифры, а в effect слова. Или я делаю что нетак?

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

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

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

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

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

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

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

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

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

Адрес сервера, имя пользователя и пароль верно указаны?
А в терминале что шлет? Раскомментриуй директиву #define DEBUG и покажи что пишет. 

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

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

Не получается подключить по 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').

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


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

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

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

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

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

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

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

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

Mosquito можно поставить по инструкции из статьи https://sprut.ai/client/article/1274">https://sprut.ai/client/articl... Для его установки нужен Raspberry Pi либо постоянно работающий домашний сервер. 



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

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

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

https://sprut.ai/static/media/cache/00/42/04/5/2266918/47870/1000x_image.png?1576663333" alt="1000x_image.png?1576663333" />https://sprut.ai/static/media/cache/00/42/04/5/2266918/47872/1000x_image.png?1576663854" alt="1000x_image.png?1576663854" />https://sprut.ai/static/media/cache/00/42/04/5/2266918/47873/1000x_image.png?1576663893" alt="1000x_image.png?1576663893" />


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


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

Делал всё вроде бы по инструкции но лампа не может подключиться к 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/">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 установлен.

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

https://yadi.sk/d/09apifBjtSqFPw">Моя прошивка

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

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

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

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

esptool.exe.

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

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

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

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

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

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

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

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

яндекс устройства

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

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

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

не реагирует, лампа не включается.

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

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

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



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

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

https://sprut.ai/static/media/cache/00/43/80/5/2463526/48692/1000x_image.gif?1578425821" alt="1000x_image.gif?1578425821" />

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

https://sprut.ai/client/user/profile/1783">Владислав говорит, что уже сделал. Обещал в статье описать, так что думаю в скором времени будет инструкция. А вообще, при любом изменении статус отображается в топиках, нужно просто их читать и изменять бегунки. 

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

- 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 }}"

XXXX поменяли?

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

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

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

discovery: true 

discovery_prefix: homeassistant

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

В Arduino IDE в качестве порта нужно выбрать сетевой порт и нажать кнопку загрузить. 

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


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

#define CONNECTION_ANGLE 0
#define STRIP_DIRECTION 0

И не забудь 

#define WIDTH 16

#define HEIGHT 16

Все завелось кроме направления. Спасибо сейчас проверю. 

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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


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

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

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

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



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

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

И ещё

по эффекту "Огонь".
У меня ширина 84 светодиода, светодиоды с 70 по 84 не светятся совсем в этом режиме.
В прошивке стоит https://vk.com/feed?section=search&q=%23define">#define WIDTH 84
Как можно увеличить ширину? Проблема только с этим эффектом, остальные работают как надо.

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

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

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

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

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

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

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

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

Что то пошло не так)
/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

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



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

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

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

https://sprut.ai/static/media/cache/00/45/16/5/3489015/55831/1000x_image.png?1586961691" alt="1000x_image.png?1586961691" />https://sprut.ai/static/media/cache/00/45/16/5/3489015/55833/1000x_image.png?1586961778" alt="1000x_image.png?1586961778" />



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


https://sprut.ai/static/media/cache/00/42/80/5/3452480/55991/1000x_image.png?1587042228" alt="1000x_image.png?1587042228" />https://sprut.ai/static/media/cache/00/42/80/5/3452480/55992/1000x_image.png?1587042336" alt="1000x_image.png?1587042336" />https://sprut.ai/static/media/cache/00/42/80/5/3497361/56010/1000x_image.png?1587043136" alt="1000x_image.png?1587043136" />


https://sprut.ai/static/media/cache/00/42/80/5/3497286/56002/1000x_image.png?1587042745" alt="1000x_image.png?1587042745" />https://sprut.ai/static/media/cache/00/42/80/5/3497286/56003/1000x_image.png?1587042746" alt="1000x_image.png?1587042746" />

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


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

последняя версия с 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

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

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


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


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


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

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

  1. Очень странная ошибка, ведь тип MQTTconfig и в версии 1.4 был. Проверь что struct MQTTconfig на месте, попробуй обновить Ardiono IDE до версии 8.12.

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

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

automations.yaml, если у меня lovelace, и этого файла просто нет.

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

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

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

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

Шикарно сделано. Спасибо большое! Особенно веб-морда порадовала. Единственное, чего не хватает для модификации лампы гайвера до идеального варианта - замены кнопки на энкодер. Чтобы кнопка включала/выключала лампу, двойной/тройной и т.п. щелчок переключали на режим изменения скорости, масштаба, эффекта, а вращение энкодера в ту или иную сторону - изменяло бы значение величины. А по дефолту меняло бы яркость. У Алекса Гайвера вроде бы есть библиотека GyverEncoder, сделанная по аналогии с GyverButton - с дебаунсами и прочим. Хотел всё сам сделать, но недавно сын родился - теперь надолго не до того. Когда-то на форуме гайвера https://community.alexgyver.ru/threads/wifi-lampa-budilnik.1406/page-5#post-26877">делился лайфхаками и тонкостями в отношении сборки лампы, но прошивку дорабатывать так и не сел. Может быть в вашей появится такой функционал. Готов за него задонатить 1000р. Не много, но пока больше не смогу.

Подскажите, как указать адрес 

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

Веб интерфейс в любом случае доступен, по-моему по четырехкратному тапу показывает IP адрес, по нему нужно зайти через браузер, там будет вкладка MQTT, в ней можно указать настройки MQTT брокера. 

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

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

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

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

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

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

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

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

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

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

http://esp-826cd2.local/">http://esp-826cd2.local/


При обращении к странице лампы в браузере, сами диоды на лампе как-бы подвисают. Куда копать?

Такая же проблема,

прошивка 1.5 сбрасывал полностью, и даже обновлял с версии 1.4, с разных ноутов загружал,

подскажи, если решил 

Не решил, забил на решение, меняю цвета и все остальное в HA

Это странно, но если убрать комментарий с #define ENG, то всё работает отлично

https://github.com/AlexxIT/GyverLamp">https://github.com/AlexxIT/Gyv... - 

Компонент интеграции https://www.home-assistant.io/">Home Assistant с https://alexgyver.ru/gyverlamp/">Огненной Wi-Fi Лампой

https://community.alexgyver.ru/threads/wifi-lampa-esp8266-esp32-home-assistant-mqtt-dmx-art-net.3438/">https://community.alexgyver.ru... - еще одна прошивка c 

MQTT автоматической интеграцией в Home Assistant:
Основные отличия:


  • Web интерфейс лампы на реакте, фронтенд хранится в SPIFFS. Не требует установки приложений.
  • Web интерфейс подключения к wifi на реакте.
  • Может подключаться к WPA-E корпоративным точкам доступа.
  • MQTT автоматическая интеграция в Home Assistant.
  • Поддержка DMX / Art-Net протокола для управления матрицей по сети с использованием специального ПО.

Чего в этой прошивке нет:


  • Нет поддержки мобильных приложений
  • Нет эффекта рассвета, будильника

Рабочий конфиг для homebridge-mqttthing
https://gist.github.com/Nalorokk/757ed58ae5e79d9bde5731b86cea7471">Homebridge config for Gyver Lamp firmware by gunner47

А если две лампы, то как дополнить configurations/automations.yaml для HA? 

Нужно для каждого создать свои бегунки в configuration и прописать их в automations. У каждой лампы будет свой айди, так система будет их различать. 

Отличный проект!!! Спасибо автору! Есть предложение переложить проект на ESP32 с добавлением флеш карты с мелодиями под каждый эффект. Динамик и усилок разместить в днище лампы. Я как сел у лампы в режиме огня, запустил мп3 со звуком треска дров в камине, так и просидел полчаса в режиме медитации)). ESP32 самое то для двух задач : одно ядро молотит мп3, другое - эффекты. Библиотек много для мп3.

Доброго дня! В прошивке версии 1.5 отвалившийся веб-интерфейс. Работают ссылки:

http://192.168.0.250/getconfig">http://192.168.0.250/getconfig

http://192.168.0.250/reboot">http://192.168.0.250/reboot

и прямые ссылки для управления лампой. Как починить?

Доброго времени суток. Спасибо автору за проделанную работу. Прошивка, интеграция с HA - без проблем, НО)

Использую лампу в связке HA + алиса. HA интегрирован в алису по https://sprut.ai/client/article/1404">инструкции. В результате лампа автоматически добавляется в алису, работает яркость и т.д. но нет переключения эффектов и ползунков скорости и масштаба. Судя по описанию https://github.com/dmitry-k/yandex_smart_home">в гите интеграции слайдеры и списки не поддерживаются. Есть ли какие-то варианты без использования домовенка докрутить интеграцию?

Я пока подумываю о нереальном числе кнопок (кнопку на каждый эффект + кнопки на масштаб, предположим на каждые 30 единиц) но как-то это очень не кашерно. Сталкивались ли вы с подобными проблемами? Есть какие-то варианты решения?

Помогите нубу

Прошивка 1.5

добавил в HA, на карточке при включении лампы есть настройки цвета и выбора эффекта, но масштаба и скорости не было

Добавил записи в конфиг и автоматизации(id свой вписал), ничего не изменилось

мб я что-то не так сделал?



Посмотри внимательно статью с раздела 

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

там нужно кое что прописать чтобы можно было из HA менять масштаб и скорость. 

Да, я уже разобрался.

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


Кстати, прошивка v1.6, а в HA отображается как 1.5.5

Большое спасибо за твой труд! Возьму за основу в своих проектах на esp

Они и добавляются автоматически если не включена ручная коректировка Lovelace, об этом при включении ручного режима в HA должно было быть предупреждение. 

Лучшая интеграция Лампы с Алисой не через "Домовёнка Кузю" а через "node-red-contrib-alice" в NODE-RED

Вернуться назад
Вернуться назад