Страница 124 из 376
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 6:39 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, и отрабатывает ли проверка условия...
VooDooN писал(а):
А так же, опять звук перестал выключаться. Все время включен. Через модуль поменять не могу - удалил по крестику поле, как его вернуть еще не знаю.

На счет звука - убрал отдельную запись...если что-то удалите неправильное - по-идее оно само восстановится при очередном цикле проверки....
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 6:44 pm
igorewa
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, и отрабатывает ли проверка условия...
Может дать опять вам доступ по тм ? )
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 6:45 pm
nick7zmail
igorewa писал(а):
Может дать опять вам доступ по тм ? )
Пока что некогда, если честно...если время появится, и к тому времени не решится проблема - гляну))
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 8:41 pm
nick7zmail
Проверьте (после обновления) - всё ещё json в привязанное свойство прилетает?
И через МД вообще охрана включается/выключается??
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 9:27 pm
VooDooN
Не заметил изменений, кроме статусов на русском. На странице модуля все выглядит нормально, кроме статуса охраны:

- S1C_Module.PNG (37.54 КБ) 5051 просмотр
В объекте так:

- S1C_Obj.PNG (17.96 КБ) 5051 просмотр
В базе так:

- S1C_bd.PNG (21.64 КБ) 5051 просмотр
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 9:30 pm
VooDooN
nick7zmail писал(а):И через МД вообще охрана включается/выключается??
Да, включается через МД
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 9:39 pm
nick7zmail
В базе всё ок...там должен быть 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']);
}
}
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 10:18 pm
VooDooN
nick7zmail писал(а):Попробуйте код в конце dev_broadlink_check.inc.php заменить на ...
Заменил, сохранил, перезапустил цикл - не заметил разницы.
nick7zmail писал(а):Json в свойстве только у общего статуса, или у датчиков тоже?
И у датчиков, а вот у пульта нормально, без json.
nick7zmail писал(а):И звук, как я понимаю, тоже сбрасывается?
Да
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 10:28 pm
VooDooN
Заметил закономерность: если статус не 0, то нет json, а если 0 - есть. Поэтому пульт показывал нормально, так как у него статус был 16. Проверил все датчики: действительно, проблема со статусом 0.
Re: Модуль Broadlink
Добавлено: Сб июн 24, 2017 10:29 pm
nick7zmail
VooDooN писал(а):
И у датчиков, а вот у пульта нормально, без json.
Очень странно, учитывая, что синтаксис у них один =D
Надо дебажить....смотреть что куда прилетает...было бы у меня устройство само - с 1го раза рабочая версия вышла бы наверное)))