intraHouse - Сервер умного дома

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
dehimer
Сообщения: 7
Зарегистрирован: 16 окт 2016, 01:08

Re: Сервер умного дома

Сообщение dehimer » 12 дек 2016, 05:13

Я бы попробовал поставить посвежее, всё-таки старые дистрибутивы отличаются составом пакетов.

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 12 дек 2016, 11:08

deg026 писал(а):доброго всем дня,
хотел уточнить, а тут обсуждаются только интеграция с MegaD ?
просто я только тут нашел форум где активно общается представитель intrahouse
а у меня вопрос по интеграции его с Z-Wave, можно тут задать пару вопросом?
есть ли, будет ли интеграция?
Протокол работы с устройствами z-wave раньше был закрыт.
Сейчас компания Sigma Designs протокол открыла, и мы запланировали в следующем году сделать плагин для z-wave.

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 12 дек 2016, 11:17

anapogo писал(а): я смотрю тут ни у кого с сервером проблем не возникает?
у меня вообще деб не становится...
Попробуйте без установки deb пакета установить node.js
Если устанавливается, то deb пакет должен встать без проблем.
anapogo писал(а): и будет-ли сервер работать на LUbuntu?
Мы пробовали ставить на LUbuntu и XUbuntu.
Правда убирали графическую оболочку. Для сервера лишнее.

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: Сервер умного дома

Сообщение anapogo » 12 дек 2016, 11:34

intrahouse писал(а):
anapogo писал(а): я смотрю тут ни у кого с сервером проблем не возникает?
у меня вообще деб не становится...
Попробуйте без установки deb пакета установить node.js
Если устанавливается, то deb пакет должен встать без проблем.
anapogo писал(а): и будет-ли сервер работать на LUbuntu?
Мы пробовали ставить на LUbuntu и XUbuntu.
Правда убирали графическую оболочку. Для сервера лишнее.
т.е. версия Ubuntu не имеет значения?
и на Ubuntu 8 *.deb должен становиться?
моя Ubuntа сказала, что это совсем не .deb, и ставит я его не буду :-)

GUI, оно-то в работе то да, лишнее,
но пока отлаживаешь, настраиваешь ОНО как-бы и не лишнее....
а графическую оболочку убирали при загрузке, или кардинально, деинсталировали?

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: Сервер умного дома

Сообщение anapogo » 12 дек 2016, 11:40

dehimer писал(а):Я бы попробовал поставить посвежее, всё-таки старые дистрибутивы отличаются составом пакетов.
да я их конечно обновил, конечно насколько позволил http://old-releases.ubuntu.com/

а посвежее, блин, не хотят на старые машины вставать....:-)
вот и ищу компромис
не буду-ж я его на рабочий комп ставить.

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 12 дек 2016, 16:17

Alex_Jet писал(а): Скрипт работает, но не совсем как надо. Пока не разобрался как его переделать, но смысл должен быть таков:
1. Наступает время опроса канала (например, раз в 5 минут)
2. Делаем 5 измерений с интервалом 5 секунд
3. По окончанию: сортируем эти 5 измерений
4. Результат усредняем по трем средним значениям и проводим его масштабирование.
Понятно, т.е. функция должна менять периодичность опроса: 5 мин - 5 сек - 5 сек -5 сек -5 сек -5 сек -5 мин.
Сделали, можно обновить систему.
Теперь есть возможность возвращать из скрипта не только одно значение (это осталось), но и объект:{ val:xxx, reqsek:yy },
где val - рассчитанное значение, reqsek - время для следующего запроса.

Теперь можно сделать как-то так:

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

function (val, depo) {
var result;

	if (!depo.res) depo.res = [];   

	depo.res.push(val);  

	if (depo.res.length < 5)    return { reqsek:5 };  // Нужны еще измерения, значение не возвращаем
	
	depo.res.sort();   

	result = ((Math.round((depo.res[1] + depo.res[2] + depo.res[3]) / 3) - 100 ) * 10 + 350);

	depo.res = []; // Перед следующими измерениями сбрасываем массив
	
	return { val:result, reqsek:300 }; // Восстанавливаем период 5 мин
}

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 12 дек 2016, 16:20

Alex_Jet писал(а): 1. Если делаю новый шаблон поведения устройств и ложу его в /opt/intrahouse/server/scenpat, то он ведь не сохраняется в конфигурации? Как быть?
Да, сейчас это так :( Идея была, что шаблоны должны обновляться и пополняться при обновлении системы.
Уже понятно, что нужны и чисто пользовательские шаблоны, которые должны редактироваться через интерфейс и быть частью проекта. Включено в план ;)
Alex_Jet писал(а): 2. Что можно создавать в /opt/intrahouse/base/scenbase и /opt/intrahouse/base/scencall? Содержимое этих папок как раз сохраняется в конфигурации.
в /opt/intrahouse/base/scencall хранятся фактические имена устройств для запуска шаблонных сценариев, т.е. настройки, которые делаются по кнопке "Поведение"

в /opt/intrahouse/base/scenbase хранятся сценарии проекта, которые не шаблонные.
Т.е. в скрипте идет прямое обращение к конкретным именам устройств.
Эти сценарии не требуют привязки, их достаточно положить в эту папку, файл должен иметь расширение .json

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Сервер умного дома

Сообщение Alex_Jet » 13 дек 2016, 09:57

intrahouse писал(а):Понятно, т.е. функция должна менять периодичность опроса: 5 мин - 5 сек - 5 сек -5 сек -5 сек -5 сек -5 мин.
Сделали, можно обновить систему.
Теперь есть возможность возвращать из скрипта не только одно значение (это осталось), но и объект:{ val:xxx, reqsek:yy },
где val - рассчитанное значение, reqsek - время для следующего запроса.
Ну что сказать - круто, Вы настоящие профессионалы! Даже не думал, что можно решить проблему именно таким способом! На данный момент значения с датчика СО2 формируются верно (см. скриншот ниже). Теперь, так понимаю, можно сделать любой алгоритм съема/усреднения/масштабирования значений датчиков.
Графики_СО2_low.jpg
Графики_СО2_low.jpg (41.76 КБ) 4056 просмотров
Хочу так же обратить ваше внимание на удобство отображения графиков. Графики в системе умного дома нужны в основном для анализа работы сценариев/алгоритмов/расписаний. Для проведения анализа необходимы разные выборки по времени. Когда я "пилил" demo Андрея под себя, то пришел к выводу, что наибольшую пользу приносят следующие временные интервалы: 3 часа по умолчанию (-3 часа от текущего времени), сутки (-24 часа от текущего времени), неделя (-7 дней от текущего времени) и месяц (-30 дней от текущего времени). Причем шкала Y должна автомасштабироваться в зависимости от текущих показаний. В вашем случае в качестве временного интервала можем выбрать любые: час, сутки, месяц, год. Однако 1 час - никакой особой информации зачастую не несет, а 1 сутки - не хватает детализации.

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 13 дек 2016, 17:59

Alex_Jet писал(а): Ну что сказать - круто, Вы настоящие профессионалы! Даже не думал, что можно решить проблему именно таким способом!
Спасибо :)
Alex_Jet писал(а): Теперь, так понимаю, можно сделать любой алгоритм съема/усреднения/масштабирования значений датчиков.
Да, функция может использовать любые штатные возможности JavaScript, за исключением замыканий и таймеров (они работать не будут).
Alex_Jet писал(а): Хочу так же обратить ваше внимание на удобство отображения графиков ...
Согласны с вашими замечаниями, планируем дорабатывать механизм графиков. В плане опциональное автомасштабирование, скользящая временная шкала, просмотр данных в виде таблиц и др.
Alex_Jet писал(а): Однако 1 час - никакой особой информации зачастую не несет, а 1 сутки - не хватает детализации.
Детализация все же возможна уже сейчас. Выделив мышкой кусок на графике, можно углубиться и рассмотреть подробности.
gr103.jpg
gr103.jpg (173.5 КБ) 4027 просмотров

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 14 дек 2016, 19:04

Уважаемые коллеги!
Обращаемся к вам с просьбой.
Нужно подготовить описание по подключению MegaD к intraHouse и настройке устройств (датчиков, актуаторов…).
Это описание будет размещено на сайте ab-log (с разрешения Andrey_B) и на сайте intraHouse
Мы могли бы сделать это описание сами, но мы не знаем MegaD так как вы.
Я думаю это описание будет полезно не только вашим последователям но и вам самим.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Сервер умного дома

Сообщение Alex_Jet » 15 дек 2016, 10:46

intrahouse писал(а):Уважаемые коллеги!
Обращаемся к вам с просьбой.
Нужно подготовить описание по подключению MegaD к intraHouse и настройке устройств (датчиков, актуаторов…).
Немного высвободиться время, опробую подключение нескольких датчиков на 1-wire bus и напишу гайд по добавлению плагина, каналов, скриптов к каналам.
В свою очередь хотел бы почитать про возможности построения графиков. Разработку собственных "многоходовых" сценариев работы различных систем. Может быть разбор нескольких примеров.

Вопросы:
1. У Вас не было опыта управления трехходовыми клапанами отопления с помощью intrahouse? Возможно ли воплотить алгоритм, который описан у Андрея (http://www.ab-log.ru/smart-house/heating-automation)?
2. Хочу сделать образ настроенной системы. Как правильно остановить весь сервер, чтобы завершились процессы и не потерялись нигде данные - sudo shutdown -P now?
Вообще, надо читать доку по debian, однако знаю, что ключ:
-H, --halt - это отключить питание, не завершая процессы и не перемонтируя файловые системы;
-P, --poweroff - нормальное выключение;
Другие команды типа sudo halt, sudo poweroff - не выполняют никаких подготовительных действий перед выключением, а просто отключают питание.

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 15 дек 2016, 19:24

Alex_Jet писал(а): В свою очередь хотел бы почитать про возможности построения графиков. Разработку собственных "многоходовых" сценариев работы различных систем. Может быть разбор нескольких примеров.
Как всегда нехватка времени :( Подробное описание выложим в Wiki
Alex_Jet писал(а): Вопросы:
1. У Вас не было опыта управления трехходовыми клапанами отопления с помощью intrahouse?
С трехходовыми клапанами работали через 0-10V. Позиционирование клапанов с помощью временных интервалов не делали.
Alex_Jet писал(а): 2. Хочу сделать образ настроенной системы. Как правильно остановить весь сервер, чтобы завершились процессы и не потерялись нигде данные - sudo shutdown -P now?
Вообще, надо читать доку по debian, однако знаю, что ключ:
-H, --halt - это отключить питание, не завершая процессы и не перемонтируя файловые системы;
-P, --poweroff - нормальное выключение;
Другие команды типа sudo halt, sudo poweroff - не выполняют никаких подготовительных действий перед выключением, а просто отключают питание.
sudo shutdown -h now
Кстати перед сдачей системы клиенту в эксплуатацию мы проводим и такой вид теста: пару раз выключаем и включаем автомат питания всего дома/квартиры.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Сервер умного дома

Сообщение Alex_Jet » 16 дек 2016, 06:27

intrahouse писал(а):С трехходовыми клапанами работали через 0-10V. Позиционирование клапанов с помощью временных интервалов не делали.
У меня задача управлять 3-х точечным приводом ARA661 (замкнули один ключ - вращение влево, замкнули другой ключ - вращение вправо). Как вариант - скиньте сценарий поведения линейного привода в зависимости от датчика температуры, установленного после него. Чтобы не придумывать велосипед с нуля.

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 16 дек 2016, 15:04

Alex_Jet писал(а):
intrahouse писал(а):С трехходовыми клапанами работали через 0-10V. Позиционирование клапанов с помощью временных интервалов не делали.
У меня задача управлять 3-х точечным приводом ARA661 (замкнули один ключ - вращение влево, замкнули другой ключ - вращение вправо). Как вариант - скиньте сценарий поведения линейного привода в зависимости от датчика температуры, установленного после него. Чтобы не придумывать велосипед с нуля.
Кроме сценария, в данном случае нужно будет добавить работу с импульсами переменной длины.
Сейчас пробуем на MegaD-328. Спасибо Андрею.

В документации написано:
Управлять выходами можно с помощью параметра cmd. Формат параметра соответствует формату записи сценария

Но такой вот запрос - /sec/?cmd=8:1;p100;8:0 - не работает.
Включение происходит, выключение - нет.

clark2
Сообщения: 67
Зарегистрирован: 11 авг 2012, 00:17
Откуда: Kiev region

Re: Сервер умного дома

Сообщение clark2 » 16 дек 2016, 15:34

intrahouse писал(а):
Но такой вот запрос - /sec/?cmd=8:1;p100;8:0 - не работает.
Включение происходит, выключение - нет.
Вот ответ Андрея в комментариях к API
2016-12-04 10:24:57 | Andrey_B
...паузы работают ТОЛЬКО в сценариях по умолчанию и НЕ работают в случае ответов и команд сервера. Этому есть ряд объективных причин, о которых я несколько раз писал.
Если устройством управляет сервер, то ему ничего не стоит самому выдержать необходимые паузы.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Сервер умного дома

Сообщение Alex_Jet » 18 дек 2016, 17:31

To intrahouse. А можно доработать поля "Запрос Stream" и "Запрос Snapshot" у камер? У более менее современных камер авторизация происходит через tcp socket и поток они выдают по rtsp. Мои китайские камеры выдают поток по линку rtsp://192.168.10.88/11 - 1 поток (rtsp://192.168.10.88/12 - 2 поток, rtsp://192.168.10.88/13 - 3 поток). Snapshot выдают по линку .../tmpfs/auto.jpg. Так вот, можно сделать чтобы в вышеуказанные поля нужно было вводить - rstp://%ip%/11 и http://%ip%/tmpfs/auto.jpg? Причем если идет локальный запрос, то ip=local_ip, иначе ip=external_ip.
А еще очень интересно как сделано, что при установленной настройке "Запрашивать пароль", только при самом первом подключении появляется запрос на login/password и потом он не появляется???

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 19 дек 2016, 14:48

Alex_Jet писал(а):To intrahouse. А можно доработать поля "Запрос Stream" и "Запрос Snapshot" у камер? У более менее современных камер авторизация происходит через tcp socket и поток они выдают по rtsp. Мои китайские камеры выдают поток по линку rtsp://192.168.10.88/11 - 1 поток (rtsp://192.168.10.88/12 - 2 поток, rtsp://192.168.10.88/13 - 3 поток). Snapshot выдают по линку .../tmpfs/auto.jpg. Так вот, можно сделать чтобы в вышеуказанные поля нужно было вводить - rstp://%ip%/11 и http://%ip%/tmpfs/auto.jpg? Причем если идет локальный запрос, то ip=local_ip, иначе ip=external_ip.
Дело в том, что у нас пользовательский интерфейс работает на HTML технологиях. А взять RTSP поток через браузер нам не удалось. Возможно кто-то подскажет как это можно сделать.
Конечно можно установить всякие ActiveX и прочие плагины для разных платформ.
Мы исходили из задачи, что интерфейс должен работать на любых устройствах.
И единственный универсальный способ, это снапшоты. Работает даже на iPad.
Локальные и удаленные адреса в системе вводятся при настройке отдельно и она автоматически выдает клиенту адрес в зависимости от того где он находится.
Alex_Jet писал(а):А еще очень интересно как сделано, что при установленной настройке "Запрашивать пароль", только при самом первом подключении появляется запрос на login/password и потом он не появляется???
А это свойство Хрома ;) Первый раз спрашивает пароль, потом нет. Можете попробовать введя запрос к камере из строки браузера.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Сервер умного дома

Сообщение Alex_Jet » 19 дек 2016, 15:11

intrahouse писал(а):...взять RTSP поток через браузер нам не удалось.
Хм...ковырну новые камеры, посмотрю как там реализовано. Поскольку до того, как из Chrome вырезали плагины NPAPI, видео с камер запускалось через ActiveX-плагин. Однако в последних версиях Chrome NPAPI вырезали, но видео с новых камер (новая прошивка) через веб транслируется.
intrahouse писал(а):А это свойство Хрома ;) Первый раз спрашивает пароль, потом нет. Можете попробовать введя запрос к камере из строки браузера.
Очень интересно. Почему-то когда я дорабатывал demo, то каждый раз при запросе /tmpfs/auto.jpg мне приходилось вводить логин/пароль. Надоело и написал скрипт, который раз в минуту по tcp заходит на камеру скачивает изображение и сохраняет в файл на веб-сервере. Кстати, в IE11 скриншоты с камеры у меня не отображаются...бесконечный "Loading..."

А еще момент! Как-то принципиально группы камер должны быть числами? Будут у меня на странице CCTV в нижней строке числа 1,2,3 - которые пользователю ничего не говорят! А вот если бы было написано "Территория", "Первый этаж", "Второй этаж" - то было бы удобнее, ИМХО.

intrahouse
Сообщения: 153
Зарегистрирован: 17 янв 2014, 11:07

Re: Сервер умного дома

Сообщение intrahouse » 19 дек 2016, 15:23

Alex_Jet писал(а): А еще момент! Как-то принципиально группы камер должны быть числами? Будут у меня на странице CCTV в нижней строке числа 1,2,3 - которые пользователю ничего не говорят! А вот если бы было написано "Территория", "Первый этаж", "Второй этаж" - то было бы удобнее, ИМХО.
В общем не принципиально. Сделаем, позже. Дадим возможность вводить имя группы.

Alex_Jet
Сообщения: 1251
Зарегистрирован: 12 янв 2014, 18:00
Откуда: Россия, г.Томск

Re: Сервер умного дома

Сообщение Alex_Jet » 23 дек 2016, 13:21

intrahouse писал(а):А взять RTSP поток через браузер нам не удалось. Возможно кто-то подскажет как это можно сделать.
Посмотрел вебку своих камер. Оказывается они теперь вдобавок к RTSP он-лайн отдают RTMP, который принимается с помощью Adobe FP! Что такое RTMP и как его вещать - https://habrahabr.ru/post/145867/
Самое интересное, что в камере есть настройка порта RTMP (1935), однако я его на роутере не пробрасывал, но Adobe FP показывает видео. Вообще ребята, кто эти камеры сделал - молодцы (конечно не без огрехов) - мобильное приложение хорошее, P2P работает на ура даже через 3G, настройки понятны, ActiveX для IE работает отлично, есть уведомления со скриншотами на e-mail, скрины и видео (при наличии флэшки в качестве буфера) на FTP. И по демократичной цене!
Могу дать код странички, которая "показывает" RTMP, правда что-то мне подсказывает, что возможность просмотра RTMP вы делать не будете.
Здесь выкладывать код не вижу смысла, правда на вашем форуме вообще кроме меня никто не живет :(
intrahouse писал(а):В общем не принципиально. Сделаем, позже. Дадим возможность вводить имя группы.
Как вариант сделать подобно графикам. То есть сделать "Наборы камер", хотя мне больше нравится "Группы камер" и "Группы графиков" ;)

Ответить