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

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

Модератор: immortal

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

Re: Модуль Broadlink

Сообщение nick7zmail » Сб июн 24, 2017 6:39 pm

У меня девайса нет...дебажить по-любому вам))) я не экстрасенс...

В основном файле (dev_broadlink.class.php) есть недавно введенная функция

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

 function table_data_set($prop, $dev_id, $val, $sg_val='none')
Которая делает примерно следующее:
1) находит запись с нужным именем (prop) и нужным device_id (dev_id)
2) Обновляет там поле VALUE
3) Если в записи выставлены объект и свойство - записывает туда значение.
Записываемое значение, если не указано $sg_val - просто $val, а если указан 4 параметр ($sg_val), то он выставляет его...дак вот для s1 очень активно он используется...и в $val как раз идет строка json, а sg_val - должен попадать только статус...но почему-то не проходит условие проверки, в объект.свойство уходит просто $val....нужно узнать почему...
Гляньте что попадает в sg_val, и отрабатывает ли проверка условия...
VooDooN писал(а): А так же, опять звук перестал выключаться. Все время включен. Через модуль поменять не могу - удалил по крестику поле, как его вернуть еще не знаю. :)
На счет звука - убрал отдельную запись...если что-то удалите неправильное - по-идее оно само восстановится при очередном цикле проверки....
Последний раз редактировалось nick7zmail Сб июн 24, 2017 6:44 pm, всего редактировалось 1 раз.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль Broadlink

Сообщение igorewa » Сб июн 24, 2017 6:44 pm

nick7zmail писал(а):У меня девайса нет...дебажить по-любому вам))) я не экстрасенс...

В основном файле (dev_broadlink.class.php) есть недавно введенная функция

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

 function table_data_set($prop, $dev_id, $val, $sg_val='none')
Которая делает примерно следующее:
1) находит запись с нужным именем (prop) и нужным device_id (dev_id)
2) Обновляет там поле VALUE
3) Если в записи выставлены объект и свойство - записывает туда значение.
Записываемое значение, если не указано $sg_val - просто $val, а если указан 4 параметр ($sg_val), то он выставляет его...дак вот для s1 очень активно он используется...и в $val как раз идет строка json, а sg_val - должен попадать только статус...но почему-то не проходит условие проверки, в объект.свойство уходит просто $val....нужно узнать почему...
Гляньте что попадает в sg_val, и отрабатывает ли проверка условия...
Может дать опять вам доступ по тм ? )
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Сб июн 24, 2017 6:45 pm

igorewa писал(а): Может дать опять вам доступ по тм ? )
Пока что некогда, если честно...если время появится, и к тому времени не решится проблема - гляну))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Broadlink

Сообщение nick7zmail » Сб июн 24, 2017 8:41 pm

Проверьте (после обновления) - всё ещё json в привязанное свойство прилетает?
И через МД вообще охрана включается/выключается??
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: Модуль Broadlink

Сообщение VooDooN » Сб июн 24, 2017 9:27 pm

Не заметил изменений, кроме статусов на русском. На странице модуля все выглядит нормально, кроме статуса охраны:
СпойлерПоказать
S1C_Module.PNG
S1C_Module.PNG (37.54 КБ) 4379 просмотров
В объекте так:
СпойлерПоказать
S1C_Obj.PNG
S1C_Obj.PNG (17.96 КБ) 4379 просмотров
В базе так:
СпойлерПоказать
S1C_bd.PNG
S1C_bd.PNG (21.64 КБ) 4379 просмотров
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: Модуль Broadlink

Сообщение VooDooN » Сб июн 24, 2017 9:30 pm

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

Re: Модуль Broadlink

Сообщение nick7zmail » Сб июн 24, 2017 9:39 pm

В базе всё ок...там должен быть json (хотя у статуса он очень странный...возможно из-за этого херня такая тваристя))...а вот в свойство должен прилетать только статус...
Json в свойстве только у общего статуса, или у датчиков тоже? И звук, как я понимаю, тоже сбрасывается?

UPD: Попробуйте код в конце dev_broadlink_check.inc.php заменить на

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

                if ($rec['TYPE']=='s1') {
                    $response = $rm->Check_Sensors();
                    if(isset($response) && $response!='') {
                        for($sn=0;$sn<$response['col_sensors'];$sn++) {
                            $sens_arr=$response[$sn];
                            $sens_name='['.$sens_arr['sensor_number'].'] '.$sens_arr['product_type'];
                            $encoded=json_encode($sens_arr);
                            $this->table_data_set($sens_name, $rec['ID'], $encoded, $sens_arr['status']);
                        }
                    }
                    $response = $rm->Check_Status();
                    if(isset($response) && $response!='') {    
                            $encoded=json_encode($response);
                            $this->table_data_set('status', $rec['ID'], $encoded, $response['status']);
                    }
                }
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: Модуль Broadlink

Сообщение VooDooN » Сб июн 24, 2017 10:18 pm

nick7zmail писал(а):Попробуйте код в конце dev_broadlink_check.inc.php заменить на ...
Заменил, сохранил, перезапустил цикл - не заметил разницы.
nick7zmail писал(а):Json в свойстве только у общего статуса, или у датчиков тоже?
И у датчиков, а вот у пульта нормально, без json.
nick7zmail писал(а):И звук, как я понимаю, тоже сбрасывается?
Да
Аватара пользователя
VooDooN
Сообщения: 307
Зарегистрирован: Сб июн 11, 2016 12:02 am
Благодарил (а): 170 раз
Поблагодарили: 64 раза

Re: Модуль Broadlink

Сообщение VooDooN » Сб июн 24, 2017 10:28 pm

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

Re: Модуль Broadlink

Сообщение nick7zmail » Сб июн 24, 2017 10:29 pm

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