[Модуль] Xiaomi Home (xiaomihome)

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

Модератор: immortal

Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение woow » Вт ноя 13, 2018 12:51 am

Кто может поеснить в чём тут проблема. МД You are here: Control Panel / system_errors:

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

./scripts/cycle_xiaomihome.php
1111111111111THREAD CLOSED: [exec php -q ./scripts/cycle_xiaomihome.php
 --params "a:0:{}">>/var/www/cms/debmes/log_2018-11-13-cycle_xiaomihome.php.txt]
1111111
Backtrace:
#0 /var/www/cycle.php(446): registerError('cycle_stop', './scripts/cycle...')
#1 {main}
Содержание этого тхт:

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

23:07:50 Running cycle_xiaomihome.php
23:07:50 Init Xiaomi Home 
23:07:50 Bind IP - 0.0.0.0
23:07:50 Gate IP - 192.168.1.10
23:07:50 Cycle debug - yes
23:07:50 DebMes debug - yes
23:07:50 Heartbeat debug - yes
23:07:50 Socket created
23:07:50 Socket bind OK (Binding IP: 0.0.0.0)
23:07:50 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})
23:19:47 Running cycle_xiaomihome.php
23:19:47 Init Xiaomi Home 
23:19:47 Bind IP - 0.0.0.0
23:19:47 Gate IP - 192.168.1.10
23:19:47 Cycle debug - yes
23:19:47 DebMes debug - yes
23:19:47 Heartbeat debug - yes
23:19:47 Socket created
23:19:47 Socket bind OK (Binding IP: 0.0.0.0)
23:19:47 Sending discovery packet to 224.0.0.50 ({"cmd":"whois"})
23:27:37 Stopping by command REBOOT or ONETIME cycle_xiaomihome.php
Raspberry Pi 3B+
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение igorewa » Вт ноя 13, 2018 12:59 am

Аналогичная ошибка которая появляется переодически каждые 1-2 дня, но самое интересное что у меня нет не одного устройства, шлюз и переферия только едут ко мне, решил просто установить модуль и почитать ветку форума.
Лог 11/12/2018 20:39:28
СпойлерПоказать

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

./scripts/cycle_xiaomihome.php
11111111111111THREAD CLOSED: [c:/_majordomo/server/php/php.exe -q ./scripts/cycle_xiaomihome.php --params "a:0:{}">>C:\_majordomo\htdocs/cms/debmes/log_2018-11-12-cycle_xiaomihome.php.txt]
11
Backtrace:
#0 C:\_majordomo\htdocs\cycle.php(455): registerError('cycle_stop', './scripts/cycle...')
#1 {main}
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение Logrus » Вт ноя 13, 2018 5:11 am

при каждом обновлении из маркета любого модуля, будет ошибка у этого модуля (забейте), просто мдм его якто сильно любит
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение woow » Ср ноя 14, 2018 11:44 am

решил кубика устроит на работу- управлять люстрой.
Для начала решил попробовать поворот на 90 включает одну лампу, следующий поворот 90 вторую и т.д., когда все уже светят поворот 90 начинает по одной выключать.
Это конечно не принципиально но для теста сойдёт.Написал такой код и он чётко не работает имеет место хаотичность, то одна лампа то сразу две или не какой реакции:

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

if (gg(lustra.lampa1)==0 && if gg(lustra.lampa2)==0){
get(http://...lampa1=ON);}
 if (gg(lustra.lampa1)==1 && if gg(lustra.lampa2)==0){
get(http://...lampa2=ON);}
if (gg(lustra.lampa1)==1 && if gg(lustra.lampa2)==1){
get(http://...lampa1=OFF);}
if (gg(lustra.lampa1)==0 && if gg(lustra.lampa2)==1){
get(http://...lampa2=OFF);}
ещё такой, может он лучше, но теперь пока не на чём испытать (не дома):

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

if (gg(lustra.lampa1)==0 && if gg(lustra.lampa2)==0){
get(http://...lampa1=ON);}
else if (gg(lustra.lampa1)==1 && if gg(lustra.lampa2)==0){
get(http://...lampa2=ON);}
else if (gg(lustra.lampa1)==1 && if gg(lustra.lampa2)==1){
get(http://...lampa1=OFF);}
else if (gg(lustra.lampa1)==0 && if gg(lustra.lampa2)==1){
get(http://...lampa2=OFF);}
а может быть что то более грамотное предложите?
Raspberry Pi 3B+
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение nick7zmail » Ср ноя 14, 2018 12:06 pm

Ну блин...я уже устал предлагать если честно, но ещё раз (наверное уже пятый) повторюсь...ПОЧИТАЙТЕ ПОЖАЛУЙСТА МАНУАЛЫ ПЕРЕД ТЕМ КАК ПИСАТЬ КОД!!!
Если вы не знаете как ту или иную конструкцию использовать, ну не поленитесь загуглите "php использование if". Первое что выдаст гугл это вот эта страничка http://php.net/manual/ru/control-structures.if.php. Там черным (иногда даже разноцветным) по белому написано как использовать конструкции, и несколько примеров. Например пример с несколькими условиями

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

if( ($a==1 || $a==2) && ($b==3 || $b==4) && ($c==5 || $c==6) ) { 
    //do that something here. 
} 
Т.е. в вашем случае

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

if (gg(lustra.lampa1)==0 && gg(lustra.lampa2)==0){
get(http://...lampa1=ON);}
откуда там сраная дополнительная if взялась, которая скорее всего и ломает вам логику - я хз. Простите накипело.
И кстати объекты и свойства должны быть в кавычках или апострафах. url в функции getUrl тоже. И да...сама функция не get а getUrl скорее всего. Вообще не понимаю как "это" у вас хоть как то работает.

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

if (gg('lustra.lampa1')==0 && gg('lustra.lampa2')==0){
getUrl('http://...lampa1=ON');}
Вариант с elseif кстати более логичен, чем первый код.
За это сообщение автора nick7zmail поблагодарил:
woow (Ср ноя 14, 2018 1:35 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение skysilver » Ср ноя 14, 2018 12:17 pm

woow писал(а):
Ср ноя 14, 2018 11:44 am
Написал такой код и он чётко не работает
Он вообще работать не должен. )

Совет. Начни с рисования блоков в Blockly. Потом со временем перейдешь на php.
За это сообщение автора skysilver поблагодарил:
sigment (Ср ноя 14, 2018 12:35 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm
Благодарил (а): 144 раза
Поблагодарили: 70 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение Ron » Ср ноя 14, 2018 1:20 pm

skysilver писал(а):
Ср ноя 14, 2018 12:17 pm
Совет. Начни с рисования блоков в Blockly. Потом со временем перейдешь на php.
Blockly помогает даже тем, кто с php норм. Лишний раз дает шаблон кода, который без ошибок,а там уже и подправить можно руками php ,если чего.
Аватара пользователя
woow
Сообщения: 821
Зарегистрирован: Пн июл 04, 2016 8:46 am
Откуда: Mazeikiai
Благодарил (а): 125 раз
Поблагодарили: 46 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение woow » Ср ноя 14, 2018 1:38 pm

nick7zmail писал(а):
Ср ноя 14, 2018 12:06 pm
Вариант с elseif кстати более логичен, чем первый код.
Я очень извиняюсь за столь не грамотный образец, не хотел переписывать с памяти все адреса, названия да и if прилетел от копипасте. Я хотел изложит саму идею обработки и с условием if или ifelse, или ещё какие то хитрости можно использовать. хватило бы так:

if (lampa1==0&&lampa2==0){
Зажигаем lampa1;} и т.д.


думаю проблема что опрос условии по команде if происходит очень быстро, а сигнал от кубика длится дольше и тут получается как бы дребезг, на подобии механического контакта. Или проверил условие один раз и если произошло какое-то событие, больше условий не проверять например 30мили секунд.
Raspberry Pi 3B+
Аватара пользователя
Ron
Сообщения: 480
Зарегистрирован: Пт окт 27, 2017 6:44 pm
Благодарил (а): 144 раза
Поблагодарили: 70 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение Ron » Ср ноя 14, 2018 1:58 pm

От куба приходит все реактивно.
Ротейт к примеру прилетает за 1 секунду.
skyrider
Сообщения: 138
Зарегистрирован: Ср ноя 22, 2017 11:46 am
Благодарил (а): 35 раз
Поблагодарили: 7 раз

Re: [Модуль] Xiaomi Home (xiaomihome)

Сообщение skyrider » Ср ноя 14, 2018 10:51 pm

Все датчики движения xiaomi aqara после сработки перестали пропадать со сцены, висит красный круг с надписью "только что" и не исчезает со временем как раньше. Свойство объекта XiMotion.status при этом постоянно равно 1, в модуле xiaomihome в колонке "Обновлено" время движения по датчику меняется. В мажоре ничего не менял, единственное обновил около месяца назад (до этого не обновлял долго).
Что делать не пойму, может кто сталкивался, есть мысли?
Ответить