Простые устройства / Simple Devices описание методов

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

AndrewS
Сообщения: 123
Зарегистрирован: Пт апр 15, 2016 10:18 am
Откуда: 21RU
Благодарил (а): 5 раз
Поблагодарили: 20 раз
Контактная информация:

Re: Простые устройства / Simple Devices описание методов

Сообщение AndrewS » Сб янв 30, 2021 3:27 pm

Понимаю, что реклама, но сделать ничего не могу. Перешел на Home Assistant, МЖД стоит как резервная...
Слабость - велика, а сила - ничтожна.
ARMBIAN 5.38 stable Debian GNU/Linux 9 (stretch) 4.14.18-sunxi
System load: 2.03 1.85 1.78 Up time: 23 days
Memory usage: 65 % of 2014MB CPU temp: 37°C
Orange Pi Plus 2 H3 Quad Core 1.6GHZ 2GB
Аватара пользователя
~220v
Сообщения: 96
Зарегистрирован: Пн дек 23, 2019 5:56 pm
Благодарил (а): 109 раз
Поблагодарили: 18 раз

Re: Простые устройства / Simple Devices описание методов

Сообщение ~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']);


после которых НЕ запускаются методы объекта если выполнять сначала родительский код.
Что это и зачем оно? и почему игнорится код объекта? если закоментить всё ок...
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Простые устройства / Simple Devices описание методов

Сообщение tarasfrompir » Пн мар 15, 2021 1:50 pm

~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();	
Запускаем метод checkLinkedDevicesAction - для проверки связанных устройств

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

$dv->checkLinkedDevicesAction($ot, $params['NEW_VALUE']); # после этой строки не запускается метод объекта
Измеряет время выполнения операций внутри

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

startMeasure('statusUpdatedLinkedDevices');
.....
endMeasure('statusUpdatedLinkedDevices');
За это сообщение автора tarasfrompir поблагодарили (всего 2):
AndrewS (Пн мар 15, 2021 8:07 pm) • ~220v (Пн мар 15, 2021 10:28 pm)
Рейтинг: 2.33%
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
~220v
Сообщения: 96
Зарегистрирован: Пн дек 23, 2019 5:56 pm
Благодарил (а): 109 раз
Поблагодарили: 18 раз

Re: Простые устройства / Simple Devices описание методов

Сообщение ~220v » Вт мар 16, 2021 12:01 am

Большое спасибо за ответ.
Теперь становится более понятно. Переменная dirname(__FILE__) это в моём случае C:\_Majordomo\htdocs\modules\scripts и это не правильно - нет ни папки \scripts ни файла devices.class.php
правильно только так: C:\_majordomo\htdocs\modules\devices\devices.class.php

странно, нафиг оно надо если и так всё работает :lol:

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

include_once(dirname(__FILE__) . '/devices.class.php');
UPD

Разобрался.
Это мне понадобилось немного модифицировать код в
/* 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'); я не задумываясь над этой строкой оставил как есть :lol: пришлось немного задуматься и разобраться :D Заменил как было раньше с DIR_MODULES и всё ок.

Ещё раз спасибо.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Простые устройства / Simple Devices описание методов

Сообщение tarasfrompir » Вт мар 16, 2021 10:23 am

~220v писал(а):
Вт мар 16, 2021 12:01 am
UPD

Разобрался.
Это мне понадобилось немного модифицировать код в
/* 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'); я не задумываясь над этой строкой оставил как есть :lol: пришлось немного задуматься и разобраться :D Заменил как было раньше с DIR_MODULES и всё ок.

Ещё раз спасибо.
Сделал реквест - по вашему коду - не проверял - так что ждите прихода - виноваты будете вы - если не правильно :lol: :lol: :D :D :D
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Простые устройства / Simple Devices описание методов

Сообщение tarasfrompir » Пн мар 22, 2021 9:22 am

Короче стори такая - реквест никто не принял (я его закрыл по ненадобности) - ждемс дальше - может таки еще кто подтянется... и поплачется...
За это сообщение автора tarasfrompir поблагодарил:
~220v (Пн мар 22, 2021 11:36 am)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Ответить