filippovsky / ioBroker.megadjt

ioBroker.megadjt
MIT License
2 stars 0 forks source link

Logo

ioBroker MegaD-2561 adapter (Version by Filippovsky, based on adapter of ausHaus and BlueFox)

Current version: 0.38.7 ( 27.01.2019 14:01 MSK ) ALFA!!! PLEASE DO NOT INSTALL!!!!!

Текущая версия: 0.38.7 ( 27.01.2019 14:01 MSK ) АЛЬФА!!! НЕ СТАВЬТЕ!!!

ВАЖНО! Перед установкой внимательно прочтите changelog!

После обновления версии - обязательно вручную перезапустите драйвер (в разделе "Настройки драйвера")

!! Для работы функционала прошивки контроллера - необходимо наличие на сервере установленного PHP !!

ВНИМАНИЕ!! Этот драйвер еще не закончен. Для реальной работы его использовать пока нельзя. Можно использовать для целей общего ознакомления.

ATTENTION! THIS DRIVER IS UNDER DEVELOPMENT NOW!! IT CAN NOT BE USED FOR REAL WORK!! USE IT JUST FOR INFORMATION!

NPM version Downloads

NPM

Lets control the MegaD-2561 over ethernet.

!! на данный момент поддерживаются ТОЛЬКО указанные типы портов:

- "не подключен" (NC)

- стандартный вход (IN).

- релейный, симисторный, димируеммый выход

- цифровой вход (ограниченно)

!! Все остальные порты временно распознаются как NC.

!! Это важно: При считывании настроек с Меги и записи настроек обратно - все порты Меги, кроме указанных выше, перейдут НА МЕГЕ в состояние NC !

!! Тестируется на версии прошивки Меги 4.19b9, поэтому настройки, реализованные в более свежих прошивках - не поддерживаются!

Кнопка "Сохранить и выйти" не сохраняет изменения, сделанные в настройках конкретного порта! Она сохраняет общие настройки драйвера (ip-адрес, и т.п.) Для сохранения настроек конкретного порта - используйте кнопку "Сохранить настройки порта".

Важно правильно установить типы используемых исполнительных модулей, т.к. логика драйвера использует эти значения для определения поведения и возможных типов и настроек портов. Порты, выставленные в режим, не поддерживаемый выбранным исполнительным модулем, могут быть автоматически переведены драйвером в тип NC (не подключено). НО могут и не перейти (т.к. пока не везде реализовано) - и поведение драйвера может стать непредсказуемым. После изменения типов исполнительных модулей или пересчитывания настроек из Меги/файла - пока рекомендуется вручную пройти по всем портам и сохранить их. В дальнейшем это будет автоматизировано.

СОЗДАНИЕ НОВОЙ ИНСТАНЦИИ:

  1. В разделе "Драйвера" выберите драйвер "MegaD-2561 JT Adapter" и нажмите "Установить драйвер"
  2. В открывшемся окне выберите номер для создаваемой инстанции и нажмите кнопку "Добавить"
  3. Дождитесь окончания установки новой инстанции. Автоматически откроется окно настроек новой инстанции. Появится сообщение "Enable adpater first". Закройте сообщение кнопкой ОК и выйдите из диалога настроек БЕЗ СОХРАНЕНИЯ, кнопкой "Закрыть"
  4. На экране увидите раздел "Настройки". В нем Вы увидите созданную инстанцию, в состоянии "Неактивно": индикатор инстанции (кружок в крайнем левом столбце - серого цвета, кнопка запуска инстанции окрашена в красный цвет). Нажмите кнопку запуска инстанции. Индикатор инстанции загорится красным, затем желтым, а кнопка запуска - зеленым и превратится в кнопку ПАУЗА.
  5. Подождите минуту. За это время драйвер создаст все необходимые объекты на сервере и присвоит им дефолтные значения.
  6. Перейдите в раздел "Лог". Убедитесь, что там есть сообщение от новой инстанции типа "warn" с текстом "IP is null or 0.0.0.0". Это говорит о том, что создание объектов окончено.
  7. Перейдите в раздел "Настройки", найдите созданную инстанцию и нажмите кнопку "перезагрузить", чтобы драйвер пересчитал настройки. Индикатор инстанции загорится красным, затем желтым. Обратите внимание - инстанция с этого момента будет настроена на IP-адрес по умолчанию (192.168.0.14), поэтому желательно к этому моменту не иметь в сети узла 192.168.0.14, иначе могут возникнуть проблемы.
  8. Нажмите кнопку "Настроить" на созданной инстанции (кнопка с гаечным ключом). Откроется диалог настроек.
  9. Задайте следующие настройки:
    • IP Адрес устройства. По умолчанию 192.168.0.14, его надо заменить на реальный IP-адрес Меги. Если Ваша Мега имеет адрес 192.168.0.14 - лучше его на ней поменять (средствами самой Меги, см. http;//192.168.0.14/sec ), иначе будут проблемы, напрмиер, при обновлениях прошивок. Дело в том, что после прошивки со сбросом энергонезависимой памяти - перепрошитая Мега автоматически получает адрес 192.168.0.14. И если у Вас в сети больше одной Меги и одна из них сидит на адресе 192.168.0.14, а другую Вы начнете прошивать - возникнет конфликт ip-адресов после перепрошивки. При прошивке Меги нашим драйвером - сначала драйвер меняет адрес на Меге на 192.168.0.14, затем прошивает этот адрес, затем возвращает адрес на тот, который был до прошивки. Если у Вас в сети будут другие Меги с адресом 192.168.0.14 - понятно, что это приведет к проблемам во время прошивки драйвером.
    • IP-порт контроллера. По умолчанию 80.
    • IOBroker веб-порт. По умолчанию для инстанции 0 будет порт 91, для инстанции 1 порт 92 и т.п. Если необходимо (например, когда этот порт занят другими сервисами) - можете задать свое значение.
    • MegaD пароль. По умолчанию sec. Надо указать пароль Меги, которая будет соответствовать этой инстанции.
    • Интервал опроса = 60 секунд. Если укажете 0 - то опрос Меги драйвером выполняться не будет. В этом случае Вам надо будет обновлять значения на сервере либо самостоятельными скриптами, либо настроить автоматическую передачу параметров с Меги 1 раз в минуту (см. ниже)
    • IP-адрес шлюза. Если сервер находится в той же сети, что и Мега - то введите 255.255.255.255
    • IP-адрес сервера IOBroker. Сюда введите адрес сервера, на который должна будет обращаться Мега. Это значение будет передано позже на Мегу.
    • Скрипт сервера. Например, для инстанции 0 - это будет /0, для инстанции 1 - /1 и т.п.
    • Тип сервера IOBroker. Выберите "HTTP". Другие режимы пока не реализованы.
    • Порт WatchDog. Выберите "Не выбран". Его при необходимости настроите позже, после настроек всех портов.
    • "Передавать данные с Меги 1 раз в минуту". Если поставите галочку - на Меге будет включен режим srv-loop и Мега сама будет автоматически слать на адрес сервера значения всех портов 1 раз в минуту.
    • XP1. Укажите тип исполнительного модуля, подключенного к разъему Меги XP1.
    • XP2. Укажите тип исполнительного модуля, подключенного к разъему Меги XP2. Если к разъему XP1 или XP2 не подключен исполнительный модуль - выберите в соответствующем поле "Не подключено".
  10. Сохраните настройки на сервер, кнопкой "Сохранить и выйти" в нижней части экрана настроек.
  11. Дождитесь, пока индикатор инстанции (кружочек) загорится зеленым. Снова зайдите в настройки инстанции (кнопка с гаечным ключом)
  12. Нажмите кнопку "Считать ВСЕ настройки с Меги". В появившемся окне подтвердите считывание кнопкой "Да". Дождитесь окончания считывания - появления сообщения "Настройки портов считаны с Меги". Нажмите ОК.
  13. Проверьте настройки Меги, которые вводились в пункте 9. 13.1 При необходимости поправьте их, для чего: 13.1.1 введите новые значения 13.1.2 сохраните настройки на сервер кнопкой "Сохранить и выйти". 13.1.3 снова зайдите в настройки инстанции (кнопка с гаечным ключом) 13.1.4 передайте новые настройки на Мегу кнопкой "Сохранить настройки в Мегу". По этой кнопке передаются только настройки самой Меги, без настроек конкретных портов. 13.1.5 в открывшемся окне подтверждения записи в Мегу нажмите "Да". 13.1.6 Дождитесь сообщения "Настройки переданы в Мегу". Нажмите ОК.
  14. Сохраните настройки на сервер (кнопка "Сохранить" внизу окна настроек инстанции).
  15. Пройдитесь по всем портам Меги (порт можно выбрать, щелкнув на его индикатор на картинке исполнтельного модуля). При необходимости поправьте настройки. Как минимум - у порта, как правило, надо будет указать комнату и функцию) Если настройка порта поменялась - сохраните новую настройку кнопкой "Сохранить настройки порта". Эта кнопка сохраняет только настройки для данного порта, при этом сохранение делается на сервер и сразу же передается на Мегу.
  16. Если хотите использовать историю значений порта - это можно сделать в разделе "Объекты". Например, нас интересует хранение истории порта 27 инстанции 0.
    • Нажимаем в админ-интерфейсе "Категории"
    • в дереве находим megadjt.0, раскрываем его щелчком на стрелочке слева от названия
    • открываем ветку ports
    • находим ветку 27, открываем
    • среди настроек порта находим интересующий нас параметр. Обычно это "currentState". но может быть и "counter", если нам нужна история изменений счетчика порта. Если к порту подключен например, датчик температуры, то нас будет интересовать параметр "temperature", т.к. в нем будет лежать значение температуры, например, "6.93" распарсенное из currentState=temp:6.93
    • в ветке с параметром есть кнопка с гаечным ключом (крайняя справа). нажмите ее и задайте настройки хранения истории для данного параметра

English

по русски

Install

node iobroker.js add megadjt

Information

The device has 36 ports, inputs/outputs and DHT11/DHT22, I2C bus, DS18B20 in ports and 1WBUS. To read the state of the port call http://mega_ip/sec/?pt=4&cmd=get , where sec is password (max 3 chars), 4 is port number The result will come as "ON", "OFF" or analog value for analog ports

To set the state call: http://megad_ip/sec/?cmd=2:1 , where sec is password (max 3 chars), 2 is port number, and 1 is the value For digital ports only 0, 1 and 2 (toggle) are allowed, for analog ports the values from 0 to 255 are allowed

The device can report the changes of ports to some web server in form http://ioBroker:80/?pt=6 , where 6 is the port number


Русский

Подробную документацию по контроллеру можно найти здесь: http://www.ab-log.ru/smart-house/ethernet/MegaD-2561

Отправка SMS

Отправка SMS возможна двумя способами - средствами самой Меги (нужен GSM-модем, функционал обеспечивается прошивкой) и средствами нашего драйвера (отправка происходит через интернет, GSM-модем не нужен, функционал обеспечивается драйвером). Подробности см. ниже

Отправка SMS средствами драйвера

Настройки для отправки средствами драйвера - делаются кнопкой "SMS Setup" в настройках драйвера. Сохраните текст SMS в переменную megadjt.0.sms.text с признаком ack:false Драйвер автоматически отправит SMS, результат отправки будет помещен в лог. Перед использованием этого функционала в настройках драйвера должны быть заполнены SMS API KEY и номера телефонов, на которые надо отправить SMS. Номера вводятся в формате 79031234567 через запятую. Для отправки SMS в настройках драйвера надо включить галочку "Включить отправку SMS". Отправка SMS делается через интернет, не требуется GSM-модем.

Отправка SMS средствами Меги

Отправка делается через GSM-Модем, подключенный к Меге. Возможность отправки включается галочкой "Отправка SMS средствами Меги" в настройках драйвера. Отправка делается на номер, указанный в поле "Номер телефона для отправки SMS средствами Меги". Поле "Таймаут отправки SMS средствами Меги": Можно указать время в секундах (от 1 до 254), в течение которого не отправлять SMS о срабатывании входов. Например, если установить значение 5 - это означает, что в течение 5 секунд все события, которые будут происходить с любыми входами, будут проигнорированы с точки зрения отправки SMS оповещений (но не с точки зрения выполнения сценариев и прочего).

Обработка событий от стандартных входных портов (кнопок)

Добавлена поддержка однократных, двойных и длительных нажатий (информация о типе нажатия берется от Меги) у стандартных входов. Для этих событий есть свойства (boolean state) у порта:

Вот пример скрипта, которым можно отлавливать короткие нажатия на порту 0 Меги номер 0 (подразумевается, что порт сконфигурирован как стандартный вход в режиме "только нажатия":

on({id:'megadjt.0.ports.0.shortClick', change: "any"}, function (obj) { log('Нажата кнопка СВЕТ ХОЛЛ'); });

Важно не забывать указывать change: "any", т.к. по умолчанию скрипт вызывается только если новое значение state отличается от предыдущего, а для свойства shortClick значение меняться не будет.

Changelog

0.38.7 (2019-01-27)

0.38.6 (2019-01-27)

0.38.5 (2018-12-09)

0.38.4 (2018-12-03)

0.38.3 (2018-11-25)

0.38.2 (2018-11-11)

0.38.1 (2018-11-11)

0.37.0 (2018-11-11)

0.36.3 (2018-11-11)

0.36.1 (2018-11-11)

0.35.5 (2018-11-04)

0.35.0 (2018-11-04)

0.34.14 (2018-11-04)

0.33.3 (2018-11-03)

0.32.0 (2018-10-31)

0.31.1 (2018-10-30)

0.30.0 (2018-10-30)

0.29.7 (2018-10-29)

0.28.35 (2018-10-26)

0.28.4 (2018-10-20)

0.28.2 (2018-10-19)

0.27.43 (2018-10-19)

0.27.42 (2018-10-19)

0.26.16 (2018-10-11)

0.25.0 (2018-10-09)

0.24.97 (2018-10-09)

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

0.24.41 (2018-09-30)

0.24.34 (2018-09-30)

0.24.33 (2018-09-30)

0.24.32 (2018-09-29)

0.23.49 (2018-09-24)

0.22.13 (2018-09-13)

Вот пример скрипта, которым можно отлавливать короткие нажатия на порту 0 Меги номер 0 (подразумевается, что порт сконфигурирован как стандартный вход в режиме "только нажатия":

on({id:'megadjt.0.ports.0.shortClick', change: "any"}, function (obj) { log('Нажата кнопка СВЕТ ХОЛЛ'); });

Важно не забывать указывать change: "any", т.к. по умолчанию скрипт вызывается только если новое значение state отличается от предыдущего, а для свойства shortClick значение меняться не будет.

Также добавлено обновление счетчика стандартного входа, если пришла соответствующая команда от Меги

0.21.10 (2018-09-06)

0.21.0 (2018-09-04)

0.20.20 (2018-08-30)

0.20.8 (2018-07-24)

0.19.51 (2018-07-22)

0.19.0 (2018-03-24)

0.18.18 (2018-03-22)

0.18.10 (2018-03-18)

0.18.9 (2018-03-18)

0.18.0 (2018-03-17)

0.17.6 (2018-03-17)

0.17.5 (2017-12-23)

0.17.4 (2017-12-05)

0.17.0 (2017-12-01)

0.16.33 (2017-11-26)

0.16.29 (2017-11-25)

!! Тестируется на версии прошивки Меги 4.14b8, поэтому настройки, реализованные в более свежих прошивках - не поддерживаются!

0.14.0 (2017-11-12)

0.12.0 (2017-10-14)

0.8.0 (2017-09-07)

0.7.19 (2017-08-27)

0.7.18 (2017-08-17)

0.5.2 (2017-03-28)

0.5.0 (2017-03-27)

0.4.2 (2017-03-23)

0.4.1 (2017-03-23)

0.3.35 (2017-03-19)

0.3.15 (2017-03-19)

0.3.10 (2017-03-19)

0.3.0 (2017-03-18)

0.2.30 (2017-03-14)

0.2.0 (2017-03-08)

0.1.49 (2017-03-08)

0.1.48 (2017-03-08)

0.1.35 (2017-02-26)

0.1.34 (2017-02-26)

0.1.8 (2017-02-18) - 0.1.33 (2017-02-25)

0.1.4 (2017-02-17)

0.1.3 (2017-01-07)

0.1.2 (2016-11-23)

0.1.0 (2016-11-01)