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

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Вт авг 20, 2013 4:01 pm

Я так понимаю, для того чтобы в MDM и X13 могли обмениваться нужными переменными, необходимо со стороны X13 заводить их в var/now/, т.е, чтобы в MDM увидеть давление с датчика на ноде, необходимо эту переменную поместить в var/now/ и аналогично в обратную сторону, если хотим из X13 узнать состояние 1-wire ключа, нужно читать переменную которая лежит в var/now/ и в нее пишем свойства из MDM. Или есть еще какие варианты. И как приделать автоматический запуск mqtt.bat при запуске MDM, чтоб не лазить в папку каждый раз.
x13dev
Сообщения: 15
Зарегистрирован: Чт авг 08, 2013 10:23 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение x13dev » Вт авг 20, 2013 4:30 pm

Panchez писал(а):Изначально доступ дал полный, пробовал как на скриншоте так и файликом, который был в теме для открытия полного доступа.
В моём понимании - это так:
AllowAll.png
AllowAll.png (9.91 КБ) 11479 просмотров
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.
Не надо ереси.
X13.Home - open source система домашней автоматизации
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Вт авг 20, 2013 4:51 pm

Разобрался, если задать в качестве пути /# в MDM и дать права на папки в СС, то становятся доступны все значения.
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Panchez » Вт авг 20, 2013 11:07 pm

Urbas81 писал(а):Разобрался, если задать в качестве пути /# в MDM и дать права на папки в СС, то становятся доступны все значения.
Так точно!!! :)
Если не установлен SleepTime и обновления ноды раз в секунду клиент MDM постоянно переподключается, Сергей писал про эту проблему на ab-log.
Вложения
Timeout.JPG
Timeout.JPG (30.25 КБ) 11458 просмотров
С уважением
Александр.
Panchez
Сообщения: 99
Зарегистрирован: Вс апр 29, 2012 7:31 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение Panchez » Ср авг 21, 2013 12:25 am

Сергей, как быть с историей?
Можно добавить действие при изменении как в 1-wire?
С уважением
Александр.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

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

Сообщение sergejey » Ср авг 21, 2013 10:19 am

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

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

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

Сообщение Urbas81 » Пн дек 02, 2013 5:46 pm

Интересует такой вопрос, что нужно добавить в 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? и дальше через минуту отключение и в браузере ошибка.
wanvo
Сообщения: 1
Зарегистрирован: Пн сен 30, 2013 8:46 am
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение wanvo » Ср янв 22, 2014 2:41 pm

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