Глупые вопросы новичка

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Глупые вопросы новичка

Сообщение Chainik » Вт дек 25, 2018 6:29 pm

DiminatorDK писал(а):
Вт дек 25, 2018 12:29 pm
Нет, все нормально. Похоже что это баг какой-то. Так как если называю метод turnOn и turnOff а также свойство status то они сами подставляются при выборе объекта. Если пытаюсь выбрать что-то другое то при сохранении опять подставляются эти значения. Очень странно. Баг какой-то.
А у вас часом не Простые устройства (SDevices)? Если да, то я пас, т.к. не пользуюсь ими.
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: Глупые вопросы новичка

Сообщение hc2hunter » Чт дек 27, 2018 11:37 am

Коллеги, вопрос по шаблонам поведения... Использую их для голосового управления.
Совершенно случайно наткнулся, что Алиса почему-то разрывает предложения, где встречается соединительное "и".

Вот что я имею ввиду. Написал для проверки простенький шаблончик:
- на реплику "Главный вопрос жизни вселенной и вообще"
- должно отвечать "42"

Но вот что интересно! Когда я засылаю эту фразу через command.php она рвется на 2 команды. Отчего так?
hттp://192.168.168.188/command.php?qry="Главный вопрос жизни вселенной и вообще"
Вот что происходит в консоли Алисы:
gv.png
gv.png (15.49 КБ) 2916 просмотров
Пробовал брать в ковычки и без - бесполезно... Если перенести "и" или еще куда-то добавить - порвет фразу еще и там, превратив её в 3 строки! :shock:

В самом скрипте command.php нашел строку Define('DEVIDER', 'и');. Видимо оно и портит все. Но что с этим делать и можно ли просто удалить? Не повредит ли прочему функционалу?
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Глупые вопросы новичка

Сообщение tarasfrompir » Чт дек 27, 2018 12:46 pm

hc2hunter писал(а):
Чт дек 27, 2018 11:37 am
Коллеги, вопрос по шаблонам поведения... Использую их для голосового управления.
Совершенно случайно наткнулся, что Алиса почему-то разрывает предложения, где встречается соединительное "и".

Вот что я имею ввиду. Написал для проверки простенький шаблончик:
- на реплику "Главный вопрос жизни вселенной и вообще"
- должно отвечать "42"

Но вот что интересно! Когда я засылаю эту фразу через command.php она рвется на 2 команды. Отчего так?
hттp://192.168.168.188/command.php?qry="Главный вопрос жизни вселенной и вообще"
Вот что происходит в консоли Алисы:
gv.png

Пробовал брать в ковычки и без - бесполезно... Если перенести "и" или еще куда-то добавить - порвет фразу еще и там, превратив её в 3 строки! :shock:

В самом скрипте command.php нашел строку Define('DEVIDER', 'и');. Видимо оно и портит все. Но что с этим делать и можно ли просто удалить? Не повредит ли прочему функционалу?
не повредит - но ее измените на простой любой набор символов типа ждловідождоіджло или зщушгкуцщшгкзцугшз
За это сообщение автора tarasfrompir поблагодарил:
hc2hunter (Чт дек 27, 2018 1:10 pm)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
DiminatorDK
Сообщения: 104
Зарегистрирован: Сб фев 20, 2016 12:19 pm
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Глупые вопросы новичка

Сообщение DiminatorDK » Чт дек 27, 2018 9:23 pm

Chainik писал(а):
Вт дек 25, 2018 6:29 pm
А у вас часом не Простые устройства (SDevices)? Если да, то я пас, т.к. не пользуюсь ими.
Нет. Я создал свой класс и в нем объект.
DiminatorDK
Сообщения: 104
Зарегистрирован: Сб фев 20, 2016 12:19 pm
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Глупые вопросы новичка

Сообщение DiminatorDK » Чт окт 17, 2019 12:28 pm

Друзья, подскажите, после переустановки перестал работать код обновления статусов, что-то я напутал но не могу понять что. Помогите, пожалуйста.

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

$status = file_get_contents('http://192.168.1.111/state.xml');
$ot=$this->object_title;

$status = preg_match("!<iovalue>(.*?)</iovalue>!si", $status, $matches);
$arr = str_split($matches['1']);
echo "Array:". $matches['1'] ." <br>";
echo "ObjectName:". $ot ." <br>";
echo "Position 12= ". $matches['1']['11'] ." <br>";
echo "Arr position 12= ". $arr['11'] ." <br>";

foreach ($arr as $index => $value) {
if ($index >= 11) {
$index = $index + 1;
setGlobal ("Мodule1-Port". $index .".PortStatus", $value);
echo "Module1-Port". $index .".PortStatus " . $value ." <br>";
}
}
SetGlobal не обновляет статусы объектов. И раньше xray как-то больше показывал, а сейчас
{object":"StatusUpdate-Module1", "op":"m", "m":"StatusUpdate", "ORIGINAL_OBJECT_TITLE":"StatusUpdate-Module1}
Вроде работало, но мог и на путать :(
DiminatorDK
Сообщения: 104
Зарегистрирован: Сб фев 20, 2016 12:19 pm
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Глупые вопросы новичка

Сообщение DiminatorDK » Сб окт 19, 2019 12:19 am

DiminatorDK писал(а):
Чт окт 17, 2019 12:28 pm

setGlobal ("Мodule1-Port". $index .".PortStatus", $value);
Ребята в телеграмме помогли! За что им огромное спасибо! Не понимаю как, но буква М в Module1-Port оказалась на русском!!! Обидно что MD никак не отреагировал на такую оплошность :(

Еще вопрос, как собрать массив объектов на основе двух параметров? У объекта есть параметр Type="Light" и параметр Status="1"
С помощью $objects=getObjectsByProperty('Type', '=', 'Light'); выбираю все объекты а вот как добавить еще к отбору Status не могу понять.
Аватара пользователя
xor
Сообщения: 2039
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 286 раз
Поблагодарили: 629 раз

Re: Глупые вопросы новичка

Сообщение xor » Сб окт 19, 2019 2:01 am

DiminatorDK писал(а):
Сб окт 19, 2019 12:19 am
DiminatorDK писал(а):
Чт окт 17, 2019 12:28 pm

setGlobal ("Мodule1-Port". $index .".PortStatus", $value);
Ребята в телеграмме помогли! За что им огромное спасибо! Не понимаю как, но буква М в Module1-Port оказалась на русском!!! Обидно что MD никак не отреагировал на такую оплошность :(

Еще вопрос, как собрать массив объектов на основе двух параметров? У объекта есть параметр Type="Light" и параметр Status="1"
С помощью $objects=getObjectsByProperty('Type', '=', 'Light'); выбираю все объекты а вот как добавить еще к отбору Status не могу понять.
1. в цикле по объектам Лайт проверяй свойство статус
2. вытащить sql запросом
DiminatorDK
Сообщения: 104
Зарегистрирован: Сб фев 20, 2016 12:19 pm
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Глупые вопросы новичка

Сообщение DiminatorDK » Сб окт 19, 2019 12:18 pm

Да, циклом сделал. Спасибо! Думал есть более элегантное решение для группировки при создания массива.
Ответить