Электроэнергия - 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 тик и начальное значение счётчика. Начальное значение счётчика нужно чтобы исправлять показания не пере запуская датчик (Если он в трудно доступном месте)