[Модуль] ZoneMinder events (app_zoneminder)

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

Модератор: immortal

TransMatrix
Сообщения: 186
Зарегистрирован: Вс май 28, 2017 9:24 am
Благодарил (а): 8 раз
Поблагодарили: 22 раза

Re: ZoneMinder events

Сообщение TransMatrix » Вс сен 02, 2018 1:16 am

Вдруг оно кому надо?

Последний кадр:
http://сервер/cgi-bin/zms?mode=single&monitor=номер монитора&user=логин&pass=пароль
За это сообщение автора TransMatrix поблагодарил:
Bolik.Stav (Вс ноя 10, 2019 10:13 am)
Рейтинг: 1.27%
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 69 раз
Поблагодарили: 34 раза

Re: ZoneMinder events

Сообщение Alien » Вс окт 14, 2018 3:35 pm

Иван, пропал интерес к модулю или к ZM в целом?
Неплохо бы глубже интегрировать. Можно ведь и список мониторов получить через api и управлять ими. А то и вовсе в ПУ добавить, чтоб каждый свой огород не городил и это дело как-то стандартизировалось.
По-поводу отключения сделал метод, привязанный к свойству enabled:

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

if ($this->getProperty("enabled")) {
	$function='Modect';
	} else {
 		$function='None';
}

$enabled=$this->getProperty("enabled");
$username = $this->getProperty("user");
$password = $this->getProperty("pass");
$monitor = $this->getProperty("number");
$path = $this->getProperty("path");
$loginUrl = "$path/index.php";
$apiUrl = "$path/api";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password.'&action=login&view=console');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec($ch);

#turn off POST after login - important
curl_setopt($ch, CURLOPT_POST, 0);

print "---------- Disable Monitor -----------------";
curl_setopt($ch, CURLOPT_URL, $apiUrl."/monitors/$monitor.json");
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password."&Monitor[Function]=$function&Monitor[Enabled]=$enabled");

$content = curl_exec($ch);
print $content;

curl_close($ch);
У объекта, соответственно, должны быть свойства:
path - URL к серверу zm (без слеша в конце)
number - Номер монитора в zm
enabled - Включение/Отключение наблюдения (Связаный метод: zmCamModeSwitch)
pass - Пароль
user - Пользователь
Name - Название камеры

А дальше командую через шаблоны, но что мешает через кнопки на сценах или меню изменять enabled.

Кроме того я использую запись по движению, но можно изменить на другие режимы:
None - мониторинг выключен
Monitor - только просмотр
Modect - запись только движения
Record - постоянная запись
Mocord - тоже что и Record, но дополнительно выделяются те области, где было замечено движение
Nodect - запись по внешнему триггеру (что, кстати, неплохой вариант интеграции с МД)
Ubuntu на Banana pi M2U Connect
ученик
Сообщения: 222
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 5 раз

Re: ZoneMinder events

Сообщение ученик » Вс окт 14, 2018 4:25 pm

Я с zoneminderа ушел
Взял Xeoma со стандартной лицензией
сервак с zoneminder, постоянно работал вентилятор обдува.
и проц был постоянно занят на 60%
а с Xeomoй молчит, не слышно как работает
За это сообщение автора ученик поблагодарил:
Alien (Вс окт 14, 2018 5:43 pm)
Рейтинг: 1.27%
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 69 раз
Поблагодарили: 34 раза

Re: ZoneMinder events

Сообщение Alien » Вс окт 14, 2018 10:00 pm

Тема классная, но ценник обескураживает. ZM, при всех своих недостатках, - будет привлекать, так что модуль достоин развития.
Ubuntu на Banana pi M2U Connect
ученик
Сообщения: 222
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 5 раз

Re: [Модуль] ZoneMinder events (app_zoneminder)

Сообщение ученик » Чт дек 20, 2018 7:39 am

Добавить бы узел управления включения вариантов работы. Мониторить объект, запись по двиению. Выключить , Цены бы не было . Пробовал через команды API но что то не срабатывал постоянно ....

Отправлено с моего HUAWEI VNS-L21 через Tapatalk

server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 69 раз
Поблагодарили: 34 раза

Re: [Модуль] ZoneMinder events (app_zoneminder)

Сообщение Alien » Чт дек 20, 2018 4:49 pm

У меня в коннекте есть. Я переключаю режимы работы камер.
Метод класса IPCams:

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

if ($this->getProperty("enabled")) {
	$function='Modect';
	} else {
 		$function='None';
}

$enabled=$this->getProperty("enabled");
$username = $this->getProperty("user");
$password = $this->getProperty("pass");
$monitor = $this->getProperty("number");
$path = $this->getProperty("path");
$loginUrl = "$path/index.php";
$apiUrl = "$path/api";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password.'&action=login&view=console');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec($ch);

#turn off POST after login - important
curl_setopt($ch, CURLOPT_POST, 0);

print "---------- Disable Monitor -----------------";
curl_setopt($ch, CURLOPT_URL, $apiUrl."/monitors/$monitor.json");
curl_setopt($ch, CURLOPT_POSTFIELDS, 'username='.$username.'&password='.$password."&Monitor[Function]=$function&Monitor[Enabled]=$enabled");

$content = curl_exec($ch);
print $content;

curl_close($ch);
За это сообщение автора Alien поблагодарил:
chimik (Вт мар 19, 2019 12:05 am)
Рейтинг: 1.27%
Ubuntu на Banana pi M2U Connect
Ivan
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 323 раза

Re: [Модуль] ZoneMinder events (app_zoneminder)

Сообщение Ivan » Чт дек 20, 2018 9:19 pm

Я уже давно перешол на апаратный регистратор
Из за большой нагрузки на сервак

Отправлено с моего SM-J730FM через Tapatalk

Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Bolik.Stav
Сообщения: 56
Зарегистрирован: Вс янв 20, 2013 11:06 pm
Благодарил (а): 28 раз
Поблагодарили: 9 раз

Re: [Модуль] ZoneMinder events (app_zoneminder)

Сообщение Bolik.Stav » Вс июн 23, 2019 4:04 pm

Ivan писал(а):
Чт дек 20, 2018 9:19 pm
Я уже давно перешол на апаратный регистратор
Из за большой нагрузки на сервак

Отправлено с моего SM-J730FM через Tapatalk
А интеграция с умным домом как?
m_andrey
Сообщения: 10
Зарегистрирован: Чт мар 08, 2018 9:54 am
Благодарил (а): 3 раза
Поблагодарили: 2 раза

Re: [Модуль] ZoneMinder events (app_zoneminder)

Сообщение m_andrey » Ср авг 28, 2019 10:38 am

Может кому будет интересно, переключение режимов мониторов из скрипта используя API ZM.
Сам скрипт:

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

//$cmd = "curl -XPOST http://localhost/zm/api/monitors/9.json -d \"Monitor[Function]=Modect&Monitor[Enabled]=1\"";
// Generated by curl-to-PHP: http://incarnate.github.io/curl-to-php/
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://localhost/zm/api/monitors/9.json');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "Monitor[Function]=Modect&Monitor[Enabled]=1");
curl_setopt($ch, CURLOPT_POST, 1);

$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
Переключаю из Телеграма по команде:

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

if (gg("SecurityArmedMode.active") == 1)
{
 runscript("zm_sec_off");
 sg("SecurityArmedMode.active",0);
 return "Охрана отключена".json_decode('"'.'\uD83D\uDB13'.'"');
}
if (gg("SecurityArmedMode.active") == 0)
{
 runscript("zm_sec_on");
 sg("SecurityArmedMode.active",1);
 return "Режим охраны активирован".json_decode('"'.'\uD83D\uDB12'.'"');
}
Сам модуль естественно не нужен.
За это сообщение автора m_andrey поблагодарил:
chimik (Ср авг 28, 2019 9:11 pm)
Рейтинг: 1.27%
Bolik.Stav
Сообщения: 56
Зарегистрирован: Вс янв 20, 2013 11:06 pm
Благодарил (а): 28 раз
Поблагодарили: 9 раз

Re: [Модуль] ZoneMinder events (app_zoneminder)

Сообщение Bolik.Stav » Вс ноя 10, 2019 11:44 am

Ещё кто-то остался,кто пользуется ZoneMinder?

Подскажите как можно запросить архив у ZM ? (нужно за 5 секунд ДО события и 10 после)
Ответить