Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.

+7 495 204-27-80

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Управление + логика

Управление + логика 22 Май 2014 15:15 #7472

  • rsergio
  • rsergio аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 227
  • Спасибо получено: 35
  • Репутация: 4
Сам являюсь программистом, но к сожалению по узкой специализации 1С и другие языки плохо знаю.

Немного изучил API работы с Vera и быстро на коленке создал базу для считывания данных.
По технологии опроса получается все очень оперативно. В первый раз считываем все данные, потом только изменения. Причем задавая таймаут изменения получаем именно в момент, когда оно произошло. Т.е. сервер нам ничего не отвечает, а мы ждем, и как только состояние какого-либо устройства меняется, то моментально получаем ответ. Проблема может быть только когда в один момент друг за другом меняются множество состояний, тут мы можем потерять вплоть до одной секунды на получения следующий порции данных (вообще настраивается, но тут надо думать о нагрузке на Vera).

В моей базе сейчас автоматом грузятся комнаты, сцены, устройства. Далее отслеживается их состояние по изменению. Осталось приделать какую-то визуальную форму (в рамках возможности) и подключить логику управления.
vera1c.png


На практике все очень быстро
- любое включение света моментально отражается в программе. Именно так работают и фирменные приложения. И не понятно почему многие сторонние программы тормозят до 5 секунд с обновлением данных. Очень не удобно.

Соответственно в голове бродят мысли привлечь знакомых и разработать свое решение.
- Как минимум для управления с быстрой реакции и максимально удобное использование на планшете.
- Как максимум перенести часть логики в планшет. Т.к. данные мы получаем достаточно оперативно и можем также оперативно управлять устройствами, то почему бы не сделать гибкий механизм сцен управления? Возможно, он будет чуть медленней реагировать, чем прямой код в Vera, но зато мы ограничены только временем получения данных, далее у нас мощный многоядерный процессор, много памяти и возможность создать гибкий и наглядный редактор сцен.

В качестве такого визуального редактора я вижу механизм похожий на то, что заложено в ПО для настройки программируемых реле OWEN Logic. Там есть входы (данные), есть выходы (управление), между ними различные элементы (схемы "И", схемы "ИЛИ", триггеры, счетчики, таймеры), которые соединяются между собой и позволяют создавать достаточно сложные схемы без необходимости писать код.

Пока все это из разряда "хочу все знать" и "интересно". Стоит ли этим начинать заниматься - пока не знаю. Будет ли это востребовательно кем-либо еще и в каком объема пока сложно спрогнозировать. У меня пока есть энтузиазм, есть понимание как все это должно работать, могу даже реализовать логику в 1С, нужно будет потом только переложить под iOS или Android и приделать визуализацию.

Возможен даже вариант написать программу под Windows, а с планшета заходить через RDP (правда придется еще один сервер держать).

Еще вариант - разделить задачи на отдельные. Логику выполнить как плагин, а на планшете просто визуализацию с быстрой реакцией и удобной настройкой.

Ваши мысли?
Спасибо сказали: MixaSP

Управление + логика 22 Май 2014 18:02 #7502

  • MixaSP
  • MixaSP аватар
  • Вне сайта
  • Z-Wave мастер
  • Развиваю развиваясь
  • Сообщений: 1513
  • Спасибо получено: 246
  • Репутация: 52
я в программировании не разбираюсь, но подискутировать люблю.
ответьте (себе, мне, нам) на следующий вопрос:
это вам для чего? вы хотите какой-то функционал реализовать, который вы не можете получить от уже существующих программ? вы просто хотите что-то свое и под себя? у вас действительно есть идея как изменить этот мир?

после ответа на эти вопросы идея продолжать может улетучиться или наоборот развиться во вполне жизнеспособную схему.
так что вы хотите получить на выходе?

P.S. ИМХО не надо логику переносить в планшет, вы будете от него зависеть, а если он глюкнул? да, контроллер тоже может глюкнуть, но у планшета шансов больше и в системе будет два потенциально глюкнутых устройства, вместо одного :)
Hardware: MCV Vera3 1.5.622; 4х Fibaro FGS211; 3x Fibaro FGS221; 1x Fibaro FGD211; 1x Fibaro Wall Plug; 3x Everspring SP814 (Motion); 1x Everspring ST814 (Temp/Hum); 2x Minimote; 1x Aeon Multisensor 4in1; 3x TKB TZ68G; 1х Everspring ST812 (Flood)...

Plugins: PLEG; Wunderground; Power Arithmetic; dataMine; DayOrNight; Ping Sensor; VeraAlerts.

In progress: [][][][][][][][][].. 95% complete

In future: 1x Wall Plug; 1x Remotec ZXT120

Управление + логика 22 Май 2014 18:22 #7507

  • rsergio
  • rsergio аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 227
  • Спасибо получено: 35
  • Репутация: 4
MixaSP пишет:
это вам для чего? вы хотите какой-то функционал реализовать, который вы не можете получить от уже существующих программ?

Я до сих пор не нашел ни одной программы управления, которую бы можно было поставить на планшет, планшет повесить на стенку и пользоваться с удовольствием.
Основная проблема многих сторонних программ - долгое отображение действий, а порой просто ложное отображение. При потери связи они не пытаются восстановить соединение, а сразу же выдают ошибку, требующую нажатия кнопки.

Я хочу:
- Моментальное отображение состояния устройств, максимум с задержкой до 1 секунды (а не 5)
- Чтобы программа предпринимала самостоятельно действия для восстановления соединения без моей помощи (после перезагрузки Vera)
- Видеть на главном экране план квартиры, где отображены все устройства, их статус, возможность управлять ими.
- Полноценная поддержка виртуальных устройств - Sonos, MultiSwitch, поддержка управления ТВ
MixaSP пишет:
P.S. ИМХО не надо логику переносить в планшет, вы будете от него зависеть, а если он глюкнул? да, контроллер тоже может глюкнуть, но у планшета шансов больше и в системе будет два потенциально глюкнутых устройства, вместо одного :)
Сама операционка планшета вполне надежна, если в программе не будет багов, то нечему валится. Зато гибкая настройка, сложные схемы.

У меня на другой квартире стоит сервер под виндой, уже года два работает без выключения, я там не живу, но удаленно могу зайти и сделать что мне надо. И это винда! Там крутится сервер видеонаблюдения, DLNA сервер, FTP сервер, архив, торрент качалка и т.п. - все работает, только что проверил еще раз ;)

Но ради только себя делать вряд ли буду.
Поэтому и решил узнать кто что думает.

Управление + логика 31 Май 2014 11:17 #7770

  • rsergio
  • rsergio аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 227
  • Спасибо получено: 35
  • Репутация: 4
Допилил вчера базу 1С:
- Добавил логирование изменения любого свойства объекта
- Добавил действия по управлению устройствами (отдельные действия и наборы действий)
- Добавил логические блоки "И", "ИЛИ", "Последовательность" для настройки правил

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

В планах дописать всю математику и найти разработчика, готового перенести все под iOS или Android.

Как я вижу интерфейс и функционал работы с планшетом:

- Изначальный интерфейс like MAC - большая рабочая область, снизу иконки.
- Всего около 8-10 иконок для переключения между свободно настраиваемыми экранами + 1 фиксированная с автоматически вынесенными всеми устройствами + 1 фиксированная "Настройки".
- Каждый экран свободно конфигурируем. Пользователь выбирает тип элемента визуализации, переносит его рабочую область, позиционирует с точностью до пикселя, указывает размеры с точностью до пикселя. Возможно наложение разных элементов (друг в друга, перекрестное наложение). Можно задать фоновую картинку (например, план комнаты), а можно нарисовать самому схему, вынося на экран графические элементы простой визуализации (линии, прямоугольники, круги, пиктограммы).
- Для каждого полноценного элемента визуализации можно задать режим управления - непосредственно или через открытие нового окна поверх. Это для возможности размещать на схеме мелкие элементы, а по тапу открывать окно с детальными элементами - ползунками, кнопками. Для простых действий (включить/выключить) или для больших по размеру можно управлять непосредственно
- Элементы управления - переключатели, полоски для димеров, цветовая карта для RGB, набор кнопок и т.п.
- Для каждого элемента можно настроить представление - не только стандартный статус (вкл/выкл), но также значение любого его свойства.
- Для каждого элемента будут настраиваться штрифты, цвета, возможность выбирать картинки. Все зависимо не только от текущего статуса, но он значения любого свойства устройства
- Для каждого элемента можно настраивать действие (как на закладке ADVANCED в интерфейсе Vera) - любое действие с параметрами для этого устройства
- Библиотека поддерживаемых устройств (их свойств и действий) будет постепенно расширяться при обновлении. При этом пользователь всегда может создать сам свой объект, указать вручную имя сервиса, поддерживаемые действия и параметры для возможности вынести на экран любой плагин и работать с ним.
- Вывод на экран таких элементов как часы, погода (с Яндекса), любой кусок html странички, график изменения любого значения устройства за заданный период
- Настройка логики будет визуальной - пользователь перетаскивает на экран элемент логики ("микросхемы" типа "И", "ИЛИ", "Последовательность", "Триггер", "Таймр" и т.п.), указывает входные данные и выходное действие. Входом может быть как свойство любого устройства, так и выход другого устройства. Таким образом можно создать нужную логику настраивая последовательность элементов логики. Логика настраивается по желанию, кому хочется, остальные могут оставить ее в контроллере и пользоваться только визуализацией и непосредственным управлением.
- В логике в качестве действий могут быть не только управление устройствами через контролер Vera, но и также внутренние действия - смена экрана, смена цвета элемента управления, вывод сообщения на экран, воспроизведения звуков или речи, отсылка сообщений по e-mail/iMessage/SMS.
- Опрос состояния контролера по стандартной схеме, с задержкой ответа до изменения значения какого-нибудь устройства. В случае временной пропажи связи каждую минуту будет производится попытка восстановить связь, при удачном восстановлении связи будут обновлены все устройства. Все будет происходить автоматически, без участия пользователя
- Для каждого цифрового свойства можно настроить логирование изменение параметра во времени в самом приложении, с возможностью потом выводить графики по изменению значения за любой период времени
- Поддержка TTS с возможностью выводом звука на блютуз колонку или внутренние динамики. В случае отсутствие связи с Интернетом и невозможности транслировать речь - проигрывание заранее приготовленного звука для привлечения внимания пользователя и вывод текста в виде сообщения на экране
Спасибо сказали: MixaSP

Управление + логика 31 Май 2014 22:46 #7776

  • MixaSP
  • MixaSP аватар
  • Вне сайта
  • Z-Wave мастер
  • Развиваю развиваясь
  • Сообщений: 1513
  • Спасибо получено: 246
  • Репутация: 52
задумка тянет на полноценную прошивку для самостоятельного контроллера.
Hardware: MCV Vera3 1.5.622; 4х Fibaro FGS211; 3x Fibaro FGS221; 1x Fibaro FGD211; 1x Fibaro Wall Plug; 3x Everspring SP814 (Motion); 1x Everspring ST814 (Temp/Hum); 2x Minimote; 1x Aeon Multisensor 4in1; 3x TKB TZ68G; 1х Everspring ST812 (Flood)...

Plugins: PLEG; Wunderground; Power Arithmetic; dataMine; DayOrNight; Ping Sensor; VeraAlerts.

In progress: [][][][][][][][][].. 95% complete

In future: 1x Wall Plug; 1x Remotec ZXT120
Время создания страницы: 0.155 секунд