Страница 4 из 4

Re: Умный дом по радиоканалу

Добавлено: Вт авг 20, 2013 4:01 pm
Urbas81
Я так понимаю, для того чтобы в MDM и X13 могли обмениваться нужными переменными, необходимо со стороны X13 заводить их в var/now/, т.е, чтобы в MDM увидеть давление с датчика на ноде, необходимо эту переменную поместить в var/now/ и аналогично в обратную сторону, если хотим из X13 узнать состояние 1-wire ключа, нужно читать переменную которая лежит в var/now/ и в нее пишем свойства из MDM. Или есть еще какие варианты. И как приделать автоматический запуск mqtt.bat при запуске MDM, чтоб не лазить в папку каждый раз.

Re: Умный дом по радиоканалу

Добавлено: Вт авг 20, 2013 4:30 pm
x13dev
Panchez писал(а):Изначально доступ дал полный, пробовал как на скриншоте так и файликом, который был в теме для открытия полного доступа.
В моём понимании - это так:
AllowAll.png
AllowAll.png (9.91 КБ) 12862 просмотра
Panchez писал(а): P.S.
Разобрался в /var вообще небыло ничего установлено в security, дал доступ и заработало.
Но только данные из /var обновляются, другие значения из ноды или export не хотят.
Разрешено для /var, доступ есть к /var. Я думаю если разрешить другие ветки, то и они станут доступны.
На скриншоте к сожалению невидно на что подписан MDM.
Urbas81 писал(а):Я так понимаю, для того чтобы в MDM и X13 могли обмениваться нужными переменными, необходимо со стороны X13 заводить их в var/now/, т.е, чтобы в MDM увидеть давление с датчика на ноде, необходимо эту переменную поместить в var/now/ и аналогично в обратную сторону, если хотим из X13 узнать состояние 1-wire ключа, нужно читать переменную которая лежит в var/now/ и в нее пишем свойства из MDM.
Не надо ереси.

Re: Умный дом по радиоканалу

Добавлено: Вт авг 20, 2013 4:51 pm
Urbas81
Разобрался, если задать в качестве пути /# в MDM и дать права на папки в СС, то становятся доступны все значения.

Re: Умный дом по радиоканалу

Добавлено: Вт авг 20, 2013 11:07 pm
Panchez
Urbas81 писал(а):Разобрался, если задать в качестве пути /# в MDM и дать права на папки в СС, то становятся доступны все значения.
Так точно!!! :)
Если не установлен SleepTime и обновления ноды раз в секунду клиент MDM постоянно переподключается, Сергей писал про эту проблему на ab-log.

Re: Умный дом по радиоканалу

Добавлено: Ср авг 21, 2013 12:25 am
Panchez
Сергей, как быть с историей?
Можно добавить действие при изменении как в 1-wire?

Re: Умный дом по радиоканалу

Добавлено: Ср авг 21, 2013 10:19 am
sergejey
Panchez писал(а):Сергей, как быть с историей?
Можно добавить действие при изменении как в 1-wire?
Сейчас во всех свойствах объектов можно задать метод, который будет вызываться при установке значения. Он работает и для переменных привязанных к железу через другие модули. Можно такой способ использовать.

Re: Умный дом по радиоканалу

Добавлено: Пн дек 02, 2013 5:46 pm
Urbas81
Интересует такой вопрос, что нужно добавить в php файл, чтобы управлять переменной через mqtt, при этом чтоб этот код можно было вставить в самодельный цикл. Я создал свой цикл назвал его cycle_my.php, его содержимое:

<?php

chdir(dirname(__FILE__).'/../');

include_once("./config.php");
include_once("./lib/loader.php");
include_once("./lib/threads.php");

set_time_limit(0);

// connecting to database
$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);

include_once("./load_settings.php");
include_once(DIR_MODULES."control_modules/control_modules.class.php");

$ctl = new control_modules();



while(1)
{
echo date("H:i:s") . " running " . basename(__FILE__) . "\n";
setGlobal((str_replace('.php', '', basename(__FILE__))).'Run', time());

DebMes("Запуск моего цикла");

$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1
)
)
);
file_get_contents("http://192.168.1.14/sec/?pt=4&cmd=4:2", 0, $ctx);










if (file_exists('./reboot'))
{
$db->Disconnect();
exit;
}

sleep(2);
}

DebMes("Unexpected close of cycle: " . basename(__FILE__));

?>
добавил код выделенный красным, цикл запускается работает, теперь вместо красного кода мне необходимо изменять состояние элемента в X13

нужно скрестить с этим
<?php
require("phpMQTT.php"); /*https://github.com/bluerhinos/phpMQTT */

/*открываем соединение с брокером*/
$mqtt = new phpMQTT("localhost", 1883, "Test");
/*$mqtt->debug = true;*/

if(!$mqtt->connect(true, NULL, "root", "1")) /*Clean, Will, User, Password*/
{
exit(1);
}

/*Заявляем какие переменные нам нужны, и подписываемся на них */
/*В данном случае получаем системные переменные, как то - время и дату*/
$topics["/export/Ex/dbl02"] = array("qos"=>0, "function"=>"procmsg");
$mqtt->subscribe($topics,0);

/* цикл крутится пока есть соединение к серверу */
while($mqtt->proc()){}
$mqtt->proc();


$mqtt->close();

/*данная функция вызывается каждый раз, когда у нас есть обновление переменных*/
function procmsg($topic,$msg)
{
/* отрезаем тип переменной, так как в большинстве случаев он нам известен заранее */
$msgout = substr($msg,strpos($msg, ',', 1) + 1);

/*здесь мы обрабатываем переменные и решаем что с ними делать*/
echo "{$topic}\t$msgout\n";
}
?>

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

PS Если открываю в браузере последний код, то видно что идет подключение к системе пользователя Test? и дальше через минуту отключение и в браузере ошибка.

Re: Умный дом по радиоканалу

Добавлено: Ср янв 22, 2014 2:41 pm
wanvo
Просьба к товарищам, которые сумели подключить MajorDoMo к X13: распишите пожалуйста по пунктам, что и как нужно делать.
А то совершенно непонятно. Вот я запускаю MajorDoMo иду по адресу http://127.0.0.1:81/ захожу в панель упарвления выбираю Устройства->MQTT
и вижу такую картинку
Major1-1.PNG
Major1-1.PNG (5.96 КБ) 12425 просмотров
Далее выбираю "Настроить" и вижу это
Major2-1.PNG
Major2-1.PNG (13.54 КБ) 12425 просмотров
А что дальше?
В X13 при старте MajorDoMo никаких записей о коннекте не появляется. Пробовал добавлять логин, пароль - не помогает.
И как нужно заполнять поля в форме "Добавить новую запись"
Major3.PNG
Major3.PNG (12.37 КБ) 12425 просмотров
Заранее спасибо за понимание и Ваш труд.