MySensor счётчики импульсов
Добавлено: Пт июн 19, 2015 3:00 pm
Собираем датчик
Электроэнергия - http://www.mysensors.org/build/pulse_power
Вода - http://www.mysensors.org/build/pulse_water
Газовый счётчик по типу водного. подключил обычный геркон
Датчик работает следующим образом
- При подаче питания он проверяет есть ли у него адрес в флэшь памяти. Если нет запрашивает новый адреу с GateWay и сохраняет во флэшь.
- Посылает объявление о типе датчика и версии GateWay (нас это не касается, потому что GateWay под MQTT игнорирует эту информацию)
- Далее датчик делает запрос через GateWay у система о предыдущих показаниях (Если произошёл перезапуск датчика он запросит последние данные)
- Переходит в циклический режим считывания
- Уходит в сон (Пониженное потребление) если работает от батареек. Конфигурируется при прошивке
- Если сработает импульс на сигнальной ноге (Прерывание). Датчик просыпается и добавляет к переменной импульсов 1. Если прошло заданное количество импульсов или время данные отправляются системе через GateWay
Чтобы запустился в системе MajorDomo наш датчик нам нужно сделать следующие действия
1. Создать класс mysensor
2. Создаем класс счётчики
3. Создаём объект например WaterCounter
4. Далее заполняем его свойства
5. Создаем ссылку запроса предыдущих данных в MQTT

6. Включаем датчик. У нас должно появится в MQTT переменная \1\V_VAR2 со значением REQ
Линкуем её к свойству объекта REQ
7. Выключаем и включаем датчик. После этого он должен заработать. И прислать данные о батарейки температуре и импульсах
Всё датчик теперь будет присылать данные
Вся загвоздка заключается в том что MySensor в MajorDomo не предусмотренны (пока). И приходится делать ответы на запросы датчиков по средством скриптов.
Из-за этого пришлось переработать скетчь для датчиков.
Переработанные скетч прилогаю
Также в классах счётчиков предусмотрен подсчёт количества и потока и начального значения. Чтобы не перешивать датчик.
Для этого в свойствах объекта нужно указать коэффициент расхода на 1 тик и начальное значение счётчика. Начальное значение счётчика нужно чтобы исправлять показания не пере запуская датчик (Если он в трудно доступном месте)
Электроэнергия - http://www.mysensors.org/build/pulse_power
Вода - http://www.mysensors.org/build/pulse_water
Газовый счётчик по типу водного. подключил обычный геркон
Датчик работает следующим образом
- При подаче питания он проверяет есть ли у него адрес в флэшь памяти. Если нет запрашивает новый адреу с GateWay и сохраняет во флэшь.
- Посылает объявление о типе датчика и версии GateWay (нас это не касается, потому что GateWay под MQTT игнорирует эту информацию)
- Далее датчик делает запрос через GateWay у система о предыдущих показаниях (Если произошёл перезапуск датчика он запросит последние данные)
- Переходит в циклический режим считывания
- Уходит в сон (Пониженное потребление) если работает от батареек. Конфигурируется при прошивке
- Если сработает импульс на сигнальной ноге (Прерывание). Датчик просыпается и добавляет к переменной импульсов 1. Если прошло заданное количество импульсов или время данные отправляются системе через GateWay
Чтобы запустился в системе MajorDomo наш датчик нам нужно сделать следующие действия
1. Создать класс mysensor
СпойлерПоказать
СпойлерПоказать
4. Далее заполняем его свойства
СпойлерПоказать

СпойлерПоказать


Линкуем её к свойству объекта REQ
СпойлерПоказать

Всё датчик теперь будет присылать данные
Вся загвоздка заключается в том что MySensor в MajorDomo не предусмотренны (пока). И приходится делать ответы на запросы датчиков по средством скриптов.
Из-за этого пришлось переработать скетчь для датчиков.
Переработанные скетч прилогаю
Также в классах счётчиков предусмотрен подсчёт количества и потока и начального значения. Чтобы не перешивать датчик.
Для этого в свойствах объекта нужно указать коэффициент расхода на 1 тик и начальное значение счётчика. Начальное значение счётчика нужно чтобы исправлять показания не пере запуская датчик (Если он в трудно доступном месте)