Азбука, что дальше...

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

Модератор: immortal

Ответить
iouri
Сообщения: 6
Зарегистрирован: Пн мар 14, 2016 3:07 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Азбука, что дальше...

Сообщение iouri » Пт мар 18, 2016 9:38 am

Друзья! Спасибо всем кто участвует в проекте.
У меня, как у новичка, возникли вопросы. В моей квартире имеется система управления силовыми реле, через которые организована система управления освещением и другими силовыми модулями в доме. Сейчас к этой системе прикручена еще и ардуинка, которая снимает показания по климатике в комнатах. Все это управляется собственной системой со своей бд и веб интерфейсом.
Далее я установил Majordomo. И настроил элементы управления в соответствии с рекомендациями в разделе Азбука (спасибо за это руководство, крайне полезно для начинающих). Т.е. сейчас созданы объекты (группы освещения: люстры, точечный свет, ночники, ...), подготовлена сцена с элементами управления и создана структура выключателей в "Меню управления". Настроены связи между объектами.
И далее у меня вопрос, как теперь это связать с силовыми блоками? Блоками можно управлять вызовом php функций или непосредственным внесением изменений в БД. Правильно ли я понимаю, что код управления (включения/выключения силового реле) необходимо вписывать в код методов turnOn/Off соответствующих экземпляров объектов? Или я ошибаюсь. Подскажите!
Схема (без majordomo): Изображение
http://iouri.tsimbalenko.ru/wp/comforta ... se-scheme/
Jager
Сообщения: 708
Зарегистрирован: Сб авг 18, 2012 10:21 am
Благодарил (а): 26 раз
Поблагодарили: 183 раза

Re: Азбука, что дальше...

Сообщение Jager » Пт мар 18, 2016 10:36 am

iouri писал(а):Правильно ли я понимаю, что код управления (включения/выключения силового реле) необходимо вписывать в код методов turnOn/Off соответствующих экземпляров объектов? Или я ошибаюсь. Подскажите!
Да, правильно. В мдм по умолчанию есть класс Relays, в методы turnOn и TurnOff соответствующих объектов пропишите ваши команды управления. После этого сможете управлять как напрямую вызывая эти методы так и через метод switch.
iouri
Сообщения: 6
Зарегистрирован: Пн мар 14, 2016 3:07 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Азбука, что дальше...

Сообщение iouri » Пт мар 18, 2016 10:33 pm

Спасибо за консультацию.
Тогда следующий вопрос. Силовые модули управляются через БД. Т.е. чтобы включить или выключить реле, мне необходимо вызвать функцию SQL, чтобы получить статус - выполнить select. Делать connect к mysql следует при каждом вызове turnOn/Off или я могу где-то авторизоваться (главный вопрос - где), а потом используя открытый сокет обращаться к базе?
Аватара пользователя
lanket
Сообщения: 1168
Зарегистрирован: Вт окт 14, 2014 11:27 pm
Откуда: Санкт-Петербург
Благодарил (а): 260 раз
Поблагодарили: 163 раза

Re: Азбука, что дальше...

Сообщение lanket » Сб мар 19, 2016 11:31 am

iouri писал(а):Спасибо за консультацию.
Тогда следующий вопрос. Силовые модули управляются через БД. Т.е. чтобы включить или выключить реле, мне необходимо вызвать функцию SQL, чтобы получить статус - выполнить select. Делать connect к mysql следует при каждом вызове turnOn/Off или я могу где-то авторизоваться (главный вопрос - где), а потом используя открытый сокет обращаться к базе?
Вы немного глубже смотрите чем надо.
В Мдм скуль вообще не надо трогать.
Вы просто запускаете методы turn on/Off или switch и они сами все делают.
Если св-ва объекта status связанны с млдулем-шлюзом общения с жедезом.
Вопрос как мдм взаимодействует с Вашим "нестандаиизированном в мдм" железом.
Если в вашем ПО, которое управляло реле, есть api то в св-ве status ставите галочку "запускать метод" прописываете метод обработки нового значения написанный отдкльгюно для вашего железа и, что то типа драйвера получиться, а в этом методе уже обращаетесь к API своего ПО имея уже данные об измененном состоянии.

Отправлено с моего HM NOTE 1LTEW через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
:arrow: Обсужение
:arrow: gitHub 2й версии терминала
:arrow: GitHub модуля для МД
gitHub сырого модуля 2й версии
:arrow: Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Азбука, что дальше...

Сообщение olehs » Сб мар 19, 2016 11:47 am

lanket писал(а): Вы немного глубже смотрите чем надо.
В Мдм скуль вообще не надо трогать.
Вы просто запускаете методы turn on/Off или switch и они сами все делают.
Если св-ва объекта status связанны с млдулем-шлюзом общения с жедезом.
Вопрос как мдм взаимодействует с Вашим "нестандаиизированном в мдм" железом.
Если в вашем ПО, которое управляло реле, есть api то в св-ве status ставите галочку "запускать метод" прописываете метод обработки нового значения написанный отдкльгюно для вашего железа и, что то типа драйвера получиться, а в этом методе уже обращаетесь к API своего ПО имея уже данные об измененном состоянии.
Если я правильно понял, управление как раз и происходит через вызовы хранимок в сторонней БД.
iouri писал(а):Спасибо за консультацию.
Тогда следующий вопрос. Силовые модули управляются через БД. Т.е. чтобы включить или выключить реле, мне необходимо вызвать функцию SQL, чтобы получить статус - выполнить select. Делать connect к mysql следует при каждом вызове turnOn/Off или я могу где-то авторизоваться (главный вопрос - где), а потом используя открытый сокет обращаться к базе?
Попробуйте для начала подключение при каждом ВКЛ/ВЫКЛ. Не думаю, что это будет накладно.
Если же не устроит, думаю стоит поднять сервер с промежуточным API, который бы держал коннект на базу, а из вне слушал по TCP.
iouri
Сообщения: 6
Зарегистрирован: Пн мар 14, 2016 3:07 pm
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Азбука, что дальше...

Сообщение iouri » Сб мар 19, 2016 1:33 pm

olehs писал(а):
lanket писал(а): Вы немного глубже смотрите чем надо.
В Мдм скуль вообще не надо трогать.
Вы просто запускаете методы turn on/Off или switch и они сами все делают.
Если св-ва объекта status связанны с млдулем-шлюзом общения с жедезом.
Вопрос как мдм взаимодействует с Вашим "нестандаиизированном в мдм" железом.
Если в вашем ПО, которое управляло реле, есть api то в св-ве status ставите галочку "запускать метод" прописываете метод обработки нового значения написанный отдкльгюно для вашего железа и, что то типа драйвера получиться, а в этом методе уже обращаетесь к API своего ПО имея уже данные об измененном состоянии.
Если я правильно понял, управление как раз и происходит через вызовы хранимок в сторонней БД.
iouri писал(а):Спасибо за консультацию.
Тогда следующий вопрос. Силовые модули управляются через БД. Т.е. чтобы включить или выключить реле, мне необходимо вызвать функцию SQL, чтобы получить статус - выполнить select. Делать connect к mysql следует при каждом вызове turnOn/Off или я могу где-то авторизоваться (главный вопрос - где), а потом используя открытый сокет обращаться к базе?
Попробуйте для начала подключение при каждом ВКЛ/ВЫКЛ. Не думаю, что это будет накладно.
Если же не устроит, думаю стоит поднять сервер с промежуточным API, который бы держал коннект на базу, а из вне слушал по TCP.
Да, управление через вызовы процедур в сторонней БД.
Ок, попробую коннектиться при каждом вызове.
Ответить