[Модуль] Broadlink (dev_broadlink)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пт июн 16, 2017 10:55 pm

Наконец то поборол свою лень, и дописал интерфейс для s1))
Скажу сразу - не имею не малейшего понятия - будет оно работать или нет =D Проверить - не имею возможности...
Итак...презентация изменений))

Сперва что касается всех устройств...
У модуля наконец то появился цикл...да да)) теперь вам не надо городить таймеры, и вписывать куда-либо код для обновления...хоть я и не хотел до последнего добавлять цикл, но с s1 пришлось))....более того - для каждого устройства можно выбрать разные промежутки обновления...к примеру датчики eAir можно обновлять раз в 10 минут, а s1 - каждые 5 секунд...
1.jpg
1.jpg (31.48 КБ) 6886 просмотров
None - соответственно выключает обновление вообще...остальные значения, думаю, в комментариях не нуждаются...
Единственное что скажу - крайне не рекомендую выставлять период обновления 5 секунд более чем на 2 устройства...ибо запрос иногда идет до 4 секунд по времени для каждого устройства....

Теперь подробнее про S1. Добавляется устройство, как и все остальные.
На 2 вкладке (Данные) чисто теоретически должны появиться датчики, подключенные к s1...В поле название - название и id датчика, под ним должна быть зона установки (настраивается, скорее всего, в приложении)...в поле значение - должен быть текущий статус...именно он и передаётся в выбранные объект.свойство...на него можете настраивать реакцию...под статусом должны быть метки датчиков - какой активирован для полной охраны, а какой для частичной...не представляю, если честно, как это будет выглядеть (если вообще будет работать) =D...если заработает - киньте хоть скрин чтоль....ну вроде всё...
Последний раз редактировалось nick7zmail Пт июн 16, 2017 11:10 pm, всего редактировалось 1 раз.
За это сообщение автора nick7zmail поблагодарил:
dmw (Пт июн 16, 2017 11:05 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: Модуль Broadlink

Сообщение dmw » Пт июн 16, 2017 11:05 pm

nick7zmail писал(а):Печально...как вариант - попробуем то, что советовал человек выше)) найди в том же файле 255.255.255.255 и попробуй поменять на 10.0.0.255
ребята, проверьте все у кого не работает поиск устройство вместо адреса 255.255.255.255 поставить false (без кавычек). Тогда функция socket_sendto() должна по идее сама определить broadcast-адрес вашей сети. Если заработает, то надеюсь
nick7zmail исправит в исходниках?
Напомню, это в файле /modules/dev_broadlink/broadlink.class.php строчка 386 должно быть так:

Код: Выделить всё

socket_sendto($cs, self::byte($packet), sizeof($packet), 0, false, 80);
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Пт июн 16, 2017 11:07 pm

Поправлю...со следующей обновой выложу.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Сб июн 17, 2017 12:22 am

В очередной раз искренняя благодарность за ваши труды ! Долго ждал интеграции с S1. Вот вам 1й косяк.
На 2 вкладке Данные не появись датчики, подключенные к s1, появилось только это
СпойлерПоказать
Изображение
Датчиков стандартный набор, сделал сработку всех датчиков, на пульте понажимал на кнопки но результат на скрине.
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: Модуль Broadlink

Сообщение dmw » Сб июн 17, 2017 12:38 am

Попробуйте такой скрипт:

Код: Выделить всё

include_once(DIR_MODULES."dev_broadlink/broadlink.class.php");
$rm = Broadlink::CreateDevice('192.168.1.20', 'b4:43:d:96:73:91', 80, 0x2722);
$rm->Auth();
$response = $rm->Check_Sensors();
print_r($response); 
только замените адреса ip и mac на свои (у s1 которые)
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Сб июн 17, 2017 12:49 am

dmw писал(а):Попробуйте такой скрипт:

Код: Выделить всё

include_once(DIR_MODULES."dev_broadlink/broadlink.class.php");
$rm = Broadlink::CreateDevice('192.168.1.20', 'b4:43:d:96:73:91', 80, 0x2722);
$rm->Auth();
$response = $rm->Check_Sensors();
print_r($response); 
только замените адреса ip и mac на свои (у s1 которые)
Warning: socket_recvfrom(): in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 491
Array ( )
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Сб июн 17, 2017 1:02 am

Код: Выделить всё

00:58:10 0.78379700 Error registered (type: cycle_stop): ./scripts/cycle_dev_broadlink.php
00:58:10 0.78361900 AUTO-RECOVERY: ./scripts/cycle_dev_broadlink.php
00:58:09 0.76744200 Closing thread: c:/_majordomo/server/php/php.exe -q ./scripts/cycle_dev_broadlink.php --params "a:0:{}">>C:\_majordomo\htdocs/debmes/log_2017-06-17-cycle_dev_broadlink.php.txt

1062: Duplicate entry '92' for key 'PRIMARY'<br>INSERT INTO `dev_broadlink_commands`(`ID`, `TITLE`, `VALUE`, `DEVICE_ID`, `LINKED_OBJECT`, `LINKED_PROPERTY`, `LINKED_METHOD`) VALUES('92', 'status', 'part', '16', '', '', '') (C:\_majordomo\htdocs\lib\errors.class.php)
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Сб июн 17, 2017 11:14 am

Ну вот...это говорит о том, что трудно без самого устройства что-то рабочее написать))))
Поправил вроде...по крайней мере получать статус теперь должен 100%...
А вот на счет датчиков - пробуйте)) переименовал только переменную, задающую цикл...может она с основной конфликтовала...я хз.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Сб июн 17, 2017 12:19 pm

К сожалению, не чего не изменилось ((( Цикл падает, устройства не подтягиваются. Заметил только одно изменение, это кнопка стала активная и зеленая )
Изображение
Лог

Код: Выделить всё

00:56:55 running cycle_dev_broadlink.php

Warning: socket_recvfrom(): unable to recvfrom [10040]: Сообщение, отправленное на сокет датаграмм, было больше, чем буфер внутренних сообщений или был превышен иной сетевой параметр. Также возможно, что буфер для принятия сообщения был меньше, чем размер сообщения.
 in C:\_majordomo\htdocs\modules\dev_broadlink\broadlink.class.php on line 491
<html><head><style>body {font-family:tahoma, arial}</style></head><body>&nbsp;<br><table border=0 cellspacing=2 cellpadding=15 bgcolor=#FF0000 align=center width=600><tr><td bgcolor='#FFFFFF'><p align=center><font color=red><b>Sorry, page is temporary unavailable.<br><br>Please try again later.</b></font></p><p align='center'><a href='#' onClick='history.go(-1);'><<< Back to previous page</a></p></td></tr><tr><td bgcolor='#FFFFFF'><p align=center><font color=red><b>http://<br />
Error:<br />
1062: Duplicate entry '92' for key 'PRIMARY'<br>INSERT INTO `dev_broadlink_commands`(`ID`, `TITLE`, `VALUE`, `DEVICE_ID`, `LINKED_OBJECT`, `LINKED_PROPERTY`, `LINKED_METHOD`) VALUES('92', 'status', 'part', '16', '', '', '')</b></font></p></td></tr></table></body></html>00:57:04 running cycle_dev_broadlink.php
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Сб июн 17, 2017 12:32 pm

Мне кажется обновление не прошло...попробуйте ещё раз обновиться, после чего систему перезагрузите...у вас в статус попало 'part' - описание статуса, а так было до обновления...я уже заменил на статус...там должна быть цифра от 0 до 2 в зависимости от статуса.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить