Xiaomi Yeelight Smart LED (RU)

Antworten
Benutzeravatar
Alex1808
professional
Beiträge: 352
Registriert: 21.06.2015, 08:57
Kontaktdaten:

Xiaomi Yeelight Smart LED (RU)

Beitrag von Alex1808 » 18.02.2017, 14:24

Всем привет!

На днях получил заказанные мной на Али Xiaomi Yeelight Smart LED лампы. Лампа на 8 Ват с цоколем E27 по 12€ за штуку. Есть как с белым светом так и RGB варианты.
100-Original-Xiaomi-Yeelight-LED-Smart-Bulb-Smartphone-App-WIFI-Remote-Control-Light-8W-White-Color.jpg
Подключение и управление лампой производится через WLAN с помощью App. Лампа примечательна тем что не требует хаба Xiaomi открыта для разработчиков и имеет свой API.

Во вкладыше что был в коробке есть QR-Code по которому предлагается скачать апп для Андроида или iOS, но скажу сразу делать этого не стоит. Эта апп шлак на которой убил час времени и так и не смог соединится с Лампой (во всяком случаи для iOS). Просто заходим в Аппстор вбиваем в поиск Yeelight и устанавливаем апп с вот этой розово-оранжевой иконкой, с ней всё установилось и настроилось без проблем.

(если что, сброс настроек лампы производится путём подачи и отключения электричества на лампу по следующей схеме: выкл. ждём 1 сек./ вкл. ждём 3 сек./ и так 5 раз, на 5-й раз лампа должна замигать и сбросить настройки. шлаковая апп помогла в этом разобраться :) )
Screenshot at Feb. 18 09-14-37.png
Screenshot at Feb. 18 09-14-37.png (211.55 KiB) 4366 mal betrachtet
Несколько скриншотов из самой Апп:

Управление Вкл/Выкл.
Spoiler: Show hidden text
IMG_2554.jpg
IMG_2555.jpg
IMG_2560.jpg
тапом переходим в следущие меню где можно свапом вверх/вниз менять интенсивность света (слева появляется скала с процентами).
Spoiler: Show hidden text
IMG_2556.jpg
IMG_2557.jpg
IMG_2558.jpg
Меню настроек. Здесь надо в вкладке Developer Mode включить возможность подключения к лампе через Telnet.
Spoiler: Show hidden text
IMG_2559.jpg
Это в принципе всё, сценарии мне были не сильно интересны так-как заранее планировал использовать в связке с ioBroker.

Теперь цель завести в ioBroker.
В API довольно доступно расписано и даже с моими знаниями (в принципе никаких :) ) в JavaScript и вообще в программировании почти с первого раза удалось включить лампочку через Терминал. Само API можно качнуть здесь > http://www.yeelight.com/download/Yeelig ... n_Spec.pdf

Команды на включение выключение через терминал (IP естественно подставляем свой)

Code: Alles auswählen

echo -ne '{ "id": 1, "method": "set_power", "params":["on", "smooth", 500]} \r\n' | nc -w1 192.168.2.173 55443

echo -ne '{ "id": 1, "method": "set_power", "params":["off", "smooth", 500]} \r\n' | nc -w1 192.168.2.173 55443
Интенсивность света (задаётся от 0 до 100), для примера с 1, 50 и 100%.

Code: Alles auswählen

echo -ne '{ "id": 1, "method": "set_bright", "params":[1", "smooth", 500]} \r\n' | nc -w1 192.168.2.173 55443

echo -ne '{ "id": 1, "method": "set_bright", "params":[50", "smooth", 500]} \r\n' | nc -w1 192.168.2.173 55443

echo -ne '{ "id": 1, "method": "set_bright", "params":[100", "smooth", 500]} \r\n' | nc -w1 192.168.2.173 55443
Режим "Toggle", с каждой командой меняющий с состояние включения лампы на противоположный.

Code: Alles auswählen

echo -ne '{"id":1,"method":"toggle","params":[]}\r\n' | nc -w1 192.168.2.173 55443
Для управления в ioBroker использовал башскрипт позаимствованный с форума domoticz. Скрипт положил по адресу /opt/iobroker
Сам скрипит
yeelight.sh.zip
(2.5 KiB) 100-mal heruntergeladen


Команды расписаны в начале скрипта
Screenshot at Feb. 18 14-06-44.png
Создал переменную в JavaScript для кнопки и в Блокли соединил с Башскриптом
Screenshot at Feb. 18 14-10-21.png
Export Блокли
Yeelight.xml.zip
(1.24 KiB) 85-mal heruntergeladen
Как-то так..

Способ подключения в ioBroker не самый корректный, но на первом этапе вполне рабочий :)

Может подтянется кто разбирающийся в скриптах и доведёт до ума подключение, буду очень благодарен!

Pooh
professional
Beiträge: 125
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von Pooh » 04.12.2017, 03:34

У меня вот такая настольная лампа, дык ей надо 3 раза отправить команду , чтобы включить или выключить... Тогл вообще не уловил закономерности сколько раз слать - непредсказуемо :-(

Pooh
professional
Beiträge: 125
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von Pooh » 04.12.2017, 06:14

Нарыл альтернативный способ на питоне (не пробовал еще):
yecli через системный вызов:

Code: Alles auswählen

/opt/bin/yeecli/cli.py --ip 10.0.0.2 -e smooth -d 500 rgb 007fce

sscorpio
Beiträge: 9
Registriert: 22.05.2017, 20:23

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von sscorpio » 22.12.2017, 21:29

почему то у меня управлять не хочет :(

echo -ne '{ "id": 1, "method": "set_power", "params":["off", "smooth", 500]} \r\n' | nc -w1 192.168.2.76 55443
Ncat: Connection refused.

ip правильный.
с машины откуда команду даю - пингуется.
лампа из приложения управляется.

подскажите - что я делаю не так ?

на udp команду так же нет реакции

echo -ne '{ "id": 1, "method": "set_power", "params":["off", "smooth", 500]} \r\n' | nc -u -w1 192.168.2.76 55443

Benutzeravatar
Alex1808
professional
Beiträge: 352
Registriert: 21.06.2015, 08:57
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von Alex1808 » 23.12.2017, 00:47

sscorpio hat geschrieben:почему то у меня управлять не хочет :(

echo -ne '{ "id": 1, "method": "set_power", "params":["off", "smooth", 500]} \r\n' | nc -w1 192.168.2.76 55443
Ncat: Connection refused.

ip правильный.
с машины откуда команду даю - пингуется.
лампа из приложения управляется.

подскажите - что я делаю не так ?

на udp команду так же нет реакции

echo -ne '{ "id": 1, "method": "set_power", "params":["off", "smooth", 500]} \r\n' | nc -u -w1 192.168.2.76 55443
а в прошивке режим разработчика включен?

sscorpio
Beiträge: 9
Registriert: 22.05.2017, 20:23

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von sscorpio » 25.12.2017, 19:28

Alex1808 hat geschrieben:
sscorpio hat geschrieben:почему то у меня управлять не хочет :(

echo -ne '{ "id": 1, "method": "set_power", "params":["off", "smooth", 500]} \r\n' | nc -w1 192.168.2.76 55443
Ncat: Connection refused.

ip правильный.
с машины откуда команду даю - пингуется.
лампа из приложения управляется.

подскажите - что я делаю не так ?

на udp команду так же нет реакции

echo -ne '{ "id": 1, "method": "set_power", "params":["off", "smooth", 500]} \r\n' | nc -u -w1 192.168.2.76 55443
а в прошивке режим разработчика включен?
нет :shock:
а как/где это сделать ?

Benutzeravatar
Alex1808
professional
Beiträge: 352
Registriert: 21.06.2015, 08:57
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von Alex1808 » 26.12.2017, 11:19

sscorpio hat geschrieben: а как/где это сделать ?
Может для начала осилить первое сообщение? :D

sscorpio
Beiträge: 9
Registriert: 22.05.2017, 20:23

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von sscorpio » 26.12.2017, 18:12

Alex1808 hat geschrieben:
sscorpio hat geschrieben: а как/где это сделать ?
Может для начала осилить первое сообщение? :D
Осилил :)
Я пытался через MiHome настроить.
Естесно болт.

Но в конечном итоге всё управляется !
Большое спасибо !!!
Dateianhänge
send01.jpg
На Андроиде качаем вот такое приложение
send02.jpg
Выбираем нужную лампу
send03.jpg
Нажимаем справа снизу - Треугольник с подчёркиванием
send04.jpg
Выбираем внизу - Управление по локальной сети
send05.jpg
Вот тут включаем доступ через телнет

Pooh
professional
Beiträge: 125
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von Pooh » 19.02.2018, 04:09

А как узнать, что лампу включили руками? как сделать опрос ее состояния? (лампа настольная)

Benutzeravatar
instalator
guru
Beiträge: 1258
Registriert: 09.11.2014, 16:50
Wohnort: Барнаул
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von instalator » 19.02.2018, 16:24

Pooh hat geschrieben:А как узнать, что лампу включили руками? как сделать опрос ее состояния? (лампа настольная)
Подождать немного, драйвер в разработке
Высокий уровень Децибел вреден для здоровья!
Мой блог

Pooh
professional
Beiträge: 125
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von Pooh » 20.02.2018, 03:52

пока сделал так:

Code: Alles auswählen

schedule("*/2 * * * *", function () { // */2 * * * * - каждую вторую минуту проверяем, не управляли ли лампой вручную?
    exec("bash /opt/iobroker/yeelightstatus.sh", function (error, stdout, stderr) {
    // выхлоп stdout такой: {"id":1, "result":["off","60","4000"]}
        if (stdout !== '') {
            var jsonContent = JSON.parse(stdout); // Парсим выхлоп.
            setState("javascript.0.MiLEDDeskLamp.1.status.power", jsonContent.result[0]);
            setState("javascript.0.MiLEDDeskLamp.1.status.bright", jsonContent.result[1]);
            setState("javascript.0.MiLEDDeskLamp.1.status.ct", jsonContent.result[2]);
        }
    });
});

Benutzeravatar
Alex1808
professional
Beiträge: 352
Registriert: 21.06.2015, 08:57
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von Alex1808 » 23.02.2018, 17:26

Уже есть что потестить

https://github.com/cahek2202/ioBroker.yeelight

partyzone
Beiträge: 2
Registriert: 02.03.2018, 06:38

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von partyzone » 02.03.2018, 06:50

у меня сыпется установленный через драйвера. Я не очень разбираюсь в nod и тд. Подскажите что не так
yeelight.0 2018-03-02 08:16:04.046 error at process._tickCallback (node.js:428:17)
yeelight.0 2018-03-02 08:16:04.046 error at nextTickCallbackWith3Args (node.js:522:9)
yeelight.0 2018-03-02 08:16:04.046 error at dgram.js:221:7
yeelight.0 2018-03-02 08:16:04.046 error at startListening (dgram.js:121:10)
yeelight.0 2018-03-02 08:16:04.046 error at Socket.emit (events.js:166:7)
yeelight.0 2018-03-02 08:16:04.046 error at emitNone (events.js:67:13)
yeelight.0 2018-03-02 08:16:04.046 error at Socket.g (events.js:260:16)
yeelight.0 2018-03-02 08:16:04.046 error at Socket. (C:\ioBroker\node_modules\iobroker.yeelight\lib\yeelight.js:112:10)
yeelight.0 2018-03-02 08:16:04.046 error at Socket.send (dgram.js:300:11)
yeelight.0 2018-03-02 08:16:04.046 error RangeError: Offset + length beyond buffer length
yeelight.0 2018-03-02 08:16:04.046 error uncaught exception: Offset + length beyond buffer length
yeelight.0 2018-03-02 08:16:04.015 info starting. Version 0.0.1 in C:/ioBroker/node_modules/iobroker.yeelight, node: v4.8.7
host.PC 2018-03-02 08:16:02.827 info instance system.adapter.yeelight.0 started with pid 5368
host.PC 2018-03-02 08:15:32.811 info Restart adapter system.adapter.yeelight.0 because enabled

cahek2202
Beiträge: 1
Registriert: 06.04.2018, 10:42

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von cahek2202 » 06.04.2018, 10:45

partyzone hat geschrieben:
02.03.2018, 06:50
у меня сыпется установленный через драйвера. Я не очень разбираюсь в nod и тд. Подскажите что не так
...
Какая версия node стоит? И сейчас уже обновленная немного версия на github лежит

partyzone
Beiträge: 2
Registriert: 02.03.2018, 06:38

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von partyzone » 09.04.2018, 07:38

cahek2202 hat geschrieben:
06.04.2018, 10:45
partyzone hat geschrieben:
02.03.2018, 06:50
у меня сыпется установленный через драйвера. Я не очень разбираюсь в nod и тд. Подскажите что не так
...
Какая версия node стоит? И сейчас уже обновленная немного версия на github лежит
node: v4.8.7. Поставлена по рекомендации на сайте 4.x.x. последняя. вот кстати вопрос более поздние версии можно ставить?

Benutzeravatar
instalator
guru
Beiträge: 1258
Registriert: 09.11.2014, 16:50
Wohnort: Барнаул
Kontaktdaten:

Re: Xiaomi Yeelight Smart LED (RU)

Beitrag von instalator » 09.04.2018, 13:24

partyzone hat geschrieben:
09.04.2018, 07:38
cahek2202 hat geschrieben:
06.04.2018, 10:45
partyzone hat geschrieben:
02.03.2018, 06:50
у меня сыпется установленный через драйвера. Я не очень разбираюсь в nod и тд. Подскажите что не так
...
Какая версия node стоит? И сейчас уже обновленная немного версия на github лежит
node: v4.8.7. Поставлена по рекомендации на сайте 4.x.x. последняя. вот кстати вопрос более поздние версии можно ставить?
6 ставь
Высокий уровень Децибел вреден для здоровья!
Мой блог

Antworten