Web-интерфейс

Здесь можно высказаться на произвольную тему и задать любой вопрос, даже если он не относится к тематике сайта.
nail
Сообщения: 292
Зарегистрирован: 07 окт 2018, 18:03

Web-интерфейс

Сообщение nail » 01 окт 2019, 23:22

МегаД - все таки не плохо зарекомендовала цена и качество!!! ну еще бы свой Web-интерфейс - "Dashboard" простенький - было бы круто.А то чужие все косячат и берут на себя много лишнего мусора. Может возьмется за премию(с миру по нитке) кто нибудь из фанатов? Ведь у каждого "маломальского контроллера" , то будь просто отопление или вентиляция (пример ZONT - gsm-модули наверно много других).

alexsis_76

Re: Web-интерфейс

Сообщение alexsis_76 » 06 окт 2019, 16:13

МегаД - все таки не плохо зарекомендовала цена и качество!!! ну еще бы свой Web-интерфейс - "Dashboard" простенький - было бы круто.А то чужие все косячат и берут на себя много лишнего мусора. Может возьмется за премию(с миру по нитке) кто нибудь из фанатов? Ведь у каждого "маломальского контроллера" , то будь просто отопление или вентиляция (пример ZONT - gsm-модули наверно много других).
В ее (МегаД ) исполнении о каком то вменяемом веб интерфейсе говорить не приходится, она с рождения на это не способна.

nail
Сообщения: 292
Зарегистрирован: 07 окт 2018, 18:03

Re: Web-интерфейс

Сообщение nail » 20 окт 2019, 21:13

alexsis_76 писал(а):
06 окт 2019, 16:13
МегаД - все таки не плохо зарекомендовала цена и качество!!! ну еще бы свой Web-интерфейс - "Dashboard" простенький - было бы круто.А то чужие все косячат и берут на себя много лишнего мусора. Может возьмется за премию(с миру по нитке) кто нибудь из фанатов? Ведь у каждого "маломальского контроллера" , то будь просто отопление или вентиляция (пример ZONT - gsm-модули наверно много других).
В ее (МегаД ) исполнении о каком то вменяемом веб интерфейсе говорить не приходится, она с рождения на это не способна.
В ее (МегаД )
Я разве писал прямо в ЕЕ?
Я так понимаю это не не web , а рисунок?
https://ab-log.ru/demo/

d.v.ermakov
Администратор
Сообщения: 2187
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

Re: Web-интерфейс

Сообщение d.v.ermakov » 20 окт 2019, 21:18

nail писал(а):
20 окт 2019, 21:13
Я так понимаю это не не web , а рисунок?
https://ab-log.ru/demo/
Это интерфейс веб-сервера, установленного на компьютере. Название его на сайте - "демо-интерфейс".
ИМХО, это существенное преимущество Меги - она довольно простая и надёжная, так как нечему зависать и глючить.
Последний раз редактировалось d.v.ermakov 20 окт 2019, 21:23, всего редактировалось 1 раз.

nail
Сообщения: 292
Зарегистрирован: 07 окт 2018, 18:03

Re: Web-интерфейс

Сообщение nail » 20 окт 2019, 21:20

d.v.ermakov писал(а):
20 окт 2019, 21:18
https://ab-log.ru/demo/
На компе еще лучше, наверно? Это получается отдельная универсальная прога?

d.v.ermakov
Администратор
Сообщения: 2187
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

Re: Web-интерфейс

Сообщение d.v.ermakov » 20 окт 2019, 21:25

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

nail
Сообщения: 292
Зарегистрирован: 07 окт 2018, 18:03

Re: Web-интерфейс

Сообщение nail » 21 окт 2019, 08:04

d.v.ermakov писал(а):
20 окт 2019, 21:25
и демо-интерфейс - один из них, созданный, правда, исключительно под Мегу.
Так и писал изначально "окультурить" для простого народа , с подробным описанием.
https://www.ab-log.ru/smart-house/linux/demo-src

nail
Сообщения: 292
Зарегистрирован: 07 окт 2018, 18:03

Re: Web-интерфейс

Сообщение nail » 21 окт 2019, 08:08

d.v.ermakov писал(а):
20 окт 2019, 21:25
Серверов, позволяющих управлять умным домом - большое количество,
nail писал(а):
01 окт 2019, 23:22
"Dashboard" простенький - было бы круто.А то чужие все косячат и берут на себя много лишнего мусора.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс

Сообщение Andrey_B » 21 окт 2019, 11:02

Самый простой Dashboard - Apple HomeKit
Лично иногда использую как альтернативу браузеру. Доступно управление с помощью голосового помощника Siri.

В доме, где система автоматизации по-настоящему продвинутая, Dashboard - это вершина айсберга. Все самое интересное под капотом.
Поэтому никто и не делает только простую визуальную часть для включения или выключения света. Любой программируемый конструктор как правило сложен в понимании и настройке, но предоставляет гораздо больше возможностей.

"Демо интерфейс" - это верстак разработчика. Он далек от концепции коробочного решения для конечного пользователя, привыкшего устанавливать приложения из маркетов и сторов.
Никто не возьмется его окультуривать, потому что намного проще все сделать с нуля.
И хотя я постоянно допиливаю его для своих задача, архив с ним на сайте не обновляю. Для тех, кто хочет поковыряться в нем, достаточно и того, что есть.
К тому же визуальные элементы оформления по современным меркам устарели и требуют изменений.

Повторю - самое интересное в домашней автоматизации не то, что отображается на экране устройств, а то, что работает в фоне. Все те процессы, которые непосредственно занимаются автоматизацией. И эти задачи выходят за рамки простого Dashboard'а.

Ну а перечень ПО, которое можно использовать с контроллерами, в общем-то известен.
Может быть, не так страшен черт?..

nail
Сообщения: 292
Зарегистрирован: 07 окт 2018, 18:03

Re: Web-интерфейс

Сообщение nail » 23 окт 2019, 07:00

Andrey_B писал(а):
21 окт 2019, 11:02
Может быть, не так страшен черт?..
Вот именно"черт"...
А что с Megad.ru?

kontur
Сообщения: 166
Зарегистрирован: 09 окт 2016, 12:31

Re: Web-интерфейс

Сообщение kontur » 23 окт 2019, 10:15

Megad.ru - поиграться на 1 день. HomeKit от Apple не побоюсь сказать лучший dashboard. Ставится на любом Linux за 15 минут, без всяких танцев.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Web-интерфейс

Сообщение Andrey_B » 23 окт 2019, 10:43

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

nail
Сообщения: 292
Зарегистрирован: 07 окт 2018, 18:03

Re: Web-интерфейс

Сообщение nail » 23 окт 2019, 21:16

kontur писал(а):
23 окт 2019, 10:15
Megad.ru - поиграться на 1 день. HomeKit от Apple не побоюсь сказать лучший dashboard. Ставится на любом Linux за 15 минут, без всяких танцев.
Всем теперь яблоки покупать?

badhitman
Сообщения: 73
Зарегистрирован: 21 май 2020, 18:33
Откуда: Аддис-Абеба
Контактная информация:

Re: Web-интерфейс

Сообщение badhitman » 16 июл 2020, 14:05

В рамках разработки более комплексного OpenSorce решения под Android решается и конкретно эта задача. Ввиду отсутствия полноценного программного api для программного взаимодействия с управляющим блоком предпринимаются обходные методики. Получается на мой взгляд весьма топорно, но вполне сносно. Покуда сейчас активная фаза разработки - охотно принимаю пожелания и предложения по этому поводу.

P.S.
Внимание! Приложение не окончено и не тестировалось в бою. Минимальная версия Android 5. Версия прошивки управляющего модуля требуется (fw: 4.45b5), но это ограничение легко снимается
На GitHub доступен для скачивания полноценный проект, пригодный для сборки в VS2019 на стеке: C# + Xamarin.Android.
Отладку и тестирование произвожу попеременно на двух завалявшихся: "samsung galaxy j1 2016 (Android 5.1)" и "BQru-5058 (Android 7.0)". ОЗУ у обоих устройств по 1 ГБ. Полёт нормальный.
Этап сопряжения приложения с устройством через родной Web интерфейс подходит к концу и не предвещает проблем в использовании. Уже можно добавлять сколь угодно устройств в приложение и управлять ими.
Далее последуют этапы интеграции Telegram (рассылка уведомлений + удалённое управление), облачного хранения настроек и администрирования (поверх почтовых протоколов: POP3, SMTP, IMAP).

MQTT брокер уже интегрирован в приложение и мал-маля протестирован, но на данный момент приложение ни как не обрабатывает и не реагирует на события/сообщения в MQTT, а лишь только пишет информацию в логи (просмотр логов в приложении доступен). Для отладки и тестирования налажена минимальная инфраструктура.

Изображение
Изображение
Изображение
C#, .NET, Blazor, ASP, SQL, HTTP, HTML, Windows, Linux, JS, PHP, , Xamarin.Android, Схемотехника, React, WPF, WCF

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

Re: Web-интерфейс

Сообщение Ruslan » 16 июл 2020, 16:38

badhitman писал(а):
16 июл 2020, 14:05
... Покуда сейчас активная фаза разработки - охотно принимаю пожелания и предложения по этому поводу. ...
Начинание, безусловно, хорошее. Для успеха любого дела надо правильно определить концепцию и то, что должно получиться в результате. Пока то, что написано -- это, так сказать, служебная часть (для администрирования и настройки).

Для рядового пользователя в конечном итоге нужен удобный и понятный интерфейс.
https://mjdm.ru/forum/viewtopic.php?f=4&t=3861
https://mjdm.ru/forum/viewtopic.php?f=4 ... &start=129
https://ih-systems.com/ru/demo/

Для доступа к этому "пиршеству" с мобильных устройств пишутся отдельные "программулины".
https://mjdm.ru/forum/viewtopic.php?f=5&t=518
https://mjdm.ru/forum/viewtopic.php?f=5&t=6737
https://ih-systems.com/ru/product/ih-mobile/
Без стационарного сервера этого добиться не скажу невозможно, но довольно сложно. И трудозатрат потребует 1000 крат больше.

Ну и пожелания/предложения.
Желательно, чтобы в конечном итоге программа имела "пользовательскую часть" и умела обрабатывать сообщения от контроллера с соответствующим видоизменением элементов интерфейса (например, включился свет -- изменилось состояние интерфейсного выключателя / "освещенность" помещения и т.п.).
Желательна возможность создания и выполнения произвольных скриптов, к примеру, на PHP. Например, сработал выключатель >>> проверяется какое-нибудь условие (несколько условий) >>> выполняется прописанное действие.

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

$state = file_get_contents("http://192.168.0.14/sec/?pt=3&cmd=get");
if ($state == "ON") {
file_get_contents("http://192.168.0.14/sec/?cmd=7:2");
} else {
file_get_contents("http://192.168.0.14/sec/?cmd=11:0");}
Ну и в идеале неплохо было бы иметь всякие "бантики" в виде информеров и графиков, что, понятное дело, изрядно "утяжелит" систему.

badhitman
Сообщения: 73
Зарегистрирован: 21 май 2020, 18:33
Откуда: Аддис-Абеба
Контактная информация:

Re: Web-интерфейс

Сообщение badhitman » 16 июл 2020, 17:53

На текущий момент времени функционирует только управление с попутной модификацией родного web интерфейса и встроенный MQTT сервер, который сейчас только и делает что пишет информацию в логи. Т.е. действительно функционала мало, но он уже есть и тестируется по мере возможности.

На счёт интерфейса с художеством и анимацией - сложность ещё и в том, что ни рисовать ни дизайнить не умею. Всё моё дизайнство ограничено познанием Bootstrap, jQuery и вёрстки в общем.
К тому же тяжеловесного софта с яркими картинки много, а не хватает именно мобильного, простого, удобного. Ну и интеграция с оригинальным железом MegaD без танцов с бубном.
Задел как раз таки на максимальную автономию и децентрализацию (без сервера, выделеных IP и т.п.). Сервером будет выступать старый смартфон сам себе. Вставил симку, подключил WiFi и всё.

Из функционала сейчас планируется развитие удалённого управления/оповещения средствами Telegam/Email/SMS и PhoneCall.
Цель такова, что бы всё это с лёгкостью работало на самом дохлом смартфоне Android 5.
C#, .NET, Blazor, ASP, SQL, HTTP, HTML, Windows, Linux, JS, PHP, , Xamarin.Android, Схемотехника, React, WPF, WCF

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

Re: Web-интерфейс

Сообщение Ruslan » 16 июл 2020, 18:03

Что ж, мысль понятна и концепция определена. Что уже немало.

В таком случае мне представляется (если это не будет слишком затруднительно в реализации и не будет сильно нагружать систему), что все же был бы желателен функционал выполнения произвольных скриптов на PHP. Это бы расширило возможности использования за пределы, предопределенные границами автономной работы контроллера.

Кстати, в Мажрдомо есть модуль, предназначенный для интеграции с Telegram (https://mjdm.ru/forum/viewtopic.php?f=5&t=2768). Может быть удастся почерпнуть что-то полезное.

badhitman
Сообщения: 73
Зарегистрирован: 21 май 2020, 18:33
Откуда: Аддис-Абеба
Контактная информация:

Re: Web-интерфейс

Сообщение badhitman » 16 июл 2020, 18:42

Android вряд ли сможет выполнять PHP скрипт, да и не родное это для Xamarin.Android. Это два далёких друг от друга направления (если я ошибаюсь, то готов ознакомиться с документацией). Опять же - как вы уже сказали: PHP скрипты выполняет Мажрдомо и иже с ним. В конце концов моё решение поставляется открытыми исходниками, а значит можно ровно так же ДОписать на C# любую самую немыслимую логику и собрать apk пакет для своего Андроида со своими индивидуальными особенностями, которые ни кому даже не снились.

Расскажу по секрету, что подобный функционал (который вы описываете) уже есть в планах, но всерьёз отрабатывать такой вопрос можно только после того как основной набор функций приложения будет готов и протестирован.
По моей задумке в приложении будет "юзер-френдли" конструктор различных сценариев реакции на события и выполнения команд (подобное кстати уже есть в самом MegaD). Хочется, что бы скрипт могла создать/настроить домохозяйка прямо в приложении без знания языков программирования.
Но для того что бы конструировать подобные весьма гибкие и абстрактные функции нужно глубже и тоньше понимать какого толка "сценарии" могут потребоваться и каким образом это может взаимодействовать с другими функциями приложения.
C#, .NET, Blazor, ASP, SQL, HTTP, HTML, Windows, Linux, JS, PHP, , Xamarin.Android, Схемотехника, React, WPF, WCF

Ruslan
Сообщения: 2184
Зарегистрирован: 06 янв 2014, 20:44

Re: Web-интерфейс

Сообщение Ruslan » 16 июл 2020, 22:22

Согласен, что сначала надо довести до ума и отладить основной функционал.
badhitman писал(а):
16 июл 2020, 18:42
Но для того что бы конструировать подобные весьма гибкие и абстрактные функции нужно глубже и тоньше понимать какого толка "сценарии" могут потребоваться и каким образом это может взаимодействовать с другими функциями приложения.
Чтобы нагляднее представить, с какими приблизительно сценариями придется иметь дело, выложу код сценария перехода в режим "никого нет дома". Код "не боевой" и был сочинен только что исключительно для иллюстрации (но, как говорится, "по мотивам реальных событий"). В коде помимо "общегражданских" использованы также встроенные в Мажордомо специфичные функции.

На практике сам сценарий "никого нет дома" активируется у людей по-разному. У кого-то это синхронизировано с постановкой жилища на сигнализацию, у кого-то сценарий запускается при запирании механического замка входной двери, который запирается только при полном "покидании командой корабля". В моем примере сценарий начинает выполняться при длительном нажатии на клавишу выключателя в прихожей.

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

//Если произошло удержание клавиши выключателя,
if(isset($_GET['pt'])) {
If ($_GET['pt'] == 3) {
if ($_GET['m'] == "2") {
//выполняем сценарий "никого нет дома"

//выключаем управляемые розетки, подлежащие выключению при отсутствии постояльцев
file_get_contents("http://192.168.0.21/sec/?cmd=27:0");
file_get_contents("http://192.168.0.103/sec/?cmd=8:0");

//отключаем группы небесперебойных неуправляемых розеток, подключенных через контактор
file_get_contents("http://192.168.0.21/sec/?cmd=12:0");

//выключаем свет (возможно, "забытый")
file_get_contents("http://192.168.0.39/sec/?cmd=13:0");
file_get_contents("http://192.168.0.103/sec/?cmd=11:0");
//и т.д.
//плавное гашение света в прихожей наглядно сигнализирует, что запущен сценарий "никого нет дома"
file_get_contents("http://192.168.0.21/sec/?pt=10&pwm=0&cnt=15");

//перекрываем горячую воду, запустив отдельный метод в самостоятельном процессе
callMethodSafe('BallValve2.close');
/*справочно код метода
file_get_contents("http://192.168.0.39/sec/?cmd=9:0");
usleep(100000);
file_get_contents("http://192.168.0.39/sec/?cmd=8:1");
sleep(18);
file_get_contents("http://192.168.0.39/sec/?cmd=8:0");
*/

//перекрываем холодную воду, запустив отдельный скрипт в самостоятельном процессе
runScriptSafe('ColdWaterClose');
/*справочно код скрипта
//если работает стиральная машина, перезапускаем скрипт через 10 минут
if (getHistoryMax("WashingMachine.Status", strtotime("-10 minute")) == 1) {
setTimeOut("TimerColdWaterClose", "runScript('ColdWaterClose');", 60*10);
return "";
} else {
//если стиральная машина не работает,
//перекрываем холодную воду
callMethodSafe('BallValve1.close');
/*справочно код метода 'BallValve1.close'
file_get_contents("http://192.168.0.41/sec/?cmd=11:0");
usleep(100000);
file_get_contents("http://192.168.0.41/sec/?cmd=12:1");
sleep(18);
file_get_contents("http://192.168.0.41/sec/?cmd=12:0");
*/
//обесточиваем скваженый насос / насосную станцию
file_get_contents("http://192.168.0.39/sec/?cmd=7:0");
}
*/

//Выключаем "забытый" телевизор
$state = file_get_contents("http://192.168.0.55/sec/?pt=1&cmd=get");
$state = substr($state,0,2);
if ($state == "ON") 
file_get_contents("http://192.168.0.55/sec/?pt=12&ir=BFFBFEFF43426&irp0=3450&irp1=1740&irp2=400&irp3=470&irp4=1300");

//Запускаем скрипт имитации присутствия в вечернее время
runScriptSafe('SimulatedPresence');
//и т.д. ...

}
}
}

badhitman
Сообщения: 73
Зарегистрирован: 21 май 2020, 18:33
Откуда: Аддис-Абеба
Контактная информация:

Re: Web-интерфейс

Сообщение badhitman » 16 июл 2020, 22:44

Функционал подобного толка наверняка будет. Вопрос только в том на сколько удобно получится устроить настоящий дружелюбный, гибкий и интуитивно понятный GUI (построитель сценариев). Тут обитают суровые скрипачи под PHP, а я хотел бы сделать что-то такое что бы любой подросток, старичёк или даже тётенька могла без подготовки создавать в приложении логику любой сложности.

В прочем для суровых скрипачей исходный код открыт. Таким образом желающие смогут дописывать приложение под себя любимого. Тем паче что этого не избежать. Наверняка найдутся те кому чего то не будет хватать, чему в свою очередь не найдётся места в тиражируемом приложении.
C#, .NET, Blazor, ASP, SQL, HTTP, HTML, Windows, Linux, JS, PHP, , Xamarin.Android, Схемотехника, React, WPF, WCF

Ответить