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

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

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

Сообщение THK » 24 дек 2016, 12:39

intrahouse писал(а):Дело в том, что у нас пользовательский интерфейс работает на HTML технологиях. А взять RTSP поток через браузер нам не удалось. Возможно кто-то подскажет как это можно сделать.
Если решение в стиле "Linux way" устроит, присмотритесь к форку motion от Mr. Dave (в оригинальном нет RTSP) https://github.com/Motion-Project/motion Работает стабильно, сохраняет архив видео в h264, управляется HTTP запросами, транслирует поток от камер в mpeg, ну и прочие плюшки - детектор движения, маски, фото и т.д.
Только боюсь с кубиками/апельсинками могут быть проблемы, хотя ресурсов ест немного, да и для таких конфигураций можно детектор движения отключить...
Или Ffmpeg. Других решений год назад я не нашел. Есть еще ZoneMinder, но он меня не устраивает.

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

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

Сообщение intrahouse » 25 дек 2016, 15:55

Коллеги, мы выложили важное обновление системы intraHouse.
Браузер Chrome начиная с версии 55 внес некоторые изменения в методы ввода.
По сообщениям пользователей системы intraHouse после обновления Chrome перестала работать левая кнопка мыши.
Спасибо всем за оперативные сообщения о проблеме, в том числе и Alex_Jet.
Проблема локализована и устранена.
Просим выполнить обновление системы!

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

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

Сообщение intrahouse » 26 дек 2016, 11:21

Alex_Jet писал(а): Посмотрел вебку своих камер. Оказывается они теперь вдобавок к RTSP он-лайн отдают RTMP, который принимается с помощью Adobe FP! Что такое RTMP и как его вещать - https://habrahabr.ru/post/145867/
Самое интересное, что в камере есть настройка порта RTMP (1935), однако я его на роутере не пробрасывал, но Adobe FP показывает видео. Вообще ребята, кто эти камеры сделал - молодцы (конечно не без огрехов) - мобильное приложение хорошее, P2P работает на ура даже через 3G, настройки понятны, ActiveX для IE работает отлично, есть уведомления со скриншотами на e-mail, скрины и видео (при наличии флэшки в качестве буфера) на FTP. И по демократичной цене!
Могу дать код странички, которая "показывает" RTMP, правда что-то мне подсказывает, что возможность просмотра RTMP вы делать не будете.
Здесь выкладывать код не вижу смысла, правда на вашем форуме вообще кроме меня никто не живет :(
THK писал(а):Если решение в стиле "Linux way" устроит, присмотритесь к форку motion от Mr. Dave (в оригинальном нет RTSP) https://github.com/Motion-Project/motion Работает стабильно, сохраняет архив видео в h264, управляется HTTP запросами, транслирует поток от камер в mpeg, ну и прочие плюшки - детектор движения, маски, фото и т.д.
Только боюсь с кубиками/апельсинками могут быть проблемы, хотя ресурсов ест немного, да и для таких конфигураций можно детектор движения отключить...
Или Ffmpeg. Других решений год назад я не нашел. Есть еще ZoneMinder, но он меня не устраивает.
Как вы правильно заметили, для полноценной реализации потокового видео придется устанавливать ffmpeg или аналогичные программы. В рамках проекта intraHouse такую задачу мы пока не ставим. Это потянет за собой дополнительные ресурсы со стороны сервера.
Видеонаблюдение это достаточно самостоятельная задача. На сервере умного дома не хочется устанавливать дополнительного софта. Во всяком случае в стандартном комплекте.
Alex_Jet писал(а): Могу дать код странички, которая "показывает" RTMP, правда что-то мне подсказывает, что возможность просмотра RTMP вы делать не будете.
Здесь выкладывать код не вижу смысла, правда на вашем форуме вообще кроме меня никто не живет :(
Наш форум открылся совсем недавно. Со временем нарастет ;) Выложите код на нашем форуме, посмотрим

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

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

Сообщение THK » 26 дек 2016, 17:24

intrahouse писал(а):Как вы правильно заметили, для полноценной реализации потокового видео придется устанавливать ffmpeg или аналогичные программы. В рамках проекта intraHouse такую задачу мы пока не ставим.
Тогда вот такой вариант, по крайней мере с моими камерами прокатит. Раз в секунду делать фото камерой и выводить картинку. ИМХО Этого более чем достаточно, чтобы посмотреть кто за дверью или перед калиткой...
Думаю подавляющее большинство IP камер (если не все) поддерживают такую возможность.

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

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

Сообщение intrahouse » 26 дек 2016, 17:36

THK писал(а):
intrahouse писал(а):Как вы правильно заметили, для полноценной реализации потокового видео придется устанавливать ffmpeg или аналогичные программы. В рамках проекта intraHouse такую задачу мы пока не ставим.
Тогда вот такой вариант, по крайней мере с моими камерами прокатит. Раз в секунду делать фото камерой и выводить картинку. ИМХО Этого более чем достаточно, чтобы посмотреть кто за дверью или перед калиткой...
Думаю подавляющее большинство IP камер (если не все) поддерживают такую возможность.
Именно так сейчас и работает. Период получения снапшотов можно задавать. Такой механизм работает на всех браузерах и устройствах (PC, iPad, iPhone, Android ...) и почти со всеми камерами и регистраторами.

Ash
Сообщения: 9
Зарегистрирован: 06 дек 2016, 00:32

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

Сообщение Ash » 27 дек 2016, 23:40

Добрый день.
Работу по расписанию можно задать двумя способами:
1) На закладке Devices зайти в настройки и выбрать Action.
2) В Project manager в Devices выбрать Behavior.
В чем разница между этими способами?

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

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

Сообщение intrahouse » 28 дек 2016, 14:56

Ash писал(а):Добрый день.
Работу по расписанию можно задать двумя способами:
1) На закладке Devices зайти в настройки и выбрать Action.
2) В Project manager в Devices выбрать Behavior.
В чем разница между этими способами?
Действительно, работу по расписанию можно задать двумя способами:
Основной способ - это использовать кнопку меню Расписание в Основном меню.
Здесь выводятся все пункты расписания, можно добавить, изменить, удалить любой пункт.
По расписанию можно переключать устройства и запускать сценарии.
shedule101.jpg
shedule101.jpg (116.34 КБ) 4082 просмотра
Дополнительно для каждого исполнительного устройства в настройках (кнопка "Action" - "Действия" в русском варианте) система собирает все варианты Включения и Выключения для этого устройства.
shedule102.jpg
shedule102.jpg (179.07 КБ) 4082 просмотра
Цель этого окна - увидеть все запрограммированые действия данного устройства.
shedule103.jpg
shedule103.jpg (202.68 КБ) 4082 просмотра
Устройство может включиться:
1. По расписанию (по времени/дате, дню недели, на закате-восходе),
2. С помощью голосового или sms управления,
3. С кнопки сценарника,
4. По событию другого устройства (onevent),
5. С помощью более сложного сценария автоматического поведения.

Т.е. если ввести в общее расписание пункт, в котором участвует это устройство, то этот пункт появится в действиях для этого устройства.
И наоборот, можно ввести пункт расписания прямо в окне Действия (при этом автоматически создается действие "Вкл(Выкл) устройство"), и этот пункт появится в общем расписании.
Аналогично для других пунктов - Сценарии по событию можно вводить в общем списке: Project Manager - Сценарии - По событиям устройств, а можно в Действиях, это равнозначно.

Исключением являются сценарии автоматического поведения (5), в окне Действия они не редактируются, а только выводится индикация, какой сценарий используется для устройства.
Привязка же сценария автоматического поведения выполняется в Project Manager - Devices по кнопке "Behavior" ("Поведение").

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

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

Сообщение intrahouse » 28 дек 2016, 15:31

На нашем сайте в wiki опубликована статья по настройке плагина для MegaD: http://www.intrahouse.eu/rus/wiki/megad-328/
Огромное спасибо Alex_Jet за подготовку этой статьи!

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

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

Сообщение Alex_Jet » 28 дек 2016, 23:26

To intrahouse. Подключил HTU21D к MegaD-2561. Надо бы придумать как к каналам привязывать все снимаемые по одной шине I2C показания и доработать плагин. Дело в том, что в I2C один порт MegaD используется как Clock, другой как DATA, в итоге к этой шине можно подключить несколько различных устройств. Например, 1 шт. HTU21D (температура и влажность), 2 шт. BMP180/280 (температура и атмосферное давление), 2 шт. BH1750 (освещенность)!
На данный момент "нативная", как называет ее Андрей, поддержка есть только для HTU21D, но все же...стоит сделать функционал на вырост. Сейчас имеем такой лог при подключенной HTU21D:

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

29.12.2016 02:20:20 localhost => 192.168.12.20:80 HTTP GET /sec/?pt=34&scl=35&i2c_dev=htu21d
29.12.2016 02:20:20 localhost <= 192.168.12.20:80 HTTP 27.17
29.12.2016 02:20:20 MG2?35=27.17&
29.12.2016 02:20:20 localhost => 192.168.12.20:80 HTTP GET /sec/?pt=34&scl=35&i2c_dev=htu21d&i2c_par=1
29.12.2016 02:20:20 localhost <= 192.168.12.20:80 HTTP 128.85
29.12.2016 02:20:20 MG2?35=128.85&
Кроме этого, к той же шине I2C можно подключить текстовый/графический ЖКИ (разместить его в санузле/погребе/котельной) и передавать на него данные, например, температуру/уровень влажности или СО2. Как это возможно сделать через php скрипты - я прекрасно понимаю, как это возможно сделать в вашей системе... интересное будет решение:)

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

i2c_cmd - команды (1 - инициализация; 2 - старт; 3 - стоп)
Пример: http://192.168.0.14/sec/?pt=35&scl=34&i2c_cmd=1

i2c_send - отправка данных в HEX-виде
Пример: http://192.168.0.14/sec/?pt=35&scl=34&i2c_send=80

i2c_read - считывание данных в HEX-виде (0 - на конце ACK; 1 - на конце NACK [конец связи])
Пример: http://192.168.0.14/sec/?pt=35&scl=34&i2c_read=0

i2c_sendp - отправка пакетных данных в HEX-виде
Пример: http://192.168.0.14/sec/?pt=35&scl=34&i2c_send=780020

Ash
Сообщения: 9
Зарегистрирован: 06 дек 2016, 00:32

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

Сообщение Ash » 29 дек 2016, 01:04

Добрый день.
Прошу помочь со следующими вопросами:
1) У меня несколько модулей MegaD.
К одному из них подключена лампа (12 порт на MegaD с IP 192.168.1.51). Ко второму кнопка (5 порт на MegaD с IP 192.168.1.52) нажатие на которую должно включать и выключать лампу.
Как настроить Message from MegaD, чтобы устройство с одного MegaD управлялось кнопкой с другого? Можно ли в поле Response отдавать команду (http://192.168.1.52/sec/?cmd=12:1) на другой MegaD в сети?
Снимок экрана 2016-12-29 в 0.03.11.png
Снимок экрана 2016-12-29 в 0.03.11.png (173.39 КБ) 4055 просмотров
2) Для закрытия и открытия электрической защелки нужно оперировать с 4 реле на MegaD. Я создал 4 соответствующих Chanel, привязанных к соответствующим портам MegaD. Затем я создаю новое устройство в System content -> Devices, но оно может привязаться только к одному hardware.
Как мне создать сущность типа замок и задать ей два скрипта на открытие и закрытие, состоящих из комбинации действий с 4 chanell на MegaD?

3) Вы реализовали функцию плавного включения/выключения лампочек на диммируемых каналах MegaD?

4) Где прочитать про синтаксис вашего скриптового языка?

Сергей.

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

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

Сообщение intrahouse » 29 дек 2016, 13:16

Alex_Jet писал(а):Подключил HTU21D к MegaD-2561. Надо бы придумать как к каналам привязывать все снимаемые по одной шине I2C показания и доработать плагин. Дело в том, что в I2C один порт MegaD используется как Clock, другой как DATA, в итоге к этой шине можно подключить несколько различных устройств. Например, 1 шт. HTU21D (температура и влажность), 2 шт. BMP180/280 (температура и атмосферное давление), 2 шт. BH1750 (освещенность)!
Пока не занимались I2C, но похоже для чтения датчиков можно обойтись и существующим функционалом.
http запрос ведь адресуется к конкретному устройству на шине?
То, что номер канала MegaD и адрес совпадают - это важно для выделения данных в общей строке запроса. В остальном жесткой связи нет.
Если опрашивать каждый датчик отдельно, можно просто создать виртуальные каналы, например, 101,102, и для них прописать соответствующие запросы.
Alex_Jet писал(а):Кроме этого, к той же шине I2C можно подключить текстовый/графический ЖКИ
Здесь так просто не обойтись, нужно будет добавить новый вид канала и доработать плагин.

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

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

Сообщение Alex_Jet » 29 дек 2016, 19:14

Ash писал(а): 1) У меня несколько модулей MegaD.
К одному из них подключена лампа (12 порт на MegaD с IP 192.168.1.51). Ко второму кнопка (5 порт на MegaD с IP 192.168.1.52) нажатие на которую должно включать и выключать лампу. Как настроить Message from MegaD, чтобы устройство с одного MegaD управлялось кнопкой с другого? Можно ли в поле Response отдавать команду (http://192.168.1.52/sec/?cmd=12:1) на другой MegaD в сети?
Проверил. Сейчас это не работает, сам не использую такой механизм, но может в дальнейшем пригодиться.
To intrahouse. Необходимо поле "Response" парсить на предмет наличия заголовка "http://" - если он есть, то использовать HTTP POST к хосту, IP которого прописан после заголовка. Вот что сейчас происходит при приеме Request от MegaD и наличии команды для удаленного MegaD в поле "Response":

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

29.12.2016 21:35:14 192.168.12.30 => localhost:8030 HTTP GET /mod_megad.php?pt=0&m=1&cnt=7
29.12.2016 21:35:14 MG1?0=0&
29.12.2016 21:35:14 192.168.12.30 <= localhost:8030 http://192.168.12.20/sec/?pt=7&cmd=7:0
29.12.2016 21:35:16 192.168.12.30 => localhost:8030 HTTP GET /mod_megad.php?pt=0&cnt=7
29.12.2016 21:35:16 MG1?0=1&
29.12.2016 21:35:16 192.168.12.30 <= localhost:8030 http://192.168.12.20/sec/?pt=7&cmd=7:1
Ash писал(а): 2) Для закрытия и открытия электрической защелки нужно оперировать с 4 реле на MegaD. Я создал 4 соответствующих Chanel, привязанных к соответствующим портам MegaD. Затем я создаю новое устройство в System content -> Devices, но оно может привязаться только к одному hardware.
Как мне создать сущность типа замок и задать ей два скрипта на открытие и закрытие, состоящих из комбинации действий с 4 chanell на MegaD?
Жесть - это что еще защелка такая с управлением через 4 реле!? Вероятно надо создавать 4 устройства и далее если реально нужна вариация управления реле, то составлять сценарии типа "Открыть замок" и "Закрыть замок", вытащить кнопки на план или в основное меню. Ищите на страницах ранее по сценариям, уже описывалось.
Ash писал(а): 3) Вы реализовали функцию плавного включения/выключения лампочек на диммируемых каналах MegaD?
Вероятно это можно реализовать с помощью сценариев или еще как-нибудь. Суть в том, что никто еще не выкладывал отчета по взаимодействию intrahouse с ШИМ-каналами MegaD. Так понимаю надо поиграться с Диммерами в системе, привязав в качестве железа ШИМ-канал MegaD, однако у меня пока такой надобности нет.
Ash писал(а):4) Где прочитать про синтаксис вашего скриптового языка?
Что Вы имеете ввиду? Что и где Вы собираетесь применять? В скриптах для каналов используется обычный javascript! В сценариях и поведениях устройств используются скрипты в формате .json, синтаксис разработчики должны были выложить в Wiki - надо там смотреть.
intrahouse писал(а):Пока не занимались I2C, но похоже для чтения датчиков можно обойтись и существующим функционалом.
http запрос ведь адресуется к конкретному устройству на шине?
То, что номер канала MegaD и адрес совпадают - это важно для выделения данных в общей строке запроса. В остальном жесткой связи нет.
Если опрашивать каждый датчик отдельно, можно просто создать виртуальные каналы, например, 101,102, и для них прописать соответствующие запросы.
Да, уже тоже так же сделал - работает! См.скриншот каналов:
Каналы для I2C.jpg
Каналы для I2C.jpg (150.45 КБ) 4002 просмотра
Однако нужна еще возможность работы с I2C с помощью плагинов I2C устройств и управляющих скриптов. Поскольку в MegaD невозможно встроить "нативную" поддержку всех I2C устройств.
intrahouse писал(а):Здесь так просто не обойтись, нужно будет добавить новый вид канала и доработать плагин.
Да, вероятно так.

To intrahouse. Надобавлялся каналов (в том числе скриптовых) в один из плагинов...начал виснуть периодически (скриптовые каналы не читаются, актюаторы не управляются). Снял лог как это все происходит. Здесь выкладывать описание проблемы или на вашем форуме?

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

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

Сообщение intrahouse » 30 дек 2016, 12:02

Ash писал(а): У меня несколько модулей MegaD.
К одному из них подключена лампа (12 порт на MegaD с IP 192.168.1.51). Ко второму кнопка (5 порт на MegaD с IP 192.168.1.52) нажатие на которую должно включать и выключать лампу.
Как настроить Message from MegaD, чтобы устройство с одного MegaD управлялось кнопкой с другого? Можно ли в поле Response отдавать команду (http://192.168.1.52/sec/?cmd=12:1) на другой MegaD в сети?
Alex_Jet писал(а): Сейчас это не работает....Необходимо поле "Response" парсить на предмет наличия заголовка "http://"...
Да, вы правы. Доработаем плагин в ближайшее время.
Ash писал(а): Для закрытия и открытия электрической защелки нужно оперировать с 4 реле на MegaD. Я создал 4 соответствующих Chanel, привязанных к соответствующим портам MegaD. Затем я создаю новое устройство в System content -> Devices, но оно может привязаться только к одному hardware.
Как мне создать сущность типа замок и задать ей два скрипта на открытие и закрытие, состоящих из комбинации действий с 4 chanell на MegaD?
Не совсем так. В системе IntraHouse канал - это НАБОР свойств (адресов) физического уровня, позволяющий получать состояние и управлять устройством. Т.е. канал будет один, тип - Исполнительное устройство дискретное.

В качестве адреса для такого канала обычно берется вход "Состояние" для этого устройства (можно взять геркон, тогда на индикации будет состояние: открыто - закрыто. Или любой несуществующий адрес)
А управление реле нужно будет сделать в Request, прописать в виде cmd=... для ON - открыть, OFF - закрыть.
На данный момент проблема с реализацией этого решения в том, что в запросе, видимо, будут паузы, которые MegaD отрабатывать не будет, т.к. "...паузы работают ТОЛЬКО в сценариях по умолчанию и НЕ работают в случае ответов и команд сервера"

У нас запланирована задача выполнения плагином задержек, которые прописаны в командах MegaD, в т.ч. переменной длины. Пока, к сожалению, не сделано. Что можно сказать и по поводу диммирования. Предновогодняя запарка (.

Что касается синтаксиса скриптового языка - это декларативное описание в формате json. Функциональность сейчас расширяется, описание будет в Wiki после новогодних праздников. Примеры можно посмотреть в папке /opt/intrahouse/server/scenpat.

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

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

Сообщение intrahouse » 30 дек 2016, 12:04

Alex_Jet писал(а): To intrahouse. Надобавлялся каналов (в том числе скриптовых) в один из плагинов...начал виснуть периодически (скриптовые каналы не читаются, актюаторы не управляются). Снял лог как это все происходит. Здесь выкладывать описание проблемы или на вашем форуме?
Чтобы не загромождать ветку, лучше у нас. Здесь отпишемся при решении проблемы.
Видимо,нужен не только лог, но и скрипты обработки.

dehimer
Сообщения: 7
Зарегистрирован: 16 окт 2016, 01:08

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

Сообщение dehimer » 02 янв 2017, 10:31

Как найти ваш форум?

MSapogov
Сообщения: 312
Зарегистрирован: 13 май 2015, 08:44
Откуда: г. Томск

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

Сообщение MSapogov » 02 янв 2017, 11:14

В первом сообщении есть ссылка на ОФ сайт... Там "О Системе" > "Форум"

dehimer
Сообщения: 7
Зарегистрирован: 16 окт 2016, 01:08

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

Сообщение dehimer » 02 янв 2017, 14:46

Да, нашёл. Для других в одно нажатие: http://intrahouse.eu/forum/

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

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

Сообщение Alex_Jet » 05 янв 2017, 10:10

intrahouse писал(а):
Alex_Jet писал(а): Сейчас это не работает....Необходимо поле "Response" парсить на предмет наличия заголовка "http://"...
Да, вы правы. Доработаем плагин в ближайшее время.
А возможно ли подобно каналам привязывать скрипт к каждому запросу, который присылает на сервер MegaD?
Например, пришло st=1, тогда опрашиваем состояние портов MegaD (хотя это делается сейчас по умолчанию), сбрасываем флаги, установленные в файлах/БД? Или проводим инициализацию I2C дисплея? Либо все же нужен какой-то новый вид каналов для I2C в том числе для дисплеев (у них как особенность - необходимость первоначальной инициализации, далее можно просто в заданных ячейках обновлять данные, но при отключении, а затем включении MegaD необходимо снова проводить инициализацию дисплеев).

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

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

Сообщение intrahouse » 06 янв 2017, 16:58

Уважаемые коллеги. Поздравляем всех с Новым годом!
С начала этого года закончилась акция по которой систему intraHouse можно было приобрести со скидкой.
Но унывать не стоит. Всем пользователям устройства MegaD ;) мы предоставляем скидку в размере 50%

nsnbish
Сообщения: 12
Зарегистрирован: 18 ноя 2013, 13:38

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

Сообщение nsnbish » 08 янв 2017, 10:29

Хотелось бы узнать в чем Ваше решение отличается от бесплатных Iobroker, OpenHab, Majordomo и т.д. по функционалу, софтовыми технологиями (платформа, используемая субд, типы поддерживаемых протоколов и т.д.) Важно знать где лучше заплатить, а где можно и поиграться :)

Ответить