Re: Простые устройства / Simple Devices описание методов
Добавлено: Сб янв 30, 2021 3:27 pm
Понимаю, что реклама, но сделать ничего не могу. Перешел на Home Assistant, МЖД стоит как резервная...
Обсуждение проекта
https://mjdm.ru/forum/
Код: Выделить всё
startMeasure('statusUpdatedLinkedDevices');
include_once(dirname(__FILE__) . '/devices.class.php');
$dv = new devices(); # после этого не работает setGlobal; и не запускается метод объекта
$dv->checkLinkedDevicesAction($ot, $params['NEW_VALUE']); # после этой строки не запускается метод объекта
endMeasure('statusUpdatedLinkedDevices');
endMeasure('statusUpdated');
Подключаем класс устройств~220v писал(а): ↑Пн мар 15, 2021 2:01 amПодскажите пожалуйста, в объектах есть класс / SDevices / SOpenClose потом метод statusUpdated в этом методе мне непонятны строки кода:Что это за измерения? Особенно меня волнуют строки:Код: Выделить всё
startMeasure('statusUpdatedLinkedDevices'); include_once(dirname(__FILE__) . '/devices.class.php'); $dv = new devices(); # после этого не работает setGlobal; и не запускается метод объекта $dv->checkLinkedDevicesAction($ot, $params['NEW_VALUE']); # после этой строки не запускается метод объекта endMeasure('statusUpdatedLinkedDevices'); endMeasure('statusUpdated');
$dv = new devices();
$dv->checkLinkedDevicesAction($ot, $params['NEW_VALUE']);
после которых НЕ запускаются методы объекта если выполнять сначала родительский код.
Что это и зачем оно? и почему игнорится код объекта? если закоментить всё ок...
Код: Выделить всё
include_once(dirname(__FILE__) . '/devices.class.php');
$dv = new devices();
Код: Выделить всё
$dv->checkLinkedDevicesAction($ot, $params['NEW_VALUE']); # после этой строки не запускается метод объекта
Код: Выделить всё
startMeasure('statusUpdatedLinkedDevices');
.....
endMeasure('statusUpdatedLinkedDevices');
Код: Выделить всё
include_once(dirname(__FILE__) . '/devices.class.php');
Сделал реквест - по вашему коду - не проверял - так что ждите прихода - виноваты будете вы - если не правильно~220v писал(а): ↑Вт мар 16, 2021 12:01 amUPD
Разобрался.
Это мне понадобилось немного модифицировать код в
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/*.php');
/* end injection of {SDevices} */
Его содержимое просто скопировал, как раньше в код. А injection отключил.
И раньше в кодах ставили include_once(DIR_MODULES . 'devices/devices.class.php'); а после какого-то обновления стало include_once(dirname(__FILE__) . '/devices.class.php'); я не задумываясь над этой строкой оставил как есть пришлось немного задуматься и разобраться Заменил как было раньше с DIR_MODULES и всё ок.
Ещё раз спасибо.