Знакомство с ситемой

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

Аватара пользователя
AHgpeu
Сообщения: 117
Зарегистрирован: Чт мар 12, 2015 11:46 am

Знакомство с ситемой

Сообщение AHgpeu »

Доброго времени суток, уважаемые разработчики и гости проекта!

Хочу поделиться "опытом" и спросить совета.
Для начала скажу, что с системой раньше дел не имел, и, соответственно, о ней ничего не знаю. Кроме того, что многие её очень хвалят.

Установилась нормально, шикарная инструкция, пошаговое исполнение с подробным описанием шагов (поставил на дебиан), респект создавшему её.
Появилось окошко выбора параметров (ну типа часовой пояс, дизайн), далее вот оно! "Добро пожаловать!", все дела...

Что дальше непонятно... но есть ссылка на "Панель управления"!
зашёл... почитал... почесал репу... нашёл "обновления". ну, думаю, не помешает...
Система гордо написала:

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

Updates Installed!
Обновления 
Вы используете последнюю версию!
после чего отправился на главную и ...упс!
Sorry, page is temporary unavailable.

Please try again later.

<<< Back to previous page

http://192.168.1.10/
Error:
0: 
SELECT KEYWORD, DATAVALUE FROM cached_values
Мдааа, думаю.. ну ладно, есть бекап, к счастью, на той же странице (админка продолжала функционировать). Откатился.

Полез разбираться.. и ну ничегошеньки не понял. Облазил статьи, форумы... не поверите, но так и не нашёл простенькой инструкции, с чего начать и что для чего нужно...
Есть инструкции, которые писались явно для разработчиков и/или тех, кто давно работает с программой.
к примеру (кстати, поправьте опечатку на http://smartliving.ru/Main/ModuleClasses):
Один из основных модулей системы, отвечающий за функционал каких то действий тех или иных объектов в системе, обработка событий, выполнение сценариев, вывод напоминаний и т.д.
Данный раздел представлен в виде иерархической структуры состаящей из
классов
объектов
а также их
свойств
методов
Некоторые примеры применения, настройки и использования данного модуля можно найти на странице
плюс там же скриншот с нерусскими буковками...
на какой странице можно найти примеры? С чем это едят?

В общем, единственная надежда на Вас, уважаемые Гуру! Ткните носом, где почитать, что почитать, что бы начать работать с системой.
А так же, где прочитать про ошибку при обновлении? Может права какие не те где стоят?

Буду оооочень признателен! И не ругайте особо, я правда впервые у Вас
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край

Re: Знакомство с ситемой

Сообщение zelevova »

После обновления (особенно на линуксе) рекомендуется перезапустить систему. С данной ошибкой это точно поможет. Уже неоднократно говорили об этом на данном форуме.

А на счет с чего начать... Тут как бы "а чего вам надо?".
Я начал с того что перечитал практически весь форум и всю вики. Нифига не понял. НО у меня была самописная система с подключенными железяками и их я начал переводить в эту систему. Т.е. я примерно знал чего я хочу, мол эта железяка должна сообщать системе вот такую фигню и когда система скажет вытворять вот эту фигню. Ну и постепенно много читая форум я примерно разобрался что да как делается. Чего и вам желаю.
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
Аватара пользователя
AHgpeu
Сообщения: 117
Зарегистрирован: Чт мар 12, 2015 11:46 am

Re: Знакомство с ситемой

Сообщение AHgpeu »

zelevova писал(а):А на счет с чего начать... Тут как бы "а чего вам надо?".
Для старта хотя бы узнать все возможности системы. на демороликах система общается голосом посредством смартфона, к примеру. где это?
zelevova писал(а): Я начал с того что перечитал практически весь форум и всю вики. Нифига не понял.
такая же проблема
zelevova писал(а):НО у меня была самописная система с подключенными железяками и их я начал переводить в эту систему. Т.е. я примерно знал чего я хочу, мол эта железяка должна сообщать системе вот такую фигню и когда система скажет вытворять вот эту фигню. Ну и постепенно много читая форум я примерно разобрался что да как делается. Чего и вам желаю.
а вот "не постепенно и много", а конкретно, с чего бы начать... возможно?
у меня тоже есть система, самописная. но она можно сказать без интерфейса. климат-контроль по дому, управление вентиляцией, светом... остальное только в проекте.
проблема не в том, что бы написать всё с нуля. хотя это долго и муторно.
Проблема в том, что бы адаптировать имеющееся у меня к готовой системе, которая уже априори в теории умеет всё делать.

Нужно только её научить. Вот и спрашиваю...
Потому что, чтобы научить систему, нужно научиться самому, как её учить...
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край

Re: Знакомство с ситемой

Сообщение zelevova »

AHgpeu писал(а):климат-контроль по дому, управление вентиляцией, светом... остальное только в проекте.
...
Проблема в том, что бы адаптировать имеющееся у меня к готовой системе, которая уже априори в теории умеет всё делать.
Вот собственно было бы корректнее на мой взгляд задать вопрос по конкретному устройству. Какая обвязка используется для света например? Из самого простого. Как сейчас оно управляется. Тогда найдутся те кто помогут эту обвязку завязать на мжд.
Тут как бы есть разделение на связь с аппаратной частью и логику.
Логика это ООП с кодом на php. Но голая логика обычно непонятна. А вот когда берешь конкретную железку, привязываешь ее, вот тогда уже переходишь к логике.
А все и сразу понять вряд ли получиться.

Для себя сделал вывод: Есть входящие/исходящие данные есть понимание.
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Знакомство с ситемой

Сообщение Bagir »

Приветствую новенького!
Что для начала: Во первых надо понять, как работает ООП Системы. Для чего нужны классы, свойства и методы. Три раза прочитать вот это http://smartliving.ru/Main/BasicsObjects :D
Суть в том, что мы можем получать данные от внешних устройств, хранить их в свойствах наших объектов, и обрабатывать их методами. Когда я понял, что это такое, и на сколько это удобно, мне стало жаль потраченного впустую времени на другие системы и пробы чего то слепить самому.
Читать придется очень много. Потом кубик рубик в голове соберется, и все покажется просто. После этого разобраться с каким то новым направлением системы не составит труда.
Если у Вас уже что то из железа есть, то надо попробовать получить в систему данные или чем то поуправлять. Почитайте разжел с железяками http://smartliving.ru/forum/viewforum.php?f=14 Может быть найдется что то из этого. А вообще не сложно даже пылесос прикрутить, лишь бы у него интерфейс был )
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
AHgpeu
Сообщения: 117
Зарегистрирован: Чт мар 12, 2015 11:46 am

Re: Знакомство с ситемой

Сообщение AHgpeu »

внимание, многафукаф)
Bagir писал(а):Что для начала: Во первых надо понять, как работает ООП Системы. Для чего нужны классы, свойства и методы. Три раза прочитать вот это http://smartliving.ru/Main/BasicsObjects :D
Суть в том, что мы можем получать данные от внешних устройств, хранить их в свойствах наших объектов, и обрабатывать их методами.
я программист, про ООП знаю не по наслышке. Мне бы эти знания применительно к интерфейсу этой системы

С удовольствием бы начал по шагам...
И шаг 1й =-)
zelevova писал(а):Какая обвязка используется для света например? Из самого простого. Как сейчас оно управляется. Тогда найдутся те кто помогут эту обвязку завязать на мжд.
Тут как бы есть разделение на связь с аппаратной частью и логику.
Логика это ООП с кодом на php. Но голая логика обычно непонятна. А вот когда берешь конкретную железку, привязываешь ее, вот тогда уже переходишь к логике.
А все и сразу понять вряд ли получиться.
Вся (скажем так, бОльшая часть) автоматика на сегодня реализована на контроллерах MegaD-328 (система их вроде как поддерживает) со самоизобретёнными исполнительными модулями.

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

Дано: 3 этажа, в среднем по 6 помещений/этаж. в каждом помещении независимое регулирование электрическими кранами батарей / тёплых полов.
в каждом помещении стоят датчики ds18b20 (кстати, они в системе появились даже без танцев. прописал настройки в конфиге и готово. вот это я и имел вииду, что систему нужно просто научить... но для этого нужно научиться учить)
в каждом помещении датчики открытия окон/дверей
сейчас у меня (в самописном движке, который без интерфейса) для каждого помещения 2 режима времени (кто-то спать уходит в 3 ночи, кто-то встаёт в 5) и 4 режима температуры: день/ночь/никого дома/открыта дверь-окно

Теперь мои размышлизмы, начну с малого:
нужно в объектах создать зоны (1 этаж, 2й, цокольный, парковка, участок), внутри них создать непосредственно помещения.
помещения нашёл (вроде как) - это Панель управления-объекты-Rooms. А где создавать то, что я обозвал зоны?
Или они создаются там же, только привязывать нужно по иерархии? Вот этого не понял, если честно.

И ещё: если я удаляю какие-то объекты, всё связанное с этим объектом, но более нигде не используемое умирает? Или висит в системе мусором?
Существует ли список свойств объектов и методов, уже реализованных и их описание?..

Далее создаю "свойства"... и опять же упираюсь в незнание системы. время старта дня и ночи для каждого помещения ещё ладно. думаю реально. а дальше нужно создать "двери" и "окна".
это отдельные объекты? или всё же свойства помещений? как привязывать датчики температуры к своим комнатам? опять же, чисто интерфейсно?

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

В заключении создаю методы. управляю непосредственно температурой. ИМХО это самое простое =-) для программиста. пока до этого доберусь, думаю, уже разберусь, что, куда и как.

Ещё раз простите за нубские вопросы и ещё раз спасибо всем откликнувшимся!
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Знакомство с ситемой

Сообщение Bagir »

Вопросы нормальные. Понятно что пока каша в голове ))
ПО поводу удаления. Я привык уже перед этим отвязывать линки. Мне так спокойнее.
В системе "Из коробки" Классы и методы созданы для примера. Списка я нигде не встречал, да и не нужен он. ООП мир без ограничений. За это мне система и нравится. Я уже не раз переделывал у себя все с нуля. В итоге пришел именно к той конструкции, которую задумал Автор проекта. Просто сразу я не сумел разобраться в тонкостях, и пытался прикручивать что то свое. А оно и так все уже красиво было.
Самое главное - правильно задумать свою ООП. Чтобы не было каши из горы разных объектов и классов, запиханных друг в друга пачками, что потом и концов не найдешь. Но тут опять же, в силу свободы ООП, все остальные советы, это просто навязывание своего личного мнения, как надо жить правильно ))
Расскажу немного про свое виденье этого момента:
1. классы keySensors и Relays. В них должны находится объекты наших датчиков и реле. Мое правило такое: Есть физическое реле, значит в МД есть объект этого реле. Есть датчик, значит есть объект этого датчика. Иногда это "лишний код", но зато все просто и понятно. Легко отлаживать, и не составит труда заменить одно железо другим. Не придется переписывать кучу кода.
В классе keySensors я создал подклассы каждого типа датчиков, о чем совсем не жалею. Надо понимать, что в методах есть общий код (код родительского метода), и есть код в методе конкретного объекта. Это позволяет "вынести за скобки" все общее.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Знакомство с ситемой

Сообщение Bagir »

Дальше, перед рассмотрением режимов работы, надо определиться с комнатами. Класс Rooms. У меня нет в нем подклассов. В нем просто находятся все объекты всех моих комнат. Этого более чем достаточно. В методах этого класса есть очень интересные и удобные штуки. Но об этом в двух словах не скажешь. Я изучал просто на примерах.
OperationalModes - в этом классе как раз есть нужные на данный момент Вам режимы работы. Например NobodyHomeMode никого нет дома и NightMode ночной режим. Конечно всю логику работы писать вам самим. Универсальных алгоритмов не бывает )
На счет МегаД. Добро пожаловать! http://smartliving.ru/forum/viewtopic.php?f=14&t=1832
И еще, раз уж я начал рассказывать про свой мирок, то заходите в гости суда http://connect.smartliving.ru/profile/220
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1615
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич

Re: Знакомство с ситемой

Сообщение Bagir »

Отдельное внимание заслушивает механизм передачи свойства от объекта датчика к объекту слинкованной комнате. У объектов класса keySensors это свойство LinkedRoom. В нем мы указывает имя объекта комнаты. А вся магия творится в методе statusChanged
Вкратце это звучит так: Приходящие данные объекта датчика вызывают его метод statusChanged. Данные обрабатываются в этом методе передаются слинкованной комнате. В итоге у объекта комнаты накапливаются разные данные различных типов датчиков. То есть , объект комнаты знает довольно много, и его методы могут реагировать на различные события. Например кто то пришел в комнату, и если темно, то надо включить свет.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
savenko_egor
Сообщения: 705
Зарегистрирован: Вс авг 03, 2014 8:17 pm
Откуда: Украина, Запорожье
Контактная информация:

Re: Знакомство с ситемой

Сообщение savenko_egor »

Лично я бы советовал:
FAQ
Подключение и настройка оборудования
Азбука
Сценарии
Библиотека кода и решений
Основные модули системы - Эта ссылка повторяет то, что хотел бы сказать. В панели управления, почти для каждого модуля есть строка "Описание модуля". Мне очень помогало в некоторых моментах.
CONNECT - Пошерстить по юзерам. Есть большое количество готовых, полезных примеров. От себя посоветовал бы: SergeJey и BlackWarrior


А всё что не понятно, всё на форум :D Людей много, думаю поможем.
Ответить